QRIS
Process Flow

Process Flow Sequence Diagram
Generate QR MPM
-
Service Code: 47
-
URL
Sandboxhttps://sandbox-api.cashin.co.id/pg/fo/api/v1.0/qr/qr-mpm-generateProductionhttps://api.cashin.co.id/pg/fo/api/v1.0/qr/qr-mpm-generateRelative path url for signature/api/v1.0/qr/qr-mpm-generate -
Method: POST
-
Content Type: application/json
-
Request Header:
No Name Type Length Required Description Example 1 X-TIMESTAMP String 25 Mandatory Transaction date format in YYYY-MM-DDTHH:mm:ss+07:00. Time must be in GMT+7 (Jakarta time) 2024-03-01T14:56:11+07:00 2 X-PARTNER-ID String 36 Mandatory Identifier id client generated by Cash In CID12345678910 3 X-EXTERNAL-ID String 36 Mandatory Unique Identifier request must be unique each request
Numeric string
31758165311269888980939441231201 4 X-SIGNATURE String Variable Mandatory Signature generated using Asymmetric Asymmetric SNAP Method 5 CHANNEL-ID String 5 Mandatory Digits 9501 -
Request Body:
No Name Type Length Required Description Example 1 partnerReferenceNo String 25 Mandatory Transaction identifier on Merchant System REF1234567890 2 validityPeriod String 25 Mandatory The validity period of QR, must be in the format YYYY-MM-DDTHH:mm:ss+07:00. Time must be in GMT+7 (Jakarta time) 2024-03-01T14:56:11+07:00 3 amount JSON Object Mandatory 4 amount.value String 19 Mandatory Transaction amount, must be ended with .00 10000.00 5 amount.currency String 3 Mandatory Currency based on ISO IDR 6 feeAmount JSON Object Mandatory 7 feeAmount.value String 19 Mandatory Transaction fee, must be ended with .00 0.00 8 feeAmount.currency String 3 Mandatory Currency based on ISO IDR -
Response Body:
No Name Type Length Required Description Example 1 responseCode String 7 Mandatory Response Code 2004700 2 responseMessage String 150 Mandatory Response Message Successful 3 partnerReferenceNo String 64 Mandatory Transaction identifier on Merchant System REF1234567890 4 referenceNo String 64 Mandatory Transaction identified on Cash In System PAY1234567890 5 qrContent String 512 Mandatory QR String MPM -
Response Code:
Code Description 2004700 Successful 4004701 Invalid field format 4004702 Invalid mandatory field 4014700 Unauthorized [reason] 5004700 Internal server error Example Request - QRIS MPMcurl --location 'https://sandbox-api.cashin.co.id/pg/fo/api/v1.0/qr/qr-mpm-generate' \
--header 'X-TIMESTAMP: 2024-03-01T14:56:11+07:00' \
--header 'X-PARTNER-ID: CID1234567890' \
--header 'X-EXTERNAL-ID: 3fa85f64-5717-4562-b3fc-2c963f66afa6' \
--header 'X-SIGNATURE: 1iND8TUKOnGvH4TIFsQB5cCvtYyQKvJrmdpqjgQaLLLiHXdmWsVX8SAnmdq7dWWeKtfl1SKovegk9nwCmjXFHg==' \
--header 'CHANNEL-ID: 9552' \
--header 'Content-Type: application/json' \
--data '{
"partnerReferenceNo":"REF1234567890",
"validityPeriod":"2024-03-01T15:16:11+07:00",
"amount":{
"value":"10000.00",
"currency":"IDR"
},
"feeAmount":{
"value":"0.00",
"currency":"IDR"
}
}'Example Response - QRIS MPM{
"responseCode": "2004700",
"responseMessage": "Successful",
"partnerReferenceNo": "REF1234567890",
"referenceNo": "PAY1234567890",
"qrContent": "”
}
Query Payment
-
Service Code: 51
-
URL
Sandboxhttps://sandbox-api.cashin.co.id/pg/fo/api/v1.0/qr/qr-mpm-queryProductionhttps://api.cashin.co.id/pg/fo/api/v1.0/qr/qr-mpm-queryRelative path url for signature/api/v1.0/qr/qr-mpm-query -
Method: POST
-
Content Type: application/json
-
Request Header:
No Name Type Length Required Description Example 1 X-TIMESTAMP String 25 Mandatory Transaction date format in YYYY-MM-DDTHH:mm:ss+07:00. Time must be in GMT+7 (Jakarta time) 2024-03-01T14:56:11+07:00 2 X-PARTNER-ID String 36 Mandatory Identifier id client generated by Cash In CID12345678910 3 X-EXTERNAL-ID String 36 Mandatory Unique Identifier request must be unique each request
Numeric string
31758165311269888980939441231201 4 X-SIGNATURE String Variable Mandatory Signature generated using Asymmetric Asymmetric SNAP Method 5 CHANNEL-ID String 5 Mandatory Digits 9501 -
Request Body:
No Name Type Length Required Description Example 1 merchantId String Mandatory Identifier id merchant generated by Cash In MCH1234567890 2 originalPartnerReferenceNo String 64 Mandatory Transaction identifier on Merchant System REF1234567890 3 serviceCode String 2 Mandatory Transaction type indicator is based on the service code 47 -
Response Body:
No Name Type Length Required Description Example 1 responseCode String 7 Mandatory Response Code 2005100 2 responseMessage String 150 Mandatory Response Message Successful 3 originalPartnerReferenceNo String 64 Mandatory Transaction identifier on Merchant System REF1234567890 4 originalReferenceNo String 64 Mandatory Transaction identifier on Cash In System PAY1234567890 5 serviceCode String 2 Mandatory Transaction type indicator is based on the service code 47 6 latestTransactionStatus String 2 Mandatory Status of the latest transaction 00 7 latestTransactionDesc String 2 Mandatory Description of transaction status Success 8 paidTime String 25 Mandatory Transaction paid date, format in YYYY-MM-DDTHH:mm:ss+07:00. Time must be in GMT+7 (Jakarta time) 2024-03-01T14:56:11+07:00 9 amount JSON Object Mandatory 10 amount.value String 19 Mandatory Transaction amount, must be ended with .00 10000.00 11 amount.currency String 3 Mandatory Currency based on ISO IDR -
Response Code:
Code Description 2005100 Successful 4005101 Invalid field format 4005102 Invalid mandatory field 4015100 Unauthorized [reason] 5005100 Internal server error Example Request - Query Paymentcurl --location 'https://sandbox-api.cashin.co.id/pg/fo/api/v1.0/qr/qr-mpm-generate' \
--header 'X-TIMESTAMP: 2024-03-01T14:56:11+07:00' \
--header 'X-PARTNER-ID: CID1234567890' \
--header 'X-EXTERNAL-ID: 3fa85f64-5717-4562-b3fc-2c963f66afa6' \
--header 'X-SIGNATURE: 1iND8TUKOnGvH4TIFsQB5cCvtYyQKvJrmdpqjgQaLLLiHXdmWsVX8SAnmdq7dWWeKtfl1SKovegk9nwCmjXFHg==' \
--header 'CHANNEL-ID: 95051' \
--header 'Content-Type: application/json' \
--data '{"merchantId":"MCH1234567890","originalPartnerReferenceNo":"REF1234567890","serviceCode":"47"}'Example Response - Query Payment{
"responseCode": "2005100",
"responseMessage": "Successful",
"originalPartnerReferenceNo": "REF1234567890",
"originalReferenceNo": "PAY1234567890",
"serviceCode": "47 ",
"latestTransactionStatus": "00",
"latestTransactionDesc": "Success",
"paidTime": "2024-03-01T14:56:11+07:00",
"amount": {
"value": 10000.00,
"currency": "IDR"
}
}
API Acknowledge Payment (Notify Callback)
QRIS & Direct Debit (Snap Api Version)
-
The parameters provided by Cash In for This integration are:
- clientId
- publicKey
-
URL :
https://{your_domain}/v1.0/debit/notifyRelative path url for signaturehttps://{your_domain}/v1.0/debit/notify -
Method: POST
-
Content Type: application/json
-
Request Header:
| No | Name | Type | Length | Required | Description | Example |
|---|---|---|---|---|---|---|
| 1 | X-PARTNER-ID | String | 36 | Mandatory | Identifier id client generated by Cash In | CID12345678910 |
| 2 | X-EXTERNAL-ID | String | 36 | Mandatory | Unique Identifier request must be unique each request | 3fa85f64-5717-4562-b3fc-2c963f66afa6 |
| 3 | X-TIMESTAMP | 25 | Mandatory | Transaction date format in YYYY-MM-DDTHH:mm:ss+07:00. Time must be in GMT+7 (Jakarta time) | ||
| 4 | X-SIGNATURE | String | Mandatory | Signature generated using Asymmetric Method | ||
| 5 | CHANNEL -ID | String | Mandatory |
- Request Body:
| No | Name | Type | Length | Required | Description | Example |
|---|---|---|---|---|---|---|
| 1 | originalPartnerReferenceNo | String | 64 | Mandatory | Transaction identifier on Cash In System | CID12345678910 |
| 2 | originalReferenceNo | String | 64 | Mandatory | Transaction identifier on partner (merchant) system | 3fa85f64-5717-4562-b3fc-2c963f66afa6 |
| 3 | originalExternalId | Number | 36 | Optional | Unique Identifier request must be unique each request | |
| 4 | latestTransactionStatus | String | 2 | Mandatory | Category code for the status of the payment. The values include: • 00 = Success, the payment has been paid • 05 = Cancelled, the payment has been closed because it is expired | |
| 5 | transactionStatusDesc | String | 50 | Mandatory | description of transaction status | |
| 6 | amount | JSON Object | Mandatory | |||
| 7 | amount.value | String | Mandatory | Amount Value | ||
| 8 | amount.currency | String | 25 | Mandatory | Amount Currency | |
| 9 | createdTime | String | 25 | Mandatory | Transaction created time format in YYYY-MM-DDTHH:mm:ss+07:00. Time must be in GMT+7 (Jakarta time) | |
| 10 | finishedTime | String | 25 | Mandatory | Transaction finished time format in YYYY-MM-DDTHH:mm:ss+07:00. Time must be in GMT+7 (Jakarta time) |
- Response:
| No | Name | Type | Length | Required | Description | Example |
|---|---|---|---|---|---|---|
| 1 | responseCode | String | 7 | Mandatory | Response Code | |
| 2 | responseMessage | String | 150 | Mandatory | Response Message |
Example Request - API Notify for Acknowledge Payment
curl --location --request POST 'https://{your_domain}/v1.0/debit/notify \
--header 'X-PARTNER-ID: CID17304190397339244f' \
--header 'X-EXTERNAL-ID: 3fa85f64-5717-4562-b3fc-2c963f66afa6' \
--header 'X-TIMESTAMP: 2024-11-04T10:00:00+07:00' \
--header 'X-SIGNATURE: 1iND8TUKOnGvH4TIFsQB5cCvtYyQKvJrmdpqjgQaLLLiHXdmWsVX8SAnmdq7dWWeKtfl1SKovegk9nwCmjXFHg==' \
--header 'CHANNEL-ID: 9552'\
--header 'Content-Type: application/json' \
--data-raw '{
"originalPartnerReferenceNo": "PAY12345678910",
"originalReferenceNo": "TRX-MERCHANT-0001",
“orgiginalExternalId” : “123232144”,
"latestTransactionStatus": “00”,
“latestTransactionStatusDec”: “Success”,
"amount": {
“value”: 1000,
“currency”: “IDR”
},
"createdTime": "2024-11-04T10:00:00+07:00”,
"finishedTime": "2024-11-04T10:00:00+07:00"
}'
Example Response - API Notify for Acknowledge Payment
{
"responseCode": “2005600”,
"responseMessage": "Successful”
}