Getting Started
Introduction
Welcome to the JioMoney Developers Guide. With our range of developer friendly APIs and easy to integrate code kits, you can start accepting payments in no time.
Currently, we offer three products to help you accept digital payments on your website.
• JioMoney Wallet
In this mode, the customer first selects ‘Pay using JioMoney’ option on the merchant’s website. On selecting, the customer is redirected from merchant’s website to JioMoney’s website where he/she can use JioMoney wallet balance to complete the payment. In case of insufficient balance, the customer can load the balance and complete the transaction in the same payment flow.
Continue reading this document to understand JioMoney Wallet integration process.
• JioMoney Payment Gateway
JioMoney will help you in setting up the payment page. The customer is redirected from your website to JioMoney payment page where he/she can complete the transaction by choosing provided payment options such as include debit/credit cards, net banking, other wallets and UPI.
• JioMoney Payment Gateway for PCI-DSS compliant Merchants
Merchants need to collect the customer card details on their own website and post them to JioMoney. JioMoney processes the transaction at the backend. The customer would not be stopped at JioMoney payment page. Only PCI-DSS compliant merchants are applicable to avail this product.
Onboarding
Before you start integrating JioMoney wallet on your website, you should have:
- Completed the signup process on our merchant portal
- Received clientID, merchantID and Checksum key from our sales team
Payment Flow
On the payment checkout page of the merchant’s website, the merchant collects information about the purchase of the customer. The merchant then redirects the customer to the JioMoney wallet page by making an HTTPS POST request to our server.
In the merchant initiated POST REQUEST, one of the mandatory parameters is named as checksum. The details of checksum generation are given here. Checksum helps prevent man-in-the-middle attack when information flows from your server to ours.
When the transaction POST REQUEST hits the JioMoney server, a new transaction entry is created in the JioMoney Database and the customer would be re-directed to JioMoney’s payment page. JioMoney processes the customer’s payment and provides a POST RESPONSE to the merchant conveying the transaction status and details.
Web Integration
Checkout Button
Sample
The simplest way to accept payments is by embedding our checkout button on your website. Edit the General and Transactional level parameters to initiate the transaction. Refer our Purchase API to know more about the individual parameters. You can customize the button by writing rules against .JM_Wallet_Button .
Once, you embed the checkout button, you will have to generate the checksum in order to post along with the request. To generate the checksum, the request data is arranged in a pipe separated format which is then passed to HMAC-SHA256 along with the provided checksum key.
The response message is sent to the returl specified in the request message. The response is a browser and also a server to server response. The response fields are pipe delimited with the checksum being the last element. The checksum (HMAC-SHA256) is computed for all fields delimited by pipe (|) and appended to the end.
Sample Checksum Format
Integration Kits
JioMoney provides quick-integration kits in all major languages. Please refer following resources based on your tech stack.
JioMoney Wallet Integation PHP Kit
JioMoney Wallet Integation JAVA Kit
JioMoney Wallet Integation .NET Kit
APIs
Payment APIs
Payment APIs consists of two APIs :
I) Purchase API to make payment requests to JioMoney Server .
II) Refund API to make refund requests for completed purchase transactions .
PURCHASE
This API allows merchant to post payment requests to JioMoney server.
Test URL
https://testpg.rpay.co.in/reliance-webpay/v1.0/jiopayments
Production URL
https://pp2pay.jiomoney.com/reliance-webpay/v1.0/jiopayments
Checksum format
ClientID|Transaction Amount|Order ID|Channel|MerchantID|Token|Return URL|Timestamp|PURCHASE |Mobile Number|Product Description|UDF1| UDF2| UDF3| UDF4| UDF5|Standing Instruction Flag|
If you are not passing any of the above parameters, you should leave those fields empty.
Request Parameters
Version
Mandatory
Version number should be 2.0
Datatype: Numeric
Clientid
Mandatory
8 digit ClientID key as provided you by JioMoney team -Sample Value: 1000XXXXX
Datatype: Numeric Length: 8
Merchantid
Mandatory
15 digit MerchantID key as provided by Jio Money team -Sample Value: 100000005555501
Datatype: Numeric Length: 15
Channel
Mandatory
WEB for Desktop websites
MOBILE for Mobile websites
Token
Mandatory , default is blank
Token field should be kept empty in the request as well as in the checksum calculation
Returl
Mandatory
Return response URL where the merchant wants to receive the response from JioMoney
Datatype: URL
Checksum
Mandatory
Checksum of the specific fields combined. Please see Checksum Generation section for the elements to be included for computing checksum.
Datatype: Alphanumeric and special characters
transaction.extref
Mandatory
Order ID or Unique transaction Id for tracking purposes to be provided by the merchant
Datatype: Alphanumeric Max String length: 20
transaction.timestamp
Mandatory
14 digit timestamp at which the transaction is originated
(format: yyyyMMddHHmmss)
transaction.amount
Mandatory
Value/Amount of the transaction should be in two decimals
Datatype: Numeric and special char Sample Value: 12.50 or 1000.00 Min String length: 4 Max String length: 112
transaction.txntype
Mandatory
The value of this field should be : PURCHASE
transaction.currency
Mandatory
Default INR.
subscriber.mobilenumber Mandatory
Mobile number of the customer
Sample Value: +919812345678 Max String length: 13 subscriber.customername Mandatory
Name of the Customer. It gets pre-filled in the signup form
Sample Value: James Anthony Max String length: 50
subscriber.email
Optional
Email of the customer
Datatype: Alphanumeric and special characters Max String length: 64
subscriber.addline1
Optional
Address Line1 of the customer.
Datatype: Alphanumeric and special characters Max String length: 35
subscriber.addline2
Optional
Address Line2 of the customer.
Datatype: Alphanumeric and special characters Max String length: 35
subscriber.city
Optional
City.
Datatype: Alpha Max String length: 40
subscriber.state
Optional
State
Datatype: Alpha Max String length: 20
subscriber.zipcode
Optional
Postal Code
Datatype: Numeric Max length: 10
cartItems [0].sno
Optional
Item Number
Any value from 0-9
cartItems [0].description
Optional
Name or Description of the item purchased
Max length: 45
cartItems [0].cost
Optional
Cost of the item in INR
Sample Value: 12.50 or 1000.00 Min length: 4 Max length: 12
cartItems [0].quantity
Optional
Item quantity.
globalnote
Optional
Global note details
Sample Value: 10% CASHBACK ON HDFC NB Max String length: 90 Global Note will be displayed on the payment gateway
productdescription
Optional
Description about the product
Max String length: 45 UDF1 UDF2 UDF3 UDF4 UDF5 Optional
Additional parameters apart from those in request parameters can be passed in udf fields. For example Insurance company will pass policy number. Toll plaza will pass vehicle number etc. if udf fields are part of the request then same will echoed in the response.
Max String length: 20 for udf1 to udf4 Max String length: 100 for udf5 |
Response checksum
The response message is sent to the returl specified in the request message. The response is a browser response and will be posted as a key-value pair and key name is response. The response fields are pipe delimited with the checksum being the last element. The checksum (HMAC-SHA256) is computed for all fields delimited by pipe (|) and appended to the end.
Response checksum
ErrorCode|ClientId|MerchantId|CustomerId|MerchantTxnRefNum
|JioTxnRefNum|TxnAmount|Status|ResponseMsg|JioTxnTimeStamp
|CardNumber|TxnType|CardType|subscriber.mobileno|
productdescription|UDF1|UDF2|UDF3|UDF4|UDF5|CheckSums
Response Parameters
ErrorCode
000 if successful, otherwise the response code will be as returned by the processor.
Datatype: Numeric
Clientid
As in the input
Datatype: Numeric
Merchantid
As in the input
Datatype: Numeric
CustomerId
As in the input
Datatype: Numeric
TransactionRefNum
Transaction.extref from the input(MerchantTxnRefNum)
Datatype: AlphaNumeric
JioTxnRefNum
Provided by JioMoney
Datatype: AlphaNumeric
TxnAmount
As in the input
Datatype: Numeric
Status
If a processing error occurred
ResponseMsg
If ErrorCode is not empty
JioTxnTimeStamp
Transaction time stamp recorded at our servers
(format:yyyyMMddHHmmss)
.
CardNumber
Last four digits are visible and the remaining are XXXX
Datatype: Numeric .
TxnType
DC/CC/NB/JM
DC: Debit Card CC: Credit Card NB: Net Banking JM: JIoMoney
CardType
VISA/MASTER
Datatype: Alpha
subscriber.mobileno
As in the input
Datatype: Numeric
productdescription
As in the input
Datatype: Alpha
UDF1
As in the input
Datatype: AlphaNumeric
UDF2
As in the input
Datatype: AlphaNumeric
UDF3
As in the input
Datatype: AlphaNumeric
UDF4
As in the input
Datatype: AlphaNumeric
UDF5
As in the input
Datatype: AlphaNumeric
CheckSum
HMAC-SHA256 checksum using response fields specified in Checksum generation Section
Datatype: AlphaNumeric |
Error Codes
000
Approved
100
Mandatory Parameter Missing
101
Your Transaction cannot be processed
102
Incorrect/Invalid Input Parameters
103
Transaction.Extref Is Not Valid
104
Transaction.Amount Is Not Valid
105
Duplicate Transaction
110
Not Authorised By User
120
Unable To Process The Request. Please Try Again After Some Time!!!
.
121
Merchant Is Unregistered
.
122
Not Opted For JioMoney API Based Payment
500
Failed
501
Issuer Declined
|
REFUND
Refund API allows merchants to process refund of payments back to the customer.
Test URL
https://testpgpay.jiomoney.com/reliance-webpay/jiorefund
Production URL
https://pp2pay.jiomoney.com/reliance-webpay/jiorefund
Checksum format
merchant_Id|api_name|timestamp|tran_ref_no|txn_amount|
org_jm_tran_ref_no|org_txn_timestamp|additional_info
Sample Request { JSON } :
{
"request":{
"request_header":{
"api_name":"REFUND",
"version":"2.0",
"timestamp":"20170203190725"
},
"payload_data":{
"merchant_id":"100001000014146",
"tran_ref_no":"N0TSPHAB2S2EKLA",
"txn_amount":"1.00",
"mobile_no":"7738221020",
"org_jm_tran_ref_no":"901033346379",
"org_txn_timestamp":"20170203174356",
"additional_info":"NA"
},
"checksum":"2dd8ae1fc545885d6d7fd33477b249a8e6a8e098409bdca8e76e683a512ba6ab"
}
}
Sample Response { JSON }:
{
"response":{
"response_header":{
"api_name":"REFUND",
"version":"2.0",
"api_status":"1",
"api_msg":"Approved",
"timestamp":"20170203194051"
},
"payload_data":{
"merchant_id":"100001000014146",
"tran_ref_no":"N0TSPHAB2S2EKLA",
"jm_tran_ref_no":"901033346379",
"txn_amount":"1.00",
"txn_status":"SUCCESS",
"error_code":"000"
},
"checksum":"bbfc34a656334dd8e2a79db0a619729b6c1372820ebd96b2e58a5adc0ec2903f"
}
}
Request Parameters
api_name
Mandatory
Name of the API : REFUND in this case
Max length :16 Datatype: Alpha
Timestamp
Mandatory
Time at which the transaction is originated
in
yyyyMMddHHmmss format
Max length:29 Datatype: Numeric
Version
Mandatory
Version number that needs to be part of the request
2.0 in this case
Min length:3 Max length:7 Datatype: Alphanumeric and special char
merchant_id
Mandatory
15 digit Merchant ID given by Reliance JioMoney
Datatype: Numeric
tran_ref_no
Mandatory
Unique transaction ref number provided by the merchant to uniquely identify the refund transaction.
Min length : 1 Max length:20 Datatype: Alphanumeric
txn_amount
Mandatory
Refund amount.
Eg: 12.50 or 1000.00
Min length:4 Max length:13 Datatype: Numeric and special char (.)
org_jm_tran_ref_no
Mandatory
Original purchase transaction ref number received by the merchant from JioMoney in Purchase response.
Min length:12 Max length:20 Datatype: Alphanumeric
org_txn_timestamp
Mandatory
Original purchase transaction timestamp received by the merchant from JioMoney in Purchase response.
Max length: 29 Datatype: Alphanumeric
additional_info
Mandatory
Value should be passed as NA
Datatype: Alphanumeric
Checksum
Mandatory
Checksum value computed from request parameters
Datatype: Alphanumeric |
Response checksum format
merchant_Id|api_name|timestamp|tran_ref_no|jm_tran_ref_no|txn_amount|txn_status|error_code
Response Parameters
api_name
REFUND
Datatype: Alpha
api_status
1=Success/ 0= Failed
Datatype: Numeric
api_msg
JioMoney Payment
Datatype: Alpha
version
As in the input
Datatype: Numeric
timestamp
yyyyMMddHHmmss format
Datatype: Numeric
merchant_id
As in the input
Datatype: Numeric
tran_ref_no
As passed originally
Datatype: Alphanumeric
txn_amount
As in the input
Datatype: Numeric
jm_tran_ref_no
As passed originally
Datatype: Alphanumeric
txn_status
SUCCESS/FAILED
Datatype: Alpha
error_code
000 for success and for other error codes please refer the error code section.
Datatype: Numeric
mobile_no
As in the input
Datatype: Numeric
checksum
Checksum value computed from response parameters
Datatype: Alphanumeric |
Error Codes
000
Success
130
Refund Is Not Allowed For Split Settlement Master Transaction
131
Refund Not Allowed For This Transaction
132
Full Refund Already Processed For This Transaction
133
Invalid Input Parameter - Additional_Info
134
Unable To Process The Refund Transaction
135
Invalid Input Parameter - Org_Txn_Timestamp
136
Invalid Input Parameter - Txn_Amount
137
Refund Not Allowed - Invalid Merchant
138
Invalid Input Parameter - Merchant_Id
139
Refund Not Allowed For This Date
|
Non Payment APIs
All JioMoney Non Payment APIs requires below headers.
Request-Type
- HTTP POSTContent-Type
- application/xml for XML or application/json for JSON.Accept
- application/xml for XML or application/json for JSON.APIVer
- 3.0
CHECKPAYMENTSTATUS
This API is to fetch status of a transaction using merchant reference number. This API needs to be called for all the transactions for which you don’t get response from JioMoney. Sometimes, response from JioMoney doesn’t reach you due to network connectivity issues. It is recommended to call this API every 30 min at least 3 times after initiating a transaction until you get final response from JioMoney. Time frame for this API is 45 days if you passing txntimestamp parameter.
Test URL
https://testbill.rpay.co.in:8443/Services/TransactionInquiry
Production URL
https://pp2bill.jiomoney.com:8443/Services/TransactionInquiry
Checksum Format
CHECKPAYMENTSTATUS|timestamp|mid
Sample Request { JSON } :
{
"request":{
"request_header":{
"request_id":"c4ea2b28-f349-43df-a852-d73a44e14961",
"api_name":"CHECKPAYMENTSTATUS",
"timestamp":"20170627120657"
},
"payload_data":{
"mid":"100001000014146",
"tran_details":{
"tran_ref_no":[
"XFKRTJUZ4VC1"
]
},
"txntimestamp":"20170606144424"
},
"checksum":"0a2c470685a6f53a5a0fd60106ea7adf5aa0bead99b9f2f45752af096e5816d6"
}
}
Sample Response { JSON }:
{
"request":{
"request_header":{
"request_id":"c4ea2b28-f349-43df-a852-d73a44e14961",
"api_name":"CHECKPAYMENTSTATUS",
"timestamp":"20170627120657"
},
"payload_data":{
"mid":"100001000014146",
"tran_details":{
"tran_ref_no":[
"XFKRTJUZ4VC1"
]
},
"txntimestamp":"20170606144424"
},
"checksum":"0a2c470685a6f53a5a0fd60106ea7adf5aa0bead99b9f2f45752af096e5816d6"
}
}
Request Parameters
request_id
Optional
It must be UUID format
api_name
Mandatory
It should always be CHECKPAYMENTSTATUS
timestamp
Mandatory
Time at which request is triggered
yyyyMMddHHmmss format
mid
Mandatory
Merchant id to be passed in the field
tran_ref_no
Mandatory
Merchant transaction reference numberdateTimestamp
Datatype: Alphanumeric
txntimestamp
Optional
To fetch transaction based on the timestamp provided. Threshold is 45 days prior to current date Timestamp. If the Tag/Element is not provided it will consider Current timestamp as an evaluation Criteria.
yyyyMMddHHmmss format
Datatype: Alphanumeric
Checksum
Mandatory
Checksum should be passed along with request.
Datatype: Alphanumeric |
Response Parameters
request_id
Unique id used to trace the request details.
Datatype: String
api_status
“1” or ”0” depending upon success or failure transaction.
Datatype: String
api_name
CHECKPAYMENTSTATUS
Datatype: String
timestamp
Current time stamp
Datatype: String
client_id
Client id given by Reliance JioMoney
Datatype: String
mid
Merchant Id given by Reliance JioMoney
Datatype: String
tran_ref_no
Merchant transaction reference number
Datatype: String
jm_tran_ref_no
JioMoney transaction reference number
Datatype: String
txn_amount
Transaction Amount
Datatype: String
txn_time_stamp
Time at which transaction took place. It can be 45 days prior to current timestamp
Datatype: String
card_no
Last four digits are visible and the remaining are XXXX Card no will be bank name when txn_type is NB
Datatype: String
txn_type
DC(Debit Card)/CC(Credit Card)/NB(Net Banking)/JM(JioMoney)/WT(Other Wallet)
Datatype: String
card_type
VISA/MASTER/MAESTRO/DINERS/RUPAY
Datatype: String
txn_status
“SUCCESS”/”success”/”FAILED”/”failed” Awaited/Bounced/Cancelled
Datatype: String
udf1/udf2/udf3/udf4/udf5
User defined field based on what is sent in the request
Datatype: String
error_code
For successful transactions -000/Please refer the error codes given in table
Datatype: String
response_msg
“APPROVED”/”approved” in case of successful transactions/Else decline reason from PG
Datatype: String
request_type
PURCHASE/ LOADMONEY/ P2P/ P2M/ AUTH/ CANCEL/ BILLPAYMENT/ REFUND
Datatype: String |
Error Codes
000
Success - APPROVED/approved
400
SUCCESS(REVERSAL)- APPROVED/approved
151
This is an error in the request itself, hence no transaction status TXNTIMESTAMP NOT VALID/txntimestamp not valid
152
This is an error in the request itself, hence no transaction status TXNTIMESTAMP VIOLATES THRESHOLD LIMIT/txntimestamp violates threshold limit
1001
This is an error in the request itself, hence no transaction status INVALID TIMESTAMP/invalid timestamp
502
This is an integration related Technical System Error, hence no transaction Status SYSTEM ERROR/system error/System Error |
GETREQUESTSTATUS
To check the status of a requests like refund.
Test URL
https://testbill.rpay.co.in:8443/Services/TransactionInquiry
Production URL
https://pp2bill.jiomoney.com:8443/Services/TransactionInquiry
Checksum Format
GETREQUESTSTATUS|timestamp|mid
Sample Request { JSON } :
GETREQUESTSTATUS~2~033cc6d9-b1b4-425b-872a-b890847b2593~NA~NA ~100001000013519~525312007865|525312007872~2961942474
Sample Response { JSON }:
{
"RESPONSE":{
"RESPONSE_HEADER":{
"STATUS":"SUCCESS",
"API_MSG":"test"
},
"GETREQUESTSTATUS":[
{
"JM_TRAN_REF_NO":"424234",
"TRAN_REF_NO":"423423",
"REQUEST_TYPE":"REFUND",
"REFUND_AMOUNT":"100",
"TXN_AMOUNT":"100"
}
]
}
}
Request Parameters
APINAME
Mandatory
GETREQUESTSTATUS
Datatype: Alpha
MODE
Mandatory
Mode is used to get in what format response is required. For XML 1 , for JSON 2
Datatype: Numeric
REQUESTID
Mandatory
This should be in uuid format, it will be used to track the request
Datatype: Numeric
STARTDATETIME
Mandatory
It should be NA
Datatype: Alpha
ENDDATETIME
Mandatory
It should be NA
Datatype: Alpha
MID
Mandatory
Merchant ID should be passed in this field
Datatype: Alpha
TRANID
Mandatory
JioMoney Transaction ID (RRN) should be passed in this field
Datatype: Alphanumeric
CHECKSUM
Mandatory
Checksum should be passed along with request.
Datatype: Alphanumeric
|
Response Parameters
STATUS
API status
Datatype: String
ERROR_CODE
Error Code
Datatype: String
REQUEST_TYPE
Request Type E.g. REFUND
Datatype: String
REFUND_AMOUNT
Refund Amount
Datatype: String
TRAN_REF_NO
Merchant transaction reference number
Datatype: String
JM_TRAN_REF_NO
JioMoney transaction reference number
Datatype: String
TXN_AMOUNT
Transaction Amount
Datatype: String |
Error Codes
000
Success
130
Refund Is Not Allowed For Split Settlement Master Transaction
131
Refund Not Allowed For This Transaction
132
Full Refund Already Processed For This Transaction
133
Invalid Input Parameter - Additional_Info
134
Unable To Process The Refund Transaction
135
Invalid Input Parameter - Org_Txn_Timestamp
136
Invalid Input Parameter - Txn_Amount
137
Refund Not Allowed - Invalid Merchant
138
Invalid Input Parameter - Merchant_Id
139
Refund Not Allowed For This Date
|
GETMDR
To get MDR details of a transaction.
Test URL
https://testbill.rpay.co.in:8443/Services/TransactionInquiry
Production URL
https://pp2bill.jiomoney.com:8443/Services/TransactionInquiry
Checksum Format
GETMDR|timestamp|mid
Sample Request { JSON } :
GETMDR~2~5d356077-902b-4884-89d9-516ad297b671~NA~NA~ 100001000013266~528814010692|528814010697|528816010714~ 87560041
Sample Response { JSON }:
{
"RESPONSE":{
"RESPONSE_HEADER":{
"STATUS":"SUCCESS",
"API_MSG":"test"
},
"GETMDR":[
{
"SERVICE_FEE":"100",
"SERVICE_TAX":"100",
"MDR":"2",
"TXN_AMOUNT":"100"
}
]
}
}
Request Parameters
APINAME
Mandatory
GETMDR
Datatype: Alpha
MODE
Mandatory
Mode is used to get in what format response is required. For XML 1 , for JSON 2
Datatype: Numeric
REQUESTID
Mandatory
This should be in uuid format, it will be used to track the request
Datatype: Numeric
STARTDATETIME
Mandatory
It should be NA
Datatype: Alpha
ENDDATETIME
Mandatory
It should be NA
Datatype: Alpha
MID
Mandatory
Merchant ID should be passed in this field
Datatype: Alpha
TRANID
Mandatory
JioMoney Transaction ID (RRN) should be passed in this field
Datatype: Alphanumeric
CHECKSUM
Mandatory
Checksum should be passed along with request.
Datatype: Alphanumeric |
Response Parameters
STATUS
API status
Datatype: String
TXN_AMOUNT
Transaction Amount
Datatype: String
MDR
Merchant Discount Rate
Datatype: String
SERVICE_FEE
Service Fee
Datatype: String
SERVICE_TAX
Service Tax
Datatype: String |
Error Codes
000
Success
130
Refund Is Not Allowed For Split Settlement Master Transaction
131
Refund Not Allowed For This Transaction
132
Full Refund Already Processed For This Transaction
133
Invalid Input Parameter - Additional_Info
134
Unable To Process The Refund Transaction
135
Invalid Input Parameter - Org_Txn_Timestamp
136
Invalid Input Parameter - Txn_Amount
137
Refund Not Allowed - Invalid Merchant
138
Invalid Input Parameter - Merchant_Id
139
Refund Not Allowed For This Date
|
GETTRANSACTIONDETAILS
To get all the information about the transaction including payment status, settlement details, etc.
Test URL
https://testbill.rpay.co.in:8443/Services/TransactionInquiry
Production URL
https://pp2bill.jiomoney.com:8443/Services/TransactionInquiry
Checksum Format
APINAME~MODE~REQUESTID~STARTDATETIME~ENDDATETIME~MID~TRANID~CHECKSUM
Sample Request { JSON } :
GETTRANSACTIONDETAILS~2~b620de0a-aa5e-42ca-a903-ff26ccc96c18 ~NA~NA~100001000013519~525312007865~525312007872~71007319
Sample Response { JSON }:
{
"RESPONSE":{
"RESPONSE_HEADER":{
"STATUS":"SUCCESS",
"API_MSG":"test"
},
"GETTRANSACTIONDETAILS":[
{
"CLIENT_ID":"13312321",
"MID":"10000103232",
"TRAN_REF_NO":"3121212",
"JM_TRAN_REF_NO":"12312312",
"TXN_AMOUNT":"100",
"TXN_TIME_STAMP":"2015111123595959",
"TXN_TYPE":"JM",
"CARD_NO":"XXXXXXXXX12121",
"BANK_REF_NO":"5454542121",
"SETTLEMENT_STATUS":"SETTLED",
"MDR":"10",
"SERVICE_TAX":"100",
"SETTLEMENT_DATE_TIME":"2015111123595959",
"NEFT_REF_NO":"545466",
"TXN_STATUS":"SUCCESS",
"CARD_TYPE":"CC",
"CUST_NAME":"TEST",
"CUST_MOBILE":"999999999",
"CUST_ADD":"TEST ADDESS",
"ERROR_CODE":"121",
"RESPONSE_MSG":"TEST"
}
]
}
}
Request Parameters
APINAME
Mandatory
GETTRANSACTIONDETAILS
Datatype: Alpha
MODE
Mandatory
Mode is used to get in what format response is required. For XML 1 , for JSON 2
Datatype: Numeric
REQUESTID
Mandatory
This should be in uuid format, it will be used to track the request
Datatype: Numeric
STARTDATETIME
Mandatory
It should be NA
Datatype: Alpha
ENDDATETIME
Mandatory
It should be NA
Datatype: Alpha
MID
Mandatory
Merchant ID should be passed in this field
Datatype: Alpha
TRANID
Mandatory
JioMoney Transaction ID (RRN) should be passed in this field
Datatype: Alphanumeric
CHECKSUM
Mandatory
Checksum should be passed along with request.
Datatype: Alphanumeric |
Response Parameters
STATUS
API status
Datatype: String
CLIENT_ID
Customer ID
Datatype: String
MID
Merchant ID
Datatype: String
TRAN_REF_NO
Merchant transaction reference number
Datatype: String
JM_TRAN_REF_NO
JioMoney transaction reference number
Datatype: String
TXN_AMOUNT
Transaction Amount
Datatype: String
ERROR_CODE
Error Code from API
Datatype: String
RESPONSE_MSG
Response Message
Datatype: String
TXN_TIME_STAMP
Transaction date time
Datatype: String
CARD_NO
Last 4 digits of Card Number
Datatype: String
TXN_TYPE
Transaction Type: JM – JIOMONEY, DB – DEBIT CARD, CC – CREDIT CARD, NB – NET BANKING
Datatype: String
CARD_TYPE
Card Type
Datatype: String
BANK_REF_NO
Bank reference number
Datatype: String
SETTLEMENT_STATUS
Settlement Status
Datatype: String
SETTLEMENT_DATE_TIME
Settlement date time
Datatype: String
NEFT_REF_NO
NEFT transaction reference number
Datatype: String
TXN_STATUS
Transaction status
Datatype: String
CUST_NAME
Customer name
Datatype: String
CUST_MOBILE
Customer mobile
Datatype: String
CUST_ADD
Customer address
Datatype: String
MDR
Merchant Discount Rate
Datatype: String
SERVICE_TAX
Service Tax
Datatype: String |
Error Codes
000
Success
130
Refund Is Not Allowed For Split Settlement Master Transaction
131
Refund Not Allowed For This Transaction
132
Full Refund Already Processed For This Transaction
133
Invalid Input Parameter - Additional_Info
134
Unable To Process The Refund Transaction
135
Invalid Input Parameter - Org_Txn_Timestamp
136
Invalid Input Parameter - Txn_Amount
137
Refund Not Allowed - Invalid Merchant
138
Invalid Input Parameter - Merchant_Id
139
Refund Not Allowed For This Date
|
FETCHTRANSACTIONPERIOD
To fetch all the transactions for a given period.
Test URL
https://testbill.rpay.co.in:8443/Services/TransactionInquiry
Production URL
https://pp2bill.jiomoney.com:8443/Services/TransactionInquiry
Checksum Format
APINAME~MODE~REQUESTID~STARTDATETIME~ENDDATETIME~MID~TRANID~CHECKSUM
Sample Request { JSON } :
FETCHTRANSACTIONPERIOD~2~bea68018-d503-45b0-81f0 -93d6ba75ce92~2015100617000000~2015100617030000~ 100001000013692~NA~3181892490
Sample Response { JSON }:
{
"RESPONSE":{
"RESPONSE_HEADER":{
"STATUS":"SUCCESS",
"API_MSG":"test"
},
"FETCHTRANSACTIONPERIOD":[
{
"CLIENT_ID":"11123223",
"MID":"23123123",
"TRAN_REF_NO":"3123123",
"JM_TRAN_REF_NO":"312312",
"TXN_AMOUNT":"150",
"TXN_TIME_STAMP":"2015111123595959",
"TXN_TYPE":"JM",
"CARD_NO":"XXXXXX5454",
"BANK_REF_NO":"32312312312",
"SETTLEMENT_STATUS":"SETTLED",
"MDR":"100",
"SERVICE_TAX":"100",
"SETTLEMENT_DATE_TIME":"100",
"NEFT_REF_NO":"10003232",
"TXN_STATUS":"SUCCESS",
"CARD_TYPE":"JM",
"ERROR_CODE":"3232",
"RESPONSE_MSG":"TEST"
}
]
}
}
Request Parameters
APINAME
Mandatory
FETCHTRANSACTIONPERIOD
Datatype: Alpha
MODE
Mandatory
Mode is used to get in what format response is required. For XML 1 , for JSON 2
Datatype: Numeric
REQUESTID
Mandatory
This should be in uuid format, it will be used to track the request
Datatype: Numeric
STARTDATETIME
Mandatory
Start date time to fetch transaction
Datatype: Alpha
ENDDATETIME
Mandatory
End date time to fetch transaction
Datatype: Alpha
MID
Mandatory
Merchant ID should be passed in this field
Datatype: Alpha
TRANID
Mandatory
JioMoney Transaction ID (RRN) should be passed in this field
Datatype: Alphanumeric
CHECKSUM
Mandatory
Checksum should be passed along with request.
Datatype: Alphanumeric |
Response Parameters
STATUS
API status
Datatype: String
CLIENT_ID
Customer ID
Datatype: String
MID
Merchant ID
Datatype: String
TRAN_REF_NO
Merchant transaction reference number
Datatype: String
JM_TRAN_REF_NO
JioMoney transaction reference number
Datatype: String
TXN_AMOUNT
Transaction Amount
Datatype: String
ERROR_CODE
Error Code from API
Datatype: String
RESPONSE_MSG
Response Message
Datatype: String
TXN_TIME_STAMP
Transaction date time
Datatype: String
CARD_NO
Last 4 digits of Card Number
Datatype: String
TXN_TYPE
Transaction Type: JM – JIO MONEY, DB – DEBIT CARD, CC – CREDIT CARD, NB – NET BANKING
Datatype: String
CARD_TYPE
Card Type
Datatype: String
BANK_REF_NO
Bank reference number
Datatype: String
SETTLEMENT_STATUS
Settlement Status
Datatype: String
SETTLEMENT_DATE_TIME
Settlement date time
Datatype: String
NEFT_REF_NO
NEFT transaction reference number
Datatype: String
TXN_STATUS
Transaction status
Datatype: String
CUST_NAME
Customer name
Datatype: String
CUST_MOBILE
Customer mobile
Datatype: String
CUST_ADD
Customer address
Datatype: String
MDR
Merchant Discount Rate
Datatype: String
SERVICE_TAX
Service Tax
Datatype: String |
Error Codes
000
Success
130
Refund Is Not Allowed For Split Settlement Master Transaction
131
Refund Not Allowed For This Transaction
132
Full Refund Already Processed For This Transaction
133
Invalid Input Parameter - Additional_Info
134
Unable To Process The Refund Transaction
135
Invalid Input Parameter - Org_Txn_Timestamp
136
Invalid Input Parameter - Txn_Amount
137
Refund Not Allowed - Invalid Merchant
138
Invalid Input Parameter - Merchant_Id
139
Refund Not Allowed For This Date
|
GETTODAYSDATA
To get analysis of today’s business.
Test URL
https://testbill.rpay.co.in:8443/Services/TransactionInquiry
Production URL
https://pp2bill.jiomoney.com:8443/Services/TransactionInquiry
Checksum Format
APINAME~MODE~REQUESTID~STARTDATETIME~ENDDATETIME~MID~TRANID~CHECKSUM
Sample Request { JSON } :
GETTODAYSDATA~2~98345c76-dce7-4d50-b32a-424e47d5f976~NA ~NA~100001000000098~NA~152213864
Sample Response { JSON }:
{
"RESPONSE":{
"RESPONSE_HEADER":{
"STATUS":"SUCCESS",
"API_MSG":"test"
},
"GETTODAYSDATA":[
{
"TOTAL_TXN_COUNT":"33",
"SUCCESS_TXN_COUNT":"33",
"FAILED_TXN_COUNT":"44",
"REFUND_TXN_COUNT":"44",
"CHARGEBACK_TXN_COUNT":"3",
"TOTAL_TXN_AMOUNT":"100000000",
"TOTAL_REFUND_AMOUNT":"10",
"TOTAL_SETTLEMENT_AMOUNT":"1000411",
"MOBILE_TXN_PERCENT":"99",
"MOST_USED_PAYMENT_OPTION":"MOBILE",
"LEAST_USED_PAYMENT_OPTION":"USSD",
"MOST_SUCCESSFUL_PAYMENT_OPTION":"JM"
}
]
}
}
Request Parameters
APINAME
Mandatory
GETTODAYSDATA
Datatype: Alpha
MODE
Mandatory
Mode is used to get in what format response is required. For XML 1 , for JSON 2
Datatype: Numeric
REQUESTID
Mandatory
This should be in uuid format, it will be used to track the request
Datatype: Numeric
STARTDATETIME
Mandatory
Start date time to fetch transaction
Datatype: Alpha
ENDDATETIME
Mandatory
End date time to fetch transaction
Datatype: Alpha
MID
Mandatory
Merchant ID should be passed in this field
Datatype: Alpha
TRANID
Mandatory
JioMoney Transaction ID (RRN) should be passed in this field
Datatype: Alphanumeric
CHECKSUM
Mandatory
Checksum should be passed along with request.
Datatype: Alphanumeric |
Response Parameters
STATUS
API status
Datatype: String
TOTAL_TXN_COUNT
Total transaction count
Datatype: String
SUCCESS_TXN_COUNT
Success transaction count
Datatype: String
FAILED_TXN_COUNT
Failed transaction count
Datatype: String
REFUND_TXN_COUNT
Refund transaction count
Datatype: String
CHARGEBACK_TXN_COUNT
Chargeback transaction count
Datatype: String
TOTAL_TXN_AMOUNT
Total transaction count
Datatype: String
TOTAL_REFUND_AMOUNT
Total refund amount
Datatype: String
TOTAL_SETTLEMENT_AMOUNT
Total settlement amount
Datatype: String
MOST_USED_PAYMENT_OPTION
Most used payment option selected while doing transaction
Datatype: String
LEAST_USED_PAYMENT_OPTION
Least used payment option selected while doing transaction
Datatype: String
MOST_SUCCESSFUL_PAYMENT_OPTION
Most successful payment option
Datatype: String
MOBILE_TXN_PERCENT
Mobile transaction percentage
Datatype: String |
Error Codes
000
Success
130
Refund Is Not Allowed For Split Settlement Master Transaction
131
Refund Not Allowed For This Transaction
132
Full Refund Already Processed For This Transaction
133
Invalid Input Parameter - Additional_Info
134
Unable To Process The Refund Transaction
135
Invalid Input Parameter - Org_Txn_Timestamp
136
Invalid Input Parameter - Txn_Amount
137
Refund Not Allowed - Invalid Merchant
138
Invalid Input Parameter - Merchant_Id
139
Refund Not Allowed For This Date
|
STATUSQUERY
This API is to verify status of a transaction with JioMoney. This API provides an additional layer of verification of a transaction post receiving browser response. This API needs to be called immediately after getting browser response. Merchants can verify the status and other parameters received in the response to check for any tampering by user.
Test URL
https://testpg.rpay.co.in/reliance-webpay/v1.0/payment/status
Production URL
https://testpg.rpay.co.in/reliance-webpay/v1.0/payment/status
Checksum Format
APINAME~MODE~REQUESTID~STARTDATETIME~ENDDATETIME~MID~TRANID~CHECKSUM
Sample Request { JSON } :
{
"request_header":{
"api_name":"STATUSQUERY",
"version":"1.0"
},
"checksum":"102fef20ff5a79d42c4696534adcc64a997ba4bca8241 f53ba6a0242146f8be5",
"payload_data":{
"merchant_id":"100001000014146",
"tran_ref_no":"WCIKGU2XDWIT",
"client_id":"10000002"
}
}
Sample Response { JSON }:
{
"response_header":{
"version":"1.0",
"api_name":"STATUSQUERY",
"api_status":"1",
"api_msg":"Transaction Fetched Successfully"
},
"payload_data":{
"client_id":"10000002",
"merchant_id":"100001000014146",
"tran_ref_no":"WCIKGU2XDWIT",
"jm_tran_ref_no":"901033353105",
"txn_amount":"1.00",
"txn_type":"NB",
"txn_status":"SUCCESS"
}
}
Request Parameters
API_NAME
Mandatory
STATUSQUERY
Datatype: Alphanumeric
VERSION
Mandatory
API Version number.
Datatype: Numeric
CLIENT_ID
Mandatory
Client Id given by Reliance Jio Money
Datatype: Numeric
MERCHANT_ID
Mandatory
Merchant Id given by Reliance Jio Money.
Datatype: Numeric
TRAN_REF_NO
Mandatory
Transaction extref number provided by the merchant during the purchase transaction.
Datatype: Alphanumeric
CHECKSUM
Mandatory
Checksum Value for the above Checksum generation format using the same Checksum seed.
Datatype: Alphanumeric |
Response Parameters
VERSION
API Version number.
Datatype: String
API_NAME
Name of the API.(STATUSQUERY)
Datatype: String
API_STATUS
It shows whether the API request was success or failure. 0 for Failure and 1 for Success
Datatype: String
API_MSG
Description for API_STATUS code.
Datatype: String
CLIENT_ID
Client Id given by Reliance Jio Money
Datatype: String
MERCHANT_ID
Merchant Id given by Reliance Jio Money
Datatype: String
TRAN_REF_NO
Transaction extref number provided by the merchant during the purchase transaction.
Datatype: String
JM_TRAN_REF_NO
Jio Money Transaction Reference Number.
Datatype: String
TXN_AMOUNT
Transaction Amount.
Datatype: String
TXN_TYPE
JM: JioMoney, CC: Credit Card, DB: Debit Card, IB: Internet Banking
Datatype: String
TXN_STATUS
SUCCESS or FAILURE
Datatype: String |
Error Codes
000
Success
130
Refund Is Not Allowed For Split Settlement Master Transaction
131
Refund Not Allowed For This Transaction
132
Full Refund Already Processed For This Transaction
133
Invalid Input Parameter - Additional_Info
134
Unable To Process The Refund Transaction
135
Invalid Input Parameter - Org_Txn_Timestamp
136
Invalid Input Parameter - Txn_Amount
137
Refund Not Allowed - Invalid Merchant
138
Invalid Input Parameter - Merchant_Id
139
Refund Not Allowed For This Date
|