Skip to main content

How to Apply Discounts on Certain Cards?

Warning

This parameter ONLY working with those integration types (Hosted Payment Page, Invoices(Payment Endpoint)).

The Card Discounts feature/parameter enables merchants to provide tailored discounts to their customers based on specific card BIN ranges. This feature is designed to enhance customer loyalty and engagement by allowing merchants to offer discounts either as a fixed amount or a percentage off the total purchase.

By utilizing this feature, merchants can strategically target specific customer segments, rewarding them for their loyalty or encouraging new purchases. This flexibility allows for various promotional strategies, such as seasonal offers, loyalty rewards, or targeted marketing campaigns.

Next, we can delve into the specifics of how to implement the card_discounts parameter in your requests.


How this parameter could benefit you?​

Here are some scenarios to help you understand when to use the Card Discounts feature:

  • Loyalty Programs: A merchant wants to reward loyal customers who frequently use specific card BIN range. By applying discounts to these BIN ranges, they can enhance customer retention and encourage repeat purchases.

  • Promotional Campaigns: During a special promotion, a merchant can offer discounts to customers using cards within a certain BIN range. This can help target specific customer segments and drive sales during the campaign.

  • Seasonal Offers: For holidays or special events, merchants can create temporary discounts for certain card BIN ranges. This allows them to attract more customers during peak shopping times.

  • Customer Segmentation: If a merchant identifies a group of customers who typically spend more, they can apply discounts to their card BIN ranges to incentivize even higher spending.

  • New Customer Acquisition: To encourage new customers to try their services, merchants can apply discounts to specific card BIN ranges that are associated with new customer sign-ups.

  • New Bank Partnerships: If a merchant establishes a new contract with a specific bank, they can apply card discounts to transactions made with cards that fall within that bank’s BIN ranges. This allows merchants to incentivize customers who use cards from that bank, potentially driving more business through targeted promotions and strengthening the partnership


Limitations​


  • Uncertainty of Card Usage: you cannot guarantee that customers will use cards from the specified BIN ranges. Even if multiple BIN ranges are added, there’s no assurance that they will cover all potential customers.

  • Incompatibility with Donation Mode: The Card Discounts feature does not function in conjunction with the Donation Mode. In this mode, customers can enter their own donation amounts, which means discounts cannot be applied.

  • Limited Control Over Customer Behavior: Merchants have limited control over which cards customers choose to use, making it challenging to predict the effectiveness of the discount strategy.


How to Use?​

In order for you to start use the card_discounts feature, you kindly need to follow the below simple steps:

  • Within the initiation of the request payload of the payment page/link in Step 3 via any of the supported integration types by this feature, you will use the optional parameter card_discounts within the main request payload itself as shown below:

    {

    "card_discounts":[
    {
    "discount_cards":"41111,520000",
    "discount_amount": "30.00",
    "discount_title": "30.00 SAR discount on cards starts with 41111, 520000"
    },
    {
    .....
    }
    ]
    }

  • Once you post your request, you will receive a response that includes redirect URL like the following:

    "redirect_url": "https://secure.paytabs.com/payment/page/599458B182E5B6B********************B4818688",

  • Finally you will need navigate/redirect your customer to the the previous mentioned link as this is crucial for your customer to proceed through the payment process. You may need to check his customer experience after in the coming Expected Payment Flow Behavior.


Parameter Specifications​

  • card_discounts

    Parametercard_discounts
    Data TypeArray
    Description
    To provide discounts for specific customers. To know more about this parameter please click here.
    Required❌
    Sample
    {
    "card_discounts":[
    {
    "discount_cards":"41111,520000",
    "discount_amount": "30.00",
    "discount_title": "30.00 SAR discount on cards starts with 41111, 520000"
    },
    {
    .....
    }
    }
    Object Nested Parameters
    Parameter
    Data Type
    Required
    Min
    Max
    discount_cards
    STRING
    ❌
    -
    -
    Provide a comma-separated list of card prefixes (usually first 6, can be up to first 11)
    To know more about this parameter please click here.
    discount_amount
    DECIMAL
    ❌
    0.01
    9999999999.99
    The actual discount should be deducted from the cart_amount.
    To know more about this parameter please click here.
    discount_title
    STRING
    ❌
    -
    -
    Description of the discount that will be displayed for the customer on the hosted payment page.
    To know more about this parameter please click here.

Request & Response Payloads Samples​

The below sample request payload will show you how you can pass the above-mentioned required parameter/s, which are needed to be passed with valid values to perform a request. Along with the response payload received after using this request payload.

{
"profile_id": {{profile_id}},
"tran_type": "sale",
"tran_class": "ecom",
"cart_description": "Description of the items/services",
"cart_id": "Unique order reference00",
"cart_amount": 25000.2,
"cart_currency": "SAR",

"card_discounts":[
{
"discount_cards":"41111,520000",
"discount_amount": "30.00",
"discount_title": "30.00 SAR discount on cards starts with 41111, 520000"
}
]
}


Expected Payment Flow Behavior​

  1. As mentioned above in the How to use? section, As a merchant you would initiate a payment request per the above Specifications, same as the sample codes mentioned in the samples section above.

    be aware of
    you cannot pass card_amount and card_percentage parameters together inside the card_discount object, only one of them will be applied, I added it in the How To Use section for showing all the fields

  2. Then, you will receive a response that includes redirect URL. This means you have initiated a correct payment request/page successfully.

    "redirect_url": "https://secure.paytabs.com/payment/page/599458B182E5B6B********************B4818688",

  3. Next, you should redirect your customer to this URL so the payment process can be finalized.

  4. After this, your customer would proceed normally with payment by providing his card information, and he will be able to see both the original and the alternative currency as shown below:

    Alt text

  5. Then, he will be redirected to his issuer bank 3DS/OTP page to authenticate the used card

  6. Finally, he would be redirect to a success/error page accordingly. By this time, you will be able to see his transaction on your merchant dashboard, whether it's accepted/authorized or not.

    transaction view

    transaction view