Integration steps
Guide to integrate payment gateway APIs to process transactions without customer redirection to Jiopay Hosted checkout.
This is server-to-server integration for cards involves the following steps:
Before starting with this integration, follow through the Base Integration section for prerequisites.
Step 1: Initiate payment with JPSL
The merchant initiates Jiopay with the required transaction mandatory or optional parameters. This needs to be a server-to-server call request. For URLs, parameters, and descriptions refer to the API Reference section.
The response for the S2S payment request is not similar to Jiopay Hosted Checkout. Merchant needs to call the Initiate Sale
payType
value for Seamless flow will be 1
in the Initiate Sale API.
Payment modes supported,
CARD (CC/DC)
Prerequisite for S2S IntegrationYou must have Payment Card Industry Data Security Standard (PCI-DSS) certification, which is mandatory for all entities seeking to store, process, and transmit cardholder data.
Merchant is expected to collect the card details of customers and pass it in the Initiate Sale API. Details specific to Cards transaction in Seamless flow.
paymentMode
value will beCARD
indicating the instrument used is cardspaymentOptionCodes
value will beCC
orDC
based on the card used- Card details to be captured in fields
cardNo
,cardExpiry
,nameOnCard
,cvv
and other details can be referred to API Specification for tokenized cards and save card related flows
Sample flow for Cards with guest checkout,
{
"amount": "11.00",
"cardExpiry": "202608",
"cardNo": "6521550072009393",
"currencyCode": "356",
"customerEmailID": "[email protected]",
"customerID": "9970148417",
"customerMobileNo": "999999999",
"customerName": "Ganesh",
"cvv": "123",
"merchantId": "JP2000000000031",
"merchantTxnNo": "TEST3189673599",
"nameOnCard": "Ganesh Desai",
"payType": "1",
"paymentMode": "CARD",
"paymentOptionCodes": "CC",
"returnURL": "https://test123890.free.beeceptor.com",
"secureHash": "e0dbaa85d0faba2227e5890aaeaa54b73bd0e65ba6ee1a7a5dc7e75f3216878c",
"transactionType": "SALE",
"txnDate": "20250610182018"
}
{
"responseCode": "R1000",
"merchantId": "JP2000000000031",
"aggregatorID": null,
"merchantTxnNo": "TEST3189673599",
"redirectURI": "https://uat.jiopay.co.in/tsp/pg/api/v2/authRedirect",
"showOTPCapturePage": "N",
"generateOTPURI": null,
"verifyOTPURI": null,
"authorizeURI": null,
"tranCtx": "R30824182-ea3d-4c7d-9fc0-4da4e0c09402",
"secureHash": "4b7ceb16ecbaf846888bb866637a1b03db9d7ee78ee5005bead14c8814033ebe"
}
UPI
Merchant is expected to pass the UPI Virtual Private Address (VPA) in customerUPIAlias
with paymentMode
as UPI
{
"amount": "11.00",
"currencyCode": "356",
"customerEmailID": "[email protected]",
"customerID": "9970148417",
"customerMobileNo": "9999999999",
"customerName": "Ganesh Desai",
"customerUPIAlias": "ganesh@okhdfcbank",
"merchantId": "JP2000000000031",
"merchantTxnNo": "TEST2244247749",
"payType": "1",
"paymentMode": "UPI",
"returnURL": "https://test.com",
"secureHash": "f2ec6a2d6298b7d906ad9f7e6c0215bcfd2d46d1596d8a9ad14670077f502954",
"transactionType": "SALE",
"txnDate": "20250610190256"
}
{
"responseCode": "R1000",
"merchantId": "JP2000000000031",
"aggregatorID": null,
"merchantTxnNo": "TEST2244247749",
"redirectURI": "https://uat.jiopay.co.in/tsp/pg/api/v2/authRedirect",
"showOTPCapturePage": "N",
"generateOTPURI": null,
"verifyOTPURI": null,
"authorizeURI": null,
"tranCtx": "R84df7ff1-a8da-4406-a82a-76be5ebebd8f",
"secureHash": "5615aac1bf3c11d5d5627dc526d796a00b3dbfb5d40dd7961208b69600d6c9c5"
}
Net Banking
Merchant is expected to pass the Bank Codes shared by Jio Team in paymentOptionCodes
along with paymentMode
as NB
{
"amount": "1.00",
"aggregatorID": "JP2000000000001",
"customerEmailID": "[email protected]",
"customerName": "Nayan Mehta",
"customerMobileNo": "9869117887",
"transactionType": "SALE",
"paymentMode": "NB",
"paymentOptionCodes": "ICIC",
"payType": "1",
"merchantId": "JP2000000000016",
"merchantTxnNo": "32411156884876",
"customerID": "CUST123456",
"returnURL": "https://wh5e26540c4f0f3ef0d0.free.beeceptor.com",
"currencyCode": "356",
"txnDate": "20250610115921",
"addlParam1": "TEST1,TEST3,TEST5,TEST9",
"addlParam2": "TEST2.TEST4"
}
{
"responseCode": "R1000",
"merchantId": "JP2000000000016",
"aggregatorID": "JP2000000000001",
"merchantTxnNo": "MREF1180214118",
"redirectURI": "https://jiopay.co.in/pg/api/v2/authRedirect",
"showOTPCapturePage": "N",
"generateOTPURI": null,
"verifyOTPURI": null,
"authorizeURI": null,
"tranCtx": "Ra312a4ab-3342-4751-a307-06093c76d4c5",
"secureHash": "f36d155b838ef585ad7afdbb530a3e2a9d1bf38f134b00de78232c3f72179cbf"
}
Pluxee / Sodexo
Merchant is expected to pass the paymentMode
with Sodexo
{
"aggregatorID": "JP2000000000001",
"amount": "1.00",
"currencyCode": "356",
"customerEmailID": "[email protected]",
"customerID": "9970148418",
"customerMobileNo": "9820957349",
"customerName": "Test0804 Test",
"customerUPIAlias": "swapnali23385@okicici",
"merchantId": "JP2000000000016",
"merchantTxnNo": "12345",
"payType": "1",
"paymentMode": "Sodexo",
"returnURL": "https://uat.jiopay.co.in/tsp/pg/api/merchant",
"secureHash": "d59e92b1b7f743007f57dc2186c8be06447f39f579aea42eafafe2bb2752e2a9",
"transactionType": "SALE",
"txnDate": "20250702012501"
}
{
"responseCode": "R1000",
"merchantId": "JP2000000000016",
"aggregatorID": "JP2000000000001",
"merchantTxnNo": "12345",
"redirectURI": "https://jiopay.co.in/pg/api/v2/authRedirect",
"showOTPCapturePage": "N",
"generateOTPURI": null,
"verifyOTPURI": null,
"authorizeURI": null,
"tranCtx": "R344839f6-6c32-44f7-a1fd-aaab0c79a45a",
"secureHash": "d2bd6fbb52d10b336139dffcefb44be2dd9a83bf1afc607017d066c5c3ee49f8"
}
Wallets
Merchant is expected to pass the paymentOptionCodes
with wallet specific codes shared by Jio Team along with paymentMode
as WALLET
PhonePe - paymentOptionCodes = phonepe
paymentOptionCodes = phonepe
{
"aggregatorID": "JP2000000000001",
"amount": "1.00",
"currencyCode": "356",
"customerEmailID": "[email protected]",
"customerID": "9999999999",
"customerMobileNo": "9999999999",
"customerName": "John Doe",
"customerUPIAlias": "John@okhdfcbank",
"merchantId": "JP2000000000016",
"merchantTxnNo": "MREF4789341000",
"payType": "1",
"paymentMode": "WALLET",
"paymentOptionCodes": "phonepe",
"returnURL": "https://wh5e26540c4f0f3ef0d0.free.beeceptor.com",
"secureHash": "94d8b6567cbddbb342305c6ea8b6f9d07274088ea08894f715dc5723d451e485",
"transactionType": "SALE",
"txnDate": "20250711163322"
}
{
"responseCode": "R1000",
"merchantId": "JP2000000000016",
"aggregatorID": "JP2000000000001",
"merchantTxnNo": "MREF1180214118",
"redirectURI": "https://jiopay.co.in/pg/api/v2/authRedirect",
"showOTPCapturePage": "N",
"generateOTPURI": null,
"verifyOTPURI": null,
"authorizeURI": null,
"tranCtx": "Ra312a4ab-3342-4751-a307-06093c76d4c5",
"secureHash": "f36d155b838ef585ad7afdbb530a3e2a9d1bf38f134b00de78232c3f72179cbf"
}
STEP 2: Redirect customer
Redirect the customer to the issuer challenge page using the redirectURI
and tranCtx
received in the response. Format of URL will be <redirectURI>?tranCtx=<tranCtx>
Redirect the customer to the redirectURI
with tranCtx
to the issuer challenge page
https://uat.jiopay.co.in/tsp/pg/api/v2/authRedirect?tranCtx=R30824182-ea3d-4c7d-9fc0-4da4e0c09402
For Card, Issuer Challenge page will opened and customer is complete the challenge for the transaction. Challenge can be OTP triggered to registered mobile number of card, Email OTP, Authenticator codes etc
For UPI Payments, a collect request will be initiated on the entered VPA and customer is expected to Approve the payment to process the payment.
For Net Banking, customers will redirected to the respective Bank Login page. Customers are expected to login with their net banking credentials and then approve the payment
Sample Net Banking redirection to ICICI Bank page -

