Brick API Documentation
SNAP Disbursement

SNAP Regular

Create a Regular transfer and retrieve its final outcome.

POST /v2/payments/disbursements/snap/regular-transfer

Submit a Regular transfer. A successful submission returns Processing, not a completed transfer.

Prepare the transfer

  • Complete Setup Client Key and Signature and ensure Regular is available for your account.
  • Set transferType to REGULAR.
  • Use a unique partnerReferenceNo for each new transfer.
  • Provide an amount with two decimal places and currency IDR.
  • Provide the beneficiary’s bank code, account number, account name, and a remark.

Submit a transfer

Request · cURL

TerminalCode
curl --request POST \ --url '{{base_url}}/v2/payments/disbursements/snap/regular-transfer' \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer snap_demo_20261020_83ac67125b8f' \ --header 'X-CLIENT-KEY: 83ac6712-5b8f-4b0d-9e24-63aa79102d45' \ --header 'X-TIMESTAMP: 2026-10-20T09:00:00+07:00' \ --header 'X-SIGNATURE: U05BUC1ET0NTLUVYQU1QTEUtU0lHTkFUVVJFLU5PVC1GT1ItQVVUSA==' \ --header 'X-REFERENCE-ID: 61fd8e9b-4c37-4d5a-83bd-2b4589c0a621' \ --data-raw '{ "partnerReferenceNo": "SNAP-REG-20261020-0001", "transferType": "REGULAR", "amount": { "value": "29999.00", "currency": "IDR" }, "beneficiaryAccountNo": "112233445", "beneficiaryBankCode": "MANDIRI", "beneficiaryAccountName": "PROD ONLY", "beneficiaryEmail": "", "remark": "Payment" }'

Response · HTTP 200

JSONCode
{ "responseCode": "2000100", "responseMessage": "Successful", "referenceNo": "BRICK-REG-20261020-0001", "partnerReferenceNo": "SNAP-REG-20261020-0001", "transferType": "REGULAR", "amount": { "value": "29999.00", "currency": "IDR" }, "beneficiaryAccountNo": "112233445", "beneficiaryBankCode": "MANDIRI", "beneficiaryAccountName": "PROD ONLY", "latestTransactionStatus": "03", "transactionStatusDesc": "Processing", "transactionDate": "2026-10-20T09:00:02+07:00" }

Test scenarios

Use these example bank and account details for the corresponding configured test scenarios.

ScenarioBankAccount numberAccount nameAmount
CompletedMANDIRI112233445PROD ONLY"29999.00"
ProcessingBRI112233445PROD ONLY"10000.00"
FailedMANDIRI112233445PROD ONLY"39999.00"

These are simulation details, not instructions for live transfers. Confirm that the simulation is enabled for your testing account.

Scenario requests and responses

The following examples show each transfer request, accepted response, and subsequent inquiry. Use Check Status with serviceCode: "01".

Acceptance is not completion Even a transfer that later completes or fails is initially accepted as Processing.

Regular — completed

Transfer request · cURL

TerminalCode
curl --request POST \ --url '{{base_url}}/v2/payments/disbursements/snap/regular-transfer' \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer snap_demo_20261020_83ac67125b8f' \ --header 'X-CLIENT-KEY: 83ac6712-5b8f-4b0d-9e24-63aa79102d45' \ --header 'X-TIMESTAMP: 2026-10-20T09:00:00+07:00' \ --header 'X-SIGNATURE: U05BUC1ET0NTLUVYQU1QTEUtU0lHTkFUVVJFLU5PVC1GT1ItQVVUSA==' \ --header 'X-REFERENCE-ID: 61fd8e9b-4c37-4d5a-83bd-2b4589c0a621' \ --data-raw '{ "partnerReferenceNo": "SNAP-REG-20261020-0001", "transferType": "REGULAR", "amount": { "value": "29999.00", "currency": "IDR" }, "beneficiaryAccountNo": "112233445", "beneficiaryBankCode": "MANDIRI", "beneficiaryAccountName": "PROD ONLY", "beneficiaryEmail": "", "remark": "Payment" }'

Accepted response · HTTP 200

JSONCode
{ "responseCode": "2000100", "responseMessage": "Successful", "referenceNo": "BRICK-REG-20261020-0001", "partnerReferenceNo": "SNAP-REG-20261020-0001", "transferType": "REGULAR", "amount": { "value": "29999.00", "currency": "IDR" }, "beneficiaryAccountNo": "112233445", "beneficiaryBankCode": "MANDIRI", "beneficiaryAccountName": "PROD ONLY", "latestTransactionStatus": "03", "transactionStatusDesc": "Processing", "transactionDate": "2026-10-20T09:00:02+07:00" }

Status request · cURL

TerminalCode
curl --request POST \ --url '{{base_url}}/v2/payments/disbursements/snap/status' \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer snap_demo_20261020_83ac67125b8f' \ --header 'X-CLIENT-KEY: 83ac6712-5b8f-4b0d-9e24-63aa79102d45' \ --header 'X-TIMESTAMP: 2026-10-20T09:00:00+07:00' \ --header 'X-SIGNATURE: U05BUC1ET0NTLUVYQU1QTEUtU0lHTkFUVVJFLU5PVC1GT1ItQVVUSA==' \ --header 'X-REFERENCE-ID: 91fd8e9b-4c37-4d5a-83bd-2b4589c0a622' \ --data-raw '{ "originalReferenceNo": "BRICK-REG-20261020-0001", "serviceCode": "01" }'

Response · HTTP 200

JSONCode
{ "responseCode": "2000300", "responseMessage": "Successful", "originalReferenceNo": "BRICK-REG-20261020-0001", "originalPartnerReferenceNo": "SNAP-REG-20261020-0001", "serviceCode": "01", "latestTransactionStatus": "00", "transactionStatusDesc": "Success" }

Regular — processing

Transfer request · cURL

TerminalCode
curl --request POST \ --url '{{base_url}}/v2/payments/disbursements/snap/regular-transfer' \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer snap_demo_20261020_83ac67125b8f' \ --header 'X-CLIENT-KEY: 83ac6712-5b8f-4b0d-9e24-63aa79102d45' \ --header 'X-TIMESTAMP: 2026-10-20T09:00:00+07:00' \ --header 'X-SIGNATURE: U05BUC1ET0NTLUVYQU1QTEUtU0lHTkFUVVJFLU5PVC1GT1ItQVVUSA==' \ --header 'X-REFERENCE-ID: 61fd8e9b-4c37-4d5a-83bd-2b4589c0a621' \ --data-raw '{ "partnerReferenceNo": "SNAP-REG-20261020-0002", "transferType": "REGULAR", "amount": { "value": "10000.00", "currency": "IDR" }, "beneficiaryAccountNo": "112233445", "beneficiaryBankCode": "BRI", "beneficiaryAccountName": "PROD ONLY", "beneficiaryEmail": "", "remark": "Payment" }'

Accepted response · HTTP 200

JSONCode
{ "responseCode": "2000100", "responseMessage": "Successful", "referenceNo": "BRICK-REG-20261020-0002", "partnerReferenceNo": "SNAP-REG-20261020-0002", "transferType": "REGULAR", "amount": { "value": "10000.00", "currency": "IDR" }, "beneficiaryAccountNo": "112233445", "beneficiaryBankCode": "BRI", "beneficiaryAccountName": "PROD ONLY", "latestTransactionStatus": "03", "transactionStatusDesc": "Processing", "transactionDate": "2026-10-20T09:00:02+07:00" }

Status request · cURL

TerminalCode
curl --request POST \ --url '{{base_url}}/v2/payments/disbursements/snap/status' \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer snap_demo_20261020_83ac67125b8f' \ --header 'X-CLIENT-KEY: 83ac6712-5b8f-4b0d-9e24-63aa79102d45' \ --header 'X-TIMESTAMP: 2026-10-20T09:00:00+07:00' \ --header 'X-SIGNATURE: U05BUC1ET0NTLUVYQU1QTEUtU0lHTkFUVVJFLU5PVC1GT1ItQVVUSA==' \ --header 'X-REFERENCE-ID: 91fd8e9b-4c37-4d5a-83bd-2b4589c0a622' \ --data-raw '{ "originalReferenceNo": "BRICK-REG-20261020-0002", "serviceCode": "01" }'

Response · HTTP 200

JSONCode
{ "responseCode": "2000300", "responseMessage": "Successful", "originalReferenceNo": "BRICK-REG-20261020-0002", "originalPartnerReferenceNo": "SNAP-REG-20261020-0002", "serviceCode": "01", "latestTransactionStatus": "03", "transactionStatusDesc": "Processing" }

Regular — failed

Transfer request · cURL

TerminalCode
curl --request POST \ --url '{{base_url}}/v2/payments/disbursements/snap/regular-transfer' \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer snap_demo_20261020_83ac67125b8f' \ --header 'X-CLIENT-KEY: 83ac6712-5b8f-4b0d-9e24-63aa79102d45' \ --header 'X-TIMESTAMP: 2026-10-20T09:00:00+07:00' \ --header 'X-SIGNATURE: U05BUC1ET0NTLUVYQU1QTEUtU0lHTkFUVVJFLU5PVC1GT1ItQVVUSA==' \ --header 'X-REFERENCE-ID: 61fd8e9b-4c37-4d5a-83bd-2b4589c0a621' \ --data-raw '{ "partnerReferenceNo": "SNAP-REG-20261020-0003", "transferType": "REGULAR", "amount": { "value": "39999.00", "currency": "IDR" }, "beneficiaryAccountNo": "112233445", "beneficiaryBankCode": "MANDIRI", "beneficiaryAccountName": "PROD ONLY", "beneficiaryEmail": "", "remark": "Payment" }'

Accepted response · HTTP 200

JSONCode
{ "responseCode": "2000100", "responseMessage": "Successful", "referenceNo": "BRICK-REG-20261020-0003", "partnerReferenceNo": "SNAP-REG-20261020-0003", "transferType": "REGULAR", "amount": { "value": "39999.00", "currency": "IDR" }, "beneficiaryAccountNo": "112233445", "beneficiaryBankCode": "MANDIRI", "beneficiaryAccountName": "PROD ONLY", "latestTransactionStatus": "03", "transactionStatusDesc": "Processing", "transactionDate": "2026-10-20T09:00:02+07:00" }

Status request · cURL

TerminalCode
curl --request POST \ --url '{{base_url}}/v2/payments/disbursements/snap/status' \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer snap_demo_20261020_83ac67125b8f' \ --header 'X-CLIENT-KEY: 83ac6712-5b8f-4b0d-9e24-63aa79102d45' \ --header 'X-TIMESTAMP: 2026-10-20T09:00:00+07:00' \ --header 'X-SIGNATURE: U05BUC1ET0NTLUVYQU1QTEUtU0lHTkFUVVJFLU5PVC1GT1ItQVVUSA==' \ --header 'X-REFERENCE-ID: 91fd8e9b-4c37-4d5a-83bd-2b4589c0a622' \ --data-raw '{ "originalReferenceNo": "BRICK-REG-20261020-0003", "serviceCode": "01" }'

Illustrative failed response · HTTP 200

JSONCode
{ "responseCode": "2000300", "responseMessage": "Successful", "originalReferenceNo": "BRICK-REG-20261020-0003", "originalPartnerReferenceNo": "SNAP-REG-20261020-0003", "serviceCode": "01", "latestTransactionStatus": "06", "transactionStatusDesc": "Failed", "errorCode": "5000100", "errorDetailCode": "general_error", "failureMessage": "General Error", "category": "Failed" }

This transfer has failed. Check errorCode, errorDetailCode, and failureMessage for the failure reason.

Look up by partner reference

Alternative request · cURL

TerminalCode
curl --request POST \ --url '{{base_url}}/v2/payments/disbursements/snap/status' \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer snap_demo_20261020_83ac67125b8f' \ --header 'X-CLIENT-KEY: 83ac6712-5b8f-4b0d-9e24-63aa79102d45' \ --header 'X-TIMESTAMP: 2026-10-20T09:00:00+07:00' \ --header 'X-SIGNATURE: U05BUC1ET0NTLUVYQU1QTEUtU0lHTkFUVVJFLU5PVC1GT1ItQVVUSA==' \ --header 'X-REFERENCE-ID: 61fd8e9b-4c37-4d5a-83bd-2b4589c0a621' \ --data-raw '{ "originalPartnerReferenceNo": "SNAP-REG-20261020-0001", "serviceCode": "01" }'

Supply only one lookup reference. A successful response includes both references.

For recovery guidance, see Error Handling.

Last modified on