Skip to main content

QRIS

Process Flow

process-flow-sequence-diagram
Process Flow Sequence Diagram

Generate QR MPM

  • Service Code: 47

  • URL

    Sandbox
    https://sandbox-api.cashin.co.id/pg/fo/api/v1.0/qr/qr-mpm-generate
    Production
    https://api.cashin.co.id/pg/fo/api/v1.0/qr/qr-mpm-generate
    Relative path url for signature
    /api/v1.0/qr/qr-mpm-generate
  • Method: POST

  • Content Type: application/json

  • Request Header:

    NoNameTypeLengthRequiredDescriptionExample
    1X-TIMESTAMPString25MandatoryTransaction 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
    2X-PARTNER-IDString36MandatoryIdentifier id client generated by Cash InCID12345678910
    3X-EXTERNAL-IDString36Mandatory

    Unique Identifier request must be unique each request

    Numeric string

    31758165311269888980939441231201
    4X-SIGNATUREStringVariableMandatorySignature generated using Asymmetric Asymmetric SNAP Method
    5CHANNEL-IDString5MandatoryDigits9501
  • Request Body:

    NoNameTypeLengthRequiredDescriptionExample
    1partnerReferenceNoString25MandatoryTransaction identifier on Merchant SystemREF1234567890
    2validityPeriodString25MandatoryThe 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
    3amountJSON ObjectMandatory
    4amount.valueString19MandatoryTransaction amount, must be ended with .0010000.00
    5amount.currencyString3MandatoryCurrency based on ISOIDR
    6feeAmountJSON ObjectMandatory
    7feeAmount.valueString19MandatoryTransaction fee, must be ended with .000.00
    8feeAmount.currencyString3MandatoryCurrency based on ISOIDR
  • Response Body:

    NoNameTypeLengthRequiredDescriptionExample
    1responseCodeString7MandatoryResponse Code2004700
    2responseMessageString150MandatoryResponse MessageSuccessful
    3partnerReferenceNoString64MandatoryTransaction identifier on Merchant SystemREF1234567890
    4referenceNoString64MandatoryTransaction identified on Cash In SystemPAY1234567890
    5qrContentString512MandatoryQR String MPM
  • Response Code:

    CodeDescription
    2004700Successful
    4004701Invalid field format
    4004702Invalid mandatory field
    4014700Unauthorized [reason]
    5004700Internal server error
    Example Request - QRIS MPM
    curl --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

    Sandbox
    https://sandbox-api.cashin.co.id/pg/fo/api/v1.0/qr/qr-mpm-query
    Production
    https://api.cashin.co.id/pg/fo/api/v1.0/qr/qr-mpm-query
    Relative path url for signature
    /api/v1.0/qr/qr-mpm-query
  • Method: POST

  • Content Type: application/json

  • Request Header:

    NoNameTypeLengthRequiredDescriptionExample
    1X-TIMESTAMPString25MandatoryTransaction 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
    2X-PARTNER-IDString36MandatoryIdentifier id client generated by Cash InCID12345678910
    3X-EXTERNAL-IDString36Mandatory

    Unique Identifier request must be unique each request

    Numeric string

    31758165311269888980939441231201
    4X-SIGNATUREStringVariableMandatorySignature generated using Asymmetric Asymmetric SNAP Method
    5CHANNEL-IDString5MandatoryDigits9501
  • Request Body:

    NoNameTypeLengthRequiredDescriptionExample
    1merchantIdStringMandatoryIdentifier id merchant generated by Cash InMCH1234567890
    2originalPartnerReferenceNoString64MandatoryTransaction identifier on Merchant SystemREF1234567890
    3serviceCodeString2MandatoryTransaction type indicator is based on the service code47
  • Response Body:

    NoNameTypeLengthRequiredDescriptionExample
    1responseCodeString7MandatoryResponse Code2005100
    2responseMessageString150MandatoryResponse MessageSuccessful
    3originalPartnerReferenceNoString64MandatoryTransaction identifier on Merchant SystemREF1234567890
    4originalReferenceNoString64MandatoryTransaction identifier on Cash In SystemPAY1234567890
    5serviceCodeString2MandatoryTransaction type indicator is based on the service code47
    6latestTransactionStatusString2MandatoryStatus of the latest transaction00
    7latestTransactionDescString2MandatoryDescription of transaction statusSuccess
    8paidTimeString25MandatoryTransaction 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
    9amountJSON ObjectMandatory
    10amount.valueString19MandatoryTransaction amount, must be ended with .0010000.00
    11amount.currencyString3MandatoryCurrency based on ISOIDR
  • Response Code:

    CodeDescription
    2005100Successful
    4005101Invalid field format
    4005102Invalid mandatory field
    4015100Unauthorized [reason]
    5005100Internal server error
    Example Request - Query Payment
    curl --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/notify
    Relative path url for signature
    https://{your_domain}/v1.0/debit/notify
  • Method: POST

  • Content Type: application/json

  • Request Header:

NoNameTypeLengthRequiredDescriptionExample
1X-PARTNER-IDString36MandatoryIdentifier id client generated by Cash InCID12345678910
2X-EXTERNAL-IDString36MandatoryUnique Identifier request must be unique each request3fa85f64-5717-4562-b3fc-2c963f66afa6
3X-TIMESTAMP25MandatoryTransaction date format in YYYY-MM-DDTHH:mm:ss+07:00. Time must be in GMT+7 (Jakarta time)
4X-SIGNATUREStringMandatorySignature generated using Asymmetric Method
5CHANNEL -IDStringMandatory
  • Request Body:
NoNameTypeLengthRequiredDescriptionExample
1originalPartnerReferenceNoString64MandatoryTransaction identifier on Cash In SystemCID12345678910
2originalReferenceNoString64MandatoryTransaction identifier on partner (merchant) system3fa85f64-5717-4562-b3fc-2c963f66afa6
3originalExternalIdNumber36OptionalUnique Identifier request must be unique each request
4latestTransactionStatusString2MandatoryCategory 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
5transactionStatusDescString50Mandatorydescription of transaction status
6amountJSON ObjectMandatory
7amount.valueStringMandatoryAmount Value
8amount.currencyString25MandatoryAmount Currency
9createdTimeString25MandatoryTransaction created time format in YYYY-MM-DDTHH:mm:ss+07:00. Time must be in GMT+7 (Jakarta time)
10finishedTimeString25MandatoryTransaction finished time format in YYYY-MM-DDTHH:mm:ss+07:00. Time must be in GMT+7 (Jakarta time)
  • Response:
NoNameTypeLengthRequiredDescriptionExample
1responseCodeString7MandatoryResponse Code
2responseMessageString150MandatoryResponse 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”
}