The following video walks through the customer journey:
The steps involves in the customer journey are:
- User logs in to the merchant’s app/website.
- User chooses the product(s)/service(s) he/she wishes to purchase.
- User reaches the checkout page. The merchant can use the Fetch offers API to display all the live applicable offers for this transaction. As part of this API the merchant would get all the necessary information to display to the user regarding the offer include Offer Title, description, terms and conditions, applicable payment modes & the offer value.
- User would make his/her decision and pay through a specific payment option. After the customer has entered all the required details, the merchant can use the Validate Offer API to check whether the offer would be applied to the transaction or not.
- The merchant would initiate the payment along with the offer using the _payment API
- In case of Instant discount, the amount would be reduced on application of offer, in case of cashback the amount would not be charged.
- User would complete the 2FA (2 Form Authentication) payment on the adjusted amount.
- User would be redirected back to the merchant app/website.
The merchant can use the Fetch offers API to display the offers on Product Display Page & Cart screens or in case merchant wishes to have a separate Offers section on their website/app
To integrate offers using Merchant Hosted Checkout integration:
For the Merchant Hosted Checkout workflow, refer Merchant Hosted Checkout
- On the checkout page (or earlier on PDP, Cart, Offers) use the Fetch Offers API to get the offers and display all the offers. For more information, refer to .
- Use the Validate Offer API to validate if the offer will be applied on this transaction or not. For more information, refer to Validate Offer API.
- Make the payment request using the _payment API using the following additional parameters for Offers. For more information on the complete list of parameters to be posted, refer to Collect Payment API - Merchant Hosted Checkout
|The API version of the _payment API must be specified as 14.||14|
mandatory for UPI, NB, Wallet
|The use for this param is to allow the offer engine to apply velocity rules at a user level.|
- Card Based Offers (CC, DC, EMI): In case of card payment mode offers, if this parameter is passed the velocity rules would be applied on this token, if not passed the same would be applied on the card number.
- UPI, NB, Wallet: It is mandatory for UPI, NB, and Wallet payment modes. If not passed the validation rules would not apply.
|It is used to avoid the possibility of transaction tampering.|
Note: The following order must be used for hashing:
For more information on hash generation process, refer to Generate Hash .
- The following order must be used for hashing:
For more information on hash generation process, refer to Hashing Request and Response.
- If any of the keys is null/not configured, "|" character must be concatenated.
- The above hash logic is for _payment API version 10 or later
- Check the following response parameters (for Offers) from PayU to handle the payment response, as the net amount debit may be different from the amount sent by you in the request.
|discount||This will specify the offer value provided to the user.||10.00|
|net_amount_debit||This will specify the actual amount deducted from the customer’s payment instrument. In case of Instant discount this amount would be lesser than the amount passed by you in the request.||100.00|
|offer||This parameter is used to post the offer key.||newoffer1@5686|
|offer_type||This parameter is used to post any of the following offer_type:|
For a sample response, refer to the Additional Info for Payment APIs.
- Verify the payment.
Similar to the payment response, same params can be handled as part of the Verify Payment API. For more information on Verify Payment API, refer to Verify Payment API.
|transaction_amount||This parameter contains the total transaction amount before discount.||50000.00|
|net_amount_debit||This parameter contains the actual amount deducted from the customer’s payment instrument. In case of Instant discount this amount would be lesser than the amount passed by you in the request.||47500.00|
|discount||This parameter contains the offer value provided to the user. This value will specify the offer amount for both Instant discount and Cashback offers.||2500.00|
PayU would refund the exact amount passed by you in the Refund request. For more information, refer to Refunds for Offers
You can enable the Enforce Offer flag by requesting your PayU Key Account Manager. If you enable the Enforce Offer flag, the best offer out of the all the offers passed will be applied for the customer.
Updated 13 days ago