Skip to content

APM - INR deposits with UPI Intent (Gateway4)#

Alternative payment methods: deposits with UPI Intent INR transfer

Brief#

In order to create a Fixed Rate Invoice in the payment processing system, you need to make a POST request to the v2/invoices API endpoint.

POST https://api.xgateway.tech/api/v2/invoices

NOTE: UPI deposits are not currently available on Demo Environment due to specifics of the APM.

INR UPI Intent deposits
{    
    "paymentMethod": "intent",
    "orderId": "order-test-prod",
    "customerId": "test-prod2025",
    "baseCurrency": "INR",
    "amount": 1100,
    "customerFirstName": "John",
    "customerLastName": "Doe",
    "paymentCurrency": "INR",
    "customerEmail": "[email protected]",
    "customerCountry": "AU", 
    "customerPhone": "1234567890" // Must be a 10 digits number.
}

See the Alternative Payment Methods using Checkout page for the full OpenAPI specification.

The default lifetime of an invoice is 15 minutes.

Our local partners for Alternative Payment Methods may block customers using VPNs. It is generally recommended to warn customers that a payment method cannot be accessed through a VPN.

Details#

Validating limits#

The invoice creation API validates the amount value. The minimum and maximum amount values may differ based on the payment provider used for each specific invoice.
INR deposits with UPI Intent (Gateway4) uses these:

Currency Min value Max value Increment step
INR 1 000.01 25 000.00 1.00

Contact the support team if you want to confirm the limits.

Required payload#

Parameter Mandatory Description
amount true Requested amount. String or Number, in d+(.d+)? format. Limits applied
customerId true Customer id in the merchant system
baseCurrency true String representation of the requested currency. INR in this case
orderId false Invoice id in the merchant system. If provided, used as an idempotency key
paymentMethod false String representation of the payment method.
Warning! Defaults to basic if not specified!
intent in this case
customerFirstName false Customer's first name
customerLastName false Customer's last name
customerEmail false Customer's email
customerCountry false Customer's country code, f.e. 'AU'
customerPhone false Customer's phone, must be a 10-digit number wrapped as string
paymentCurrency false String representation of the payment currency. INR in this case

Ensure that no additional parameters, except those specified above, are passed into the invoice creation request.

Payload examples#

The system will skip all XGateway intermediate pages and redirect the customer directly to the payment method only if all required data is provided.

INR UPI deposits

NOTE: UPI deposits are not currently available on Demo Environment due to specifics of the APM.

Minimal payload with orderId to create an invoice and track idempotency on the merchant side
(missing fields will be requested from the customer by the checkout form):

{
    "paymentMethod": "intent",
    "orderId": "order-test-prod",
    "customerId": "test-prod2025",
    "baseCurrency": "INR",
    "amount": 1100
}
Full payload to create and activate an invoice (opens the payment method directly):

{    
    "paymentMethod": "intent",
    "orderId": "order-test-prod",
    "customerId": "test-prod2025",
    "baseCurrency": "INR",
    "amount": 1100,
    "customerFirstName": "John",
    "customerLastName": "Doe",
    "paymentCurrency": "INR",
    "customerEmail": "[email protected]",
    "customerCountry": "AU", 
    "customerPhone": "1234567890" // Must be a 10 digits number.
}

If you get a bad request response without exact information about the erroneous field, please check the syntax of the request.

API Response#

After a successful call, you will receive a 201 - Created response with a link to a Checkout page configured according to your request.

{
  "data": "https://checkout.xgateway.tech/ff36a7a5-08fd-418a-a150-f6f2d36676a8",
  "success": true
}

The Checkout page will prompt the customer for any data missing from the initial request that is required to create an invoice.

Once all required data is provided, the Checkout page will redirect the customer to the local payment system (UPI).