ICICI Bank NetBanking Login
For Sodexo / Pluxee, the redirection will take customer to the Pluxee Card Capture page where user will enter Pluxee Card details and complete the transaction

Pluxee Card Capture page
For PhonePe Wallet, the redirection takes to PhonePe page where customer can initiate a transaction using PhonePe App

PhonePe Page
STEP 3: Payment Response
Consuming the payment response callback on the returnURL
passed in request. This is an async response received post completing the transaction. Customers will be redirected to this URL after the transaction is completed with POST data of payment response.
Refer to the Payment Response specifications here
Sample response for cards,
{
"TransmissionDateTime": "20250610182018",
"acqName": "PayPhi",
"amount": "11.00",
"cardNetwork": "RuPay",
"customerEmailID": "[email protected]",
"customerMobileNo": "999999999",
"merchantId": "JP2000000000031",
"merchantTxnNo": "TEST3189673599",
"paymentDateTime": "20250610182349",
"paymentID": "19291996322",
"paymentInstId": "6XXX XXXX XXXX 9393",
"paymentMode": "Card",
"paymentSubInstType": "CC",
"respDescription": "Transaction successful",
"responseCode": "0000",
"secureHash": "33c1de4e93d8ce8f1752b34d9a5795dfd11d86ccbe1090a9350b482464ff62eb",
"txnID": "7700206064604"
}
{
"TransmissionDateTime": "20250610190256",
"acqName": "phi",
"amount": "11.00",
"authCode": "7700201398085",
"customerEmailID": "[email protected]",
"customerMobileNo": "9999999999",
"merchantId": "JP2000000000031",
"merchantTxnNo": "TEST2244247749",
"oth_charge": "false",
"paymentDateTime": "20250610190655",
"paymentID": "955640471178",
"paymentInstId": "9552012231@upi",
"paymentMode": "UPI",
"respDescription": "Transaction successful",
"responseCode": "0000",
"secureHash": "6428caeb3f8069067c660f55d8f643969c9de7d830bebb7b0eedf6e93ecc1b58",
"txnID": "7700206064611"
}
{
"secureHash": "76f99159e97081969395e729fed4ed7b687ae6960c3d53c4a25e90baae3a3ae8",
"amount": "1.00",
"authCode": "T2507111634188646974524",
"respDescription": "Transaction successful",
"paymentMode": "Wallet",
"customerEmailID": "[email protected]",
"aggregatorID": "JP2000000000001",
"TransmissionDateTime": "20250711163322",
"responseCode": "0000",
"customerMobileNo": "9999999999",
"acqName": "jiopay",
"paymentSubInstType": "phonepe",
"merchantId": "JP2000000000016",
"paymentID": "BPHWRGQ0Q2CXRF",
"merchantTxnNo": "MREF4789341000",
"paymentDateTime": "20250711163341",
"txnID": "4000248003189"
}
Updated 3 months ago