Testing Disbursements

Testing your integration

Before taking your integration live, you’ll want to test your integration thoroughly in development mode. Use our test information to simulate various positive and negative scenarios and ensure the flows in your integration are handled correctly.

Note: We recommend using Postman collections for testing. Please see our postman integrations page for more details on how to set up your collections.


  1. Be sure to use your Development API keys to test disbursements and set your callback URL on your dashboard setting
  2. Post a Create Disbursement request using any of the following test details to simulate successful and failed disbursements.
  3. When a Disbursement is successfully created (but still in the process of sending out), you will receive a response with status “PENDING”.
  4. When the Disbursement has been successfully executed, you will receive a callback at your callback URL with status “COMPLETED”. If the disbursement failed, you will receive a callback at your callback URL with status “FAILED”; refer to the failure_code for more details of the failure.
  5. Alternatively, the Disbursement status can be identified via the GET Disbursement endpoints based on the ID or External id,

Testing for specific responses and errors

Test ScenariosInput CriteriaExpected Result
Successful DisbursementTest with any value except values required to test other scenariosDisbursement returns PENDING status followed by COMPLETED callback
Bank Account doesn't exist- bank_code=MANDIRI - account_holder_name=Rizky - account_number=7654321 Returns INVALID_DESTINATION error
Switching Network is experiencing downtime- bank_code=MANDIRI - account_holder_name=Siti - account_number=12121212 Returns SWITCHING_NETWORK_ERROR error
Bank networks have rejected the transaction for an unknown reason- bank_code=MANDIRI - account_holder_name=Andri - account_number=987654321 Returns UNKNOWN_BANK_NETWORK_ERROR error
Bank is undergoing unscheduled maintenance- bank_code=MANDIRI - account_holder_name=Yono - account_number=321321321 Returns TEMPORARY_BANK_NETWORK_ERROR error
Transaction has been rejected by the destination bank without a clear error reason- bank_code=MANDIRI - account_holder_name=Budi - account_number=8787878 Returns REJECTED_BY_BANK error
Transaction was rejected because of a fatal error- bank_code=MANDIRI - account_holder_name=Adnin - account_number=1351357 Returns TRANSFER_ERROR error
Transaction failed because of a known temporary issue- bank_code=MANDIRI - account_holder_name=Sutiono - account_number=868686 Returns TEMPORARY_TRANSFER_ERROR error
Balance not enoughamount greater than remaining balanceReturns INSUFFICIENT_BALANCE error

Last Updated on 2023-09-11