Cipherpay-API-Documentation - UPI Collect

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 11

CipherPay

API
Documentation for

UPI Collect
Version 1.1
Version Control
Date Version Author Details
24-Dec-22 1.0 Himanshu Initial Version

14-Nov-23 1.1 Himanshu Added Intent URL


Initiate Collect
Request:

METHOD: POST
URL: {{url}}/v3/payin/initiate-collect
HEADER:
"Token: JWT-Token",
"cache-control: no-cache",
"content-type: application/json",
"User-Agent: APIAGENT/7.29.2",
“Auth: EncryptedHeader”,
“Key: EncryptedKey”

PLAIN TEXT BODY:


{
“sender_vpa”: “9999999999@fin”,
“sender_name”: “Money sender”,
“receiver_vpa”: cp.corp@fin,
"amount": "100",
"remarks": "UPI Collect",
"refid": "1234567",
“expiry”: “5” //in minutes
}

Success Response: {
"statuscode": 200,
"status": true,
"responsecode": 1,
"data": {
"refid": "1234567",
"sender_name": "SENDER NAME",
“sender_vpa”: “SENDER VPA”, "receiver_name": "RECEIVER
NAME",
“receiver_vpa": "RECEIVER VPA",
“txnid”: “transaction id”,
“upiRefId”: “Upi reference id”,
"amount": "100.00",
"remarks": "",
"status": 0|1|2|3|4,
"utr": "",
"msg": "Transaction initiated successfully"
}
}
Sn status Description
o
.
1 1 Transaction
Successful
2 2 Transaction under
Process
3 3 Transaction under
Process
4 4 Transaction under
Process
5 0 Payin Transaction
Failed

Sno HTTP Response Description


. Response Code
Code
1 200 1 Transaction
details fetched

2 401 2 Unauthorized
Access
Message
3 422 - Validation
Error
4 203 - Some other
error

Transaction Status
Request:

METHOD: POST
URL: {{url}}/v3/payin/status-enquiry
HEADER:
"Token: JWT-Token",
"cache-control: no-cache",
"content-type: application/json",
"User-Agent: APIAGENT/7.29.2",
“Auth: EncryptedHeader”,
“Key: EncryptedKey”

PLAIN TEXT BODY:


{
"refid": "1234567",
}

Success Response: {
"statuscode": 200,
"status": true,
"responsecode": 1,
"data": {
"refid": "1234567",
"sender_name": "SENDER NAME",
“sender_vpa”: “SENDER VPA”,
"receiver_name": "RECEIVER NAME",
“receiver_vpa": "RECEIVER VPA",
“txnid”: “transaction id”,
“upiRefId”: “Upi reference id”,
"amount": "100.00",
"remarks": "",
"status": 0|1|2|3|4,
"utr": "",
"msg": "Transaction details fetched"
}
}
Sn status Description
o
.
1 1 Transaction
Successful
2 2 Transaction under
Process
3 3 Transaction under
Process
4 4 Transaction under
Process
5 0 Payin Transaction
Failed

Sno HTTP Response Description


. Response Code
Code
1 200 1 Transaction
details fetched

2 401 2 Unauthorized
Access
Message
3 422 - Validation
Error

Dynamic QR
Request:
METHOD: POST
URL: {url}}/v3/payin/dynamic-qr
HEADER:
"Token: JWT-Token",
"cache-control: no-cache",
"content-type: application/json",
"User-Agent: APIAGENT/7.29.2",
“Auth: EncryptedHeader”,
“Key: EncryptedKey”

PLAIN TEXT BODY:


{
“receiver_vpa”: cp.corp@fin, // Provided by Cipherpay
"amount": "100",
"remarks": "UPI Collect",
"refid": "1234567",
“expiry”: “5”, //in minutes
“type”: “QR” // “QR” | “INTENT”
}

Success Response: {
"statuscode": 200,
"status": true,
"responsecode": 1,
"data": {
"refid": "1234567",
"sender_name": "SENDER NAME",
“sender_vpa”: “SENDER VPA”,
"receiver_name": "RECEIVER NAME",
“receiver_vpa": "RECEIVER VPA",
“txnid”: “transaction id”,
“upiRefId”: “Upi reference id”,
"amount": "100.00",
"remarks": "",
"status": 0|1|2|3|4,
"utr": "",

"msg": "QR Generated Successfully."


},
“qr”: “base64-qr-string”,
“intent”: “intent url”
}

Sn status Description
o
.
1 1 Transaction
Successful
2 2 Transaction under
Process
3 3 Transaction under
Process
4 4 Transaction under
Process
5 0 Transaction Failed

Sno HTTP Response Description


. Response Code
Code
1 200 1 Transaction
details fetched

2 401 2 Unauthorized
Access
Message
3 422 - Validation
Error
Transaction Webhook
Request plain text:
{
"event": "Cipher-UPI-Collect",
"param": {
"refid": "1234567",
"sender_name": "SENDER NAME",
“sender_vpa”: “SENDER VPA”,
"receiver_name": "RECEIVER NAME",
“receiver_vpa": "RECEIVER VPA",
“txnid”: “transaction id”,
“upiRefId”: “Upi reference id”,
"amount": "100.00",
"remarks": "",
"status": 0|1|2|3|4,
"utr": "",
},
"param_enc":
"eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJyZWZpZCI6IjIwMzgxNDkiLCJhY2tubyI6
MTIxOTUsIm5hbWUiOiJDSEFORFJBU0hFS0hBUiIsIm1vYmlsZSI6Ijk1OTEwODIwMT
QiLCJhbW91bnQiOiIxOTAwLjAwIiwiY2hhcmdlIjoiMS41NSIsInJlbWFya3MiOm51bGwsI
nN0YXR1cyI6MSwidXRyIjoiMjM0OTExMzg1NDk5In0.qM1sIz6NIiNAwwzFevYrbyLwm
Z3l3yAcOiBq7FcPZE4"
}

Encrypted Request:
{
“requestData":"ILxehoscp+GyNVUr0h6lsSIkwv5K5j4Dxei1TqUL1xP+Pig60/
oxW7Eld352+9K3zBCydMG6xX7vir7Qw9Oefgk3PMHZU42Z3vIYXCc5I+OskI4iFLl6qiat
/h4/OFNgXebW4uQiIj8n/i9C8xMW9RcZqiQBUhCnSa8uEKAt1pXZ/
irkD3v5x9mjZnp3aL80CPyxXzy286XHK2NJ7JkJx8g0VkWQPSbTbws+21AO3DyM1gVjN
3yNUkXAeWB/ka64AXp/
dNEM5xA0KPGdRqTHKd75iCQOuMad6sJXpJMdfyu1w3JcPsF/DsScW9RvwT/
IsXqUZK5IRcyCUc6+tKlfSPCvNuT1/I5Q7oyhu2L0sGt/4w4QbFVPStHFx0K6D07AWVW/
e0/GkId/
JtVjVg28VOWXK8VCq8LOHQXT6dmAzmIwbVBYnSyIcn2wAOghi7dPbzWglHL+1EY4
bGi26KAqSAzx/
rLfdsHg1EWcgOYRV5K6yvBnYm0xd4R11R0I1owI7RqmC1y6VZoXTMTSlko5+u8SiNb/
ejoF+3n01+BElL18fnPdThPX/rtF2T8hFbg1y5cFoRP/
619WbRtAwFEMqe2zN33Wi9jqIDqEXptWVbW7pKFDswMUyNJRYqXUfgiQikfUnSxrp6
HXGAmySaZy2Q=="
}
Headers:
Key:
“Qv5KhCVtuKioCwGEQzCIXlNSHTw80YUWI34J+p849couneAd86MJUNK6v6ST8Hfv8
RQMR9viTGCdTezCNNck/jjpguxcKG0lDQfeeHAMjJr/TOao/
UT4FTnHcogxBFyh2wteZYX6iUI09JjZme2wbwSqBJyP0WzwocPnP5ApjJSlGpLh2k2lRO
zFe/FAie6wPd2X9oM7w76FQGtvfsX43m1xZeVFVFz2AIPa46GtEyBZP0MRW10cbaC/
+wjXMUoQ+6UR7z4/PEiJgM/
aoNXkTNmlH0HrTvkOc6sPI9sGfBtBv1RZJQGqjP5pLAELgXkCav0+DmVLHwlXe+3Bof
+PBg==“

Decryption/Consumption steps:
1. Decrypt the RSA using using your private key.
2. Generate AES using the salt decrypted in step 1.
3. Using IV as decrypted salt and the aes key, decrypt the requestData using aes-128cbc.

4. Consume the decrypted callback.

You might also like