RuPay and UPI instant payments (India)
RuPay (derived from the words "rupee" and "payment") is a National Payments Corporation of India (NPCI) created Indian domestic card network. NPCI also developed the United Payments Interface (UPI), a real-time payment system for processing inter-bank transactions. RuPay credit card on UPI was launched at the Global Fintech Fest on 20th September 2022.
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.
With the acceptance of credit cards using QR codes, users have additional opportunity and ease in using their credit cards and merchants benefit from the increased consumption.
To further enrich offerings to customers and merchants, new features are being introduced as part of RuPay credit card on UPI Phase 2. For example: credit card bill payment, Equated Monthly Installment, and BIN management.
Newest API endpoint - Get card bill
Pismo recently added a new API endpoint - Get card bill - that lets you get a credit card statement based on account reference number and mobile phone.
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 14 days ago