Request Headers
Header Name | Header Value |
---|---|
| application/json |
| SHA256(base64 encoded payload + |
| Callback Response will be sent to this URL once the user responds to the collect request. |
{
"merchantId":"MERCHANTUAT",
"transactionId":"TX123456789",
"merchantOrderId":"M123456789",
"amount":100,
"instrumentType":"VPA",
"instrumentReference":"[email protected]",
"message":"Collect for the XXX order",
"email":"[email protected]",
"expiresIn":180,
"shortName":"Customer",
"subMerchantId":"DemoMerchant"
}
{
"request": "eyAgCiAgICJtZXJjaGFudElkIjoiTUVSQ0hBTlRVQVQiLAogICAidHJhbnNhY3Rpb25JZCI6IlRYMTIzNDU2Nzg5IiwKICAgIm1lcmNoYW50T3JkZXJJZCI6Ik0xMjM0NTY3ODkiLAogICAiYW1vdW50IjoxMDAsCiAgICJpbnN0cnVtZW50VHlwZSI6IlZQQSIsCiAgICJpbnN0cnVtZW50UmVmZXJlbmNlIjoidGVzdHZwYUB5YmwiLAogICAibWVzc2FnZSI6IkNvbGxlY3QgZm9yIHRoZSBYWFggb3JkZXIiLAogICAiZW1haWwiOiJhbWl0eHh4NzVAZ21haWwuY29tIiwKICAgImV4cGlyZXNJbiI6MTgwLAogICAic2hvcnROYW1lIjoiQ3VzdG9tZXIiLAogICAic3ViTWVyY2hhbnRJZCI6IkRlbW9NZXJjaGFudCIKfQ=="
}
Request Parameters
Parameter Name | Type | Description | Mandatory |
---|---|---|---|
|
| Unique Merchant ID assigned to the merchant by PhonePe |
|
|
| Unique Transaction ID generated by the merchant to track this request to PhonePe |
|
|
| Unique Order ID generated by the merchant |
|
|
| Amount in Paisa |
|
|
| Has the value |
|
|
| VPA address entered by the user |
|
|
| The expiry time of the collect request (in seconds). Payment should be |
|
|
| Recommended to pass |
|
|
| Email Id of User |
|
|
| Customer Name |
|
|
| Sub-category of the merchant |
|
Sample Response
{
"success": true,
"code": "SUCCESS",
"message": "Your request has been successfully completed.",
"data":{
"transactionId": "TX123456789",
"amount": 100,
"merchantId": "MERCHANTUAT",
"providerReferenceId": "C161XXXXXXXXXX2210"
}
}
Response Parameters
Parameter Name | Type | Description |
---|---|---|
|
| Success status of the request |
|
| See below section for list of codes |
|
| Short message about status of request |
|
| Unique Transaction ID generated by the merchant to track this request to PhonePe |
|
| Unique Merchant ID assigned to the merchant by PhonePe |
|
| Transaction amount in paise |
|
| PhonePe transaction Id |
Response Codes
The code in the above API response could be:
SUCCESS
: Collect was successfully sent to VPAINTERNAL_SERVER_ERROR
: Something went wrong. Need to validate through check transaction status API first to know the payment status.INVALID_TRANSACTION_ID
: TransactionId in request was duplicateBAD_REQUEST
: Some mandatory parameter was missingAUTHORIZATION_FAILED
: Checksum sent in header was not valid
S2S Callback
When the user responds to the collect request sent by the merchant, a request is sent to either the URL provided in X-CALLBACK-URL or the merchant's registered callback URL. By default, this is a POST request.
Note:
- The callback would be sent only for success/Failed scenarios. For pending cases, there won't be any callback. For such transactions, Check Status API should be called.
- If payment is in the pending state, the Merchant should display a message "Payment is in progress, please wait for sometime."
- The payment will always be closed within the expiry time passed in the collect request.