RuPay and UPI instant payments (India)
RuPay (derived from the words "rupee" and "payment") is an Indian domestic card network launched by the National Payments Corporation of India (NPCI), which also developed the United Payments Interface (UPI), a real-time payment system for processing inter-bank transactions.
Customers with RuPay cards that are UPI enabled (linked to a UPI app), can make payments and transfers directly from their card to merchants and have their credit card accounts debited in real-time.
The Pismo platform supports RuPay-UPI integration. Clients can use Pismo endpoints for transactional flows (Transfer funds), plus the onboarding and account lifecycle processes for establishing and managing UPI user accounts.
Connecting with the Pismo platform
You need to use mTLS to connect with the Pismo plaform. For more information, refer to Identity connectivity with mTLS
mTLS is mandatory for all API calls to the Pismo platform. This protocol keeps the platform in compliance with legal requirements. To configure mTLS, contact your Pismo representative.
Configure signed certificate for mTLS
There are three ways to configure the signed certificate:
- Pismo generates and signs a private and public key and sends the public key to you through a secure channel.
- You generate a private and public key and send the public key to Pismo through a Certificate Signing Request (CSR). Pismo sends back a signed public certificate.
- You generate your own public certificate and sign it with your own CA. You provide the signed certificate to Pismo for upload to Cloudflare.
Testing and production domains
mTLS domains to access Pismo UPI API:
- UAT -
https://api-sandbox-cdn.pismolabs.io
- Production -
https://prod-cdn.ind.pismo.io
The Sandbox domain to access the API via Postman is https://api-sandbox.pismolabs.io
Notes:
- For every API endpoint call, a valid auth token has to be passed in a header. You must use Pismo's OpenID Authentication .
- You need to generate private and public keys, share the public key with Pismo and, in turn, Pismo shares the organization details you can use to generate the JWT signed with the private key. Using the JWT, the auth token can be generated from Pismo using the Passport API endpoint
UPI processing codes
Operation name | Payment PC | Refund PC | Refund cancellation PC |
---|---|---|---|
DEBIT UPI RUPAY | 320200 | 320201 | 320202 |
CREDIT UPI RUPAY | 320203 | 320204 | 320205 |
Anti-fraud webhook for UPI transactions
You have the option to implement an anti-fraud webhook for UPI transactions to supplement the anti-fraud checking and validation Pismo does.
Sample RuPay UPI Transfer funds endpoint request
curl --request POST \
--url https://sandbox.pismolabs.io/upi-gateway/v1/cards/transfer \
--header 'accept: application/json' \
--header 'content-type: application/json' \
--data '
{
"amount": 500,
"currency": "INR",
"account_reference_number": "12345600000000001140340134",
"external_transaction_datetime": "2020-09-15T19:39:54.013Z",
"external_transaction_id": "MGS584A1244F6BC4D50A3FABE6D93DF913C",
"mcc": "6012",
"merchant_name": "Cafe Coffee Day",
"phone_number": "919846049491",
"transaction_reference": "Lunch",
"transaction_type": "C",
"upi_reference_number": "123412341234",
"credit_account_number": "98765004371"
}
'
Updated 3 days ago