PayU Citrus (India)
API Version
Minimum required API version: 1.1.0
Supported Payment Methods
The following table lists all supported payment methods.
Payment Method | Payment Method Type |
---|---|
American Express | Cards |
DINERS | Cards |
JCB | Cards |
MASTERCARD | Cards |
Netbanking | Bank Transfer |
RUPAY | Cards |
UPI | Bank Transfer |
VISA | Cards |
Supported Currencies
INR
Features
The following table provides an overview of all supported and non-supported features.
Feature | Supported |
---|---|
3DS 2.0 External | No |
3DS 2.0 PaymentsOS-handled | No |
3DS 2.0 Provider-handled | No |
3DS 2.0 Self-handled | No |
Installments | No |
Level 2 and 3 Data | No |
Multi-seller Payments | No |
Network Tokens | No |
Payment Facilitator | No |
PayU Risk | No |
Pre-authorization | No |
Retrieve Supported Payment Methods | No |
Retrieve Supported Plans | No |
Statement Soft Descriptor | No |
Stored Credentials Flag | No |
Transaction Processing without CVV | No |
Supported Requests
The following table lists all supported requests. Use the bodybuilder to create a sample request body for each request type.
Request | Partial/Multiple | Mode | Notes |
---|---|---|---|
Charge | Not Applicable | Asynchronous | The Indian Central Bank has a requirement that every POST Charge request must be accompanied by a customer authentication session. Therefore, after sending a POST Charge request, you'll need to redirect your customer to the customer's bank authentication site. For more information, see Redirecting your Customer for Authentication below |
Refund | Both partial and multiple are supported | Synchronous |
Request | Partial/Multiple | Mode | Notes |
---|---|---|---|
Charge | Not Applicable | Asynchronous | The Indian Central Bank has a requirement that every POST Charge request must be accompanied by a customer authentication session. Therefore, after sending a POST Charge request, you'll need to redirect your customer to the customer's bank authentication site. For more information, see Redirecting your Customer for Authentication below |
Refund | Both partial and multiple are supported | Synchronous |
Configuration
The following table lists the configurations that are specific to this integration.
Configuration | Required/Optional |
---|---|
In the PaymentsOS Control Center, configure the following credentials:
| Required |
In the PaymentsOS Control Center, create webhooks to be notified when a transaction changes its status. | Required |
In your PayU Citrus (India) account, enable the Netbanking bank transfer payment method and load the Netbanking banks into your account, according to your contract with PayU Citrus. Contact PayU Citrus (India) support for assistance. | Optional |
In your PayU Citrus (India) account, enable the UPI bank transfer payment method. Contact PayU Citrus (India) support for assistance. | Optional |
In your PayU Citrus (India) account, set the payment.shipping_address.email and payment.shipping_address.phone fields to non-mandatory if desired (by default those fields are mandatory). Contact PayU Citrus (India) support for assistance. | Optional |
Integration Procedures
The following sections list the integration procedures that are specific to this provider.
Redirecting your Customer for Authentication
When you send a post charge
request, we will return a charge resource containing a charge.redirection.url
, and a status of ‘pending’.
Redirect your customer to this URL, so that they can authenticate themselves:
- For credit card payment methods, the redirection is to a 3D Secure site.
- For the netbanking bank transfer payment method, the redirection is to your customer’s bank authentication site.
- For the UPI bank transfer payment method, the redirection is to the checkout page, where your customer initiates the transaction with the VPA (the UPI payment handle). A payment notification will be sent to your customer’s UPI Mobile App.
Once the authentication process at the provider is done, we’ll redirect your customer’s browser back to your site, using the merchant_site_url
(that you provided in the POST Charge request). We’ve included the following URL parameters in the merchant_site_url
, to provide you with the context of the page that you’ll need to load: payment_id
, charge_id
, and status
(of the charge). Here’s an example:
<merchant_site_url>
?payment_id=dd1fbe34-4636-4a61-8cb1-27ac8a175284
&charge_id=aec1c306-e0f7-452b-8fb5-5b34489e9d10
&status=Pending
Note
The status of your Charge request may still bepending
when we redirect your customer back to your site (while the provider is processing the request).
Testing
This section list the test card numbers you can use for testing your integration and outlines the test procedures for bank transfer payment methods.
Testing Credit Card Payment Methods
General test cards:
Card number | Expiration date | CVV | Expected response |
---|---|---|---|
“524193000000000” | any future |
any 3 numbers | Internet Purchase Approved |
“429393000000000” | any future |
any 3 numbers | Internet Purchase Approved |
“322222222222221” | any future |
any 3 numbers | Declined "additional_details.card_vendor_name": "MASTERCARD" ) |
“322222222222222” | any future |
any 3 numbers | Declined "additional_details.card_vendor_name": "MASTERCARD" ) |
“322222222222223” | any future |
any 3 numbers | Declined "additional_details.card_vendor_name": "MASTERCARD" ) |
Test cards for specific vendors:
Card number | Expiration date | CVV | Expected response | Card type |
---|---|---|---|---|
“378282246310005” | “09-2022” | any 3 numbers | Succeed | AMEX |
“30569309025904” | “09-2022” | any 3 numbers | Succeed | DINERS |
“4111111111111111” | “09-2022” | any 3 numbers | Succeed | VISA |
“4716370928596372” | “09-2022” | any 3 numbers | Declined | VISA |
Testing Bank Transfer Payment Methods
For a UPI bank transfer payment method, you will need to schedule a time with the PayU Citrus integration team for testing. After sending the POST Charge request, the PayU Citrus integration team will need to perform a manual action as part of the payment flow.
For a netbanking bank transfer payment method, use the test bank_code “CID000” for charge.additional_details.bank_code
.