Before taking your integration live, we recommend you to test your integration thoroughly in development mode. Use our Test Mode simulation 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.
Before you start
Important Note
Simulation is only available in Test Mode. Ensure you are using a Development API Key to test.
Ensure that you have the right API Key for the currency you want to test
One currency = One dashboard account = One API key
If you want to payout to currency: PHP, then you must create a dashboard where country of operation: Philippines and create an API Key with Money Out Read and Write permission from that dashboard
If you would also like to payout to currency: IDR, then you must create another dashboard account where country of operation: Indonesia and similarly create an API Key using that dashboard account
Test Guideline
Test calling all Cross Border Payouts endpoints that you are implementing
Test as much simulation scenarios as possible according to your use case
Ensure your subscribed webhook events are received and handled in your integration
Simulation Scenarios
Call Create Cross Border Payouts API
using any of the following test details to simulate the scenario you’re testing.
Positive Scenarios
Scenario | Criteria | Expected Result |
Successful remittance to Indonesia Channel | First, create new customers representing the sender and recipient. Use the following values for the recipient customer: Option 1
Option 2
Then create a Remittance using required params (refer to Create Remittance Payout) and the above sender and recipient customer ids | Will complete remittance and send a callback to your callback URL with status: “SUCCEEDED” |
Successful remittance to Philippine Channel | First, create new customers representing the sender and recipient. Use the following values for the recipient customer:
Then create a Remittance using required params (refer to Create Remittance Payout) and the above sender and recipient customer ids | Will complete remittance and send a callback to your callback URL with status: “SUCCEEDED” |
Successful remittance to Singapore Channel | First, create new customers representing the sender and recipient. Use the following values for the recipient customer:
Then create a Remittance using required params (refer to Create Remittance Payout) and the above sender and recipient customer ids | Will complete remittance and send a callback to your callback URL with status: “SUCCEEDED” |
Successful remittance to Thailand Channel | First, create new customers representing the sender and recipient. Use the following values for the recipient customer:
Then create a Remittance using required params (refer to Create Remittance Payout) and the above sender and recipient customer ids | Will complete remittance and send a callback to your callback URL with status: “SUCCEEDED” |
Remittance has been assessed to be medium or high risk and requires compliance verification. Remittance is eventually approved by compliance and succeeds | First, create customers representing the sender and recipient. Use the following values for the recipient customer: Option 1
Option 2
Then create a Remittance using required params (refer to Create Remittance Payout) and the above sender and recipient customer ids | Will send a callback to your callback URL with status: “PENDING_COMPLIANCE_ASSESSMENT” Then, will send a second callback to your callback URL with status: “SUCCEEDED” |
Remittance transaction is stuck in compliance assessment | First, create customers representing the sender and recipient. Use the following values for the recipient customer: Option 1
Option 2
Then create a Remittance using required params (refer to Create Remittance Payout) and the above sender and recipient customer ids | Will send a callback to your callback URL with status: “PENDING_COMPLIANCE_ASSESSMENT” |
Successful remittance to Indonesia Cash Channel | First, create customers representing the sender and recipient. Use the following values for the recipient customer:
Then create a Remittance using required params (refer to Create Remittance Payout) and the above sender and recipient customer ids | Will send a callback to your callback URL with disbursement_code and status: “READY” Then,will send a callback to your callback URL with status: “LOCKED” Then,will complete remittance and send a callback to your callback URL with status: “SUCCEEDED” |
Simulate an online remittance cancellation flow | First, create customers representing the sender and recipient. Use the following values for the recipient customer:
Then create a Remittance using required params (refer to Create Remittance Payout) and the above sender and recipient customer ids | Remittance status will remain on ACCEPTED. You can then try a Cancel Remittance request |
Cash remittance ready to pick up | First, create customers representing the sender and recipient. Use the following values for the recipient customer:
Then create a Remittance using required params (refer to Create Remittance Payout) and the above sender and recipient customer ids | Will send a callback to your callback URL with disbursement_code and status: “READY” Remittance status will remain on READY. |
Simulate a cash remittance cancellation flow | First, create customers representing the sender and recipient. Use the following values for the recipient customer:
Then create a Remittance using required params (refer to Create Remittance Payout) and the above sender and recipient customer ids | Remittance status will remain on READY. You can then try a Cancel Remittance request |
Successful remittance to Singapore Channel | First, create new customers representing the sender and recipient. Use the following values for the recipient customer: Option 1
| Will complete remittance and send a callback to your callback URL with status: “SUCCEEDED” |
Negative scenarios
Scenario | Criteria | Expected Result |
Remittance has been assessed to be medium or high risk and requires compliance verification. Remittance is eventually rejected by compliance | First, create customers representing the sender and recipient. Use the following values for the recipient customer: Option 1
Option 2
Then create a Remittance using required params (refer to Create Remittance Payout) and the above sender and recipient customer ids | Will send a callback to your callback URL with status: “PENDING_COMPLIANCE_ASSESSMENT” Then, we will send a second callback to your callback URL with status: “COMPLIANCE_REJECTED |
Destination account does not exist/is invalid. | First, create customers representing the sender and recipient. Use the following values for the recipient customer:
Then create a Remittance using required params (refer to Create Remittance Payout) and the above sender and recipient customer ids | Will send a callback to your callback URL with status: “FAILED” and failure_code: “INVALID_DESTINATION” |
Transaction has been rejected by the destination channel without a clear error reason | First, create customers representing the sender and recipient. Use the following values for the recipient customer:
Then create a Remittance using required params (refer to Create Remittance Payout) and the above sender and recipient customer ids | Will send a callback to your callback URL with status: “FAILED” and failure_code: "REJECTED_BY_CHANNEL" |
Transaction failed because of a known temporary issue | First, create customers representing the sender and recipient. Use the following values for the recipient customer:
Then create a Remittance using required params (refer to Create Remittance Payout) and the above sender and recipient customer ids | Will send a callback to your callback URL with status: “FAILED” and failure_code: “TEMPORARY_TRANSFER_ERROR” |
Insufficient Balance | First, create customers representing the sender and recipient (which field detail is different with above specifications) Then, Create remittance payout request with amount greater than the balance you have | Will send a callback to your callback URL with status: “FAILED” and failure_code: “INSUFFICIENT_BALANCE” |
Cash remittance expired | First, create customers representing the sender and recipient. Use the following values for the recipient customer:
Then create a Remittance using required params (refer to Create Remittance Payout) and the above sender and recipient customer ids | Will send a callback to your callback URL with disbursement_code and status: “READY” Then,will send a callback to your callback URL with status: “EXPIRED” |
Singapore bank networks have rejected the transaction due to maintenance or unknown reason | First, create customers representing the sender and recipient. Use the following values for the recipient customer:
| Payout will be FAILED with failure_code = REJECTED_BY_CHANNEL |
Destination account does not exist/is invalid for Singapore channel | First, create customers representing the sender and recipient. Use the following values for the recipient customer:
Then create a Remittance using required params (refer to Create Remittance Payout) and the above sender and recipient customer ids | Will send a callback to your callback URL with status: “FAILED” and failure_code: “INVALID_DESTINATION” |
Destination account does not exist/is invalid for Thailand channel | First, create customers representing the sender and recipient. Use the following values for the recipient customer:
Then create a Remittance using required params (refer to Create Remittance Payout) and the above sender and recipient customer ids | Will send a callback to your callback URL with status: “FAILED” and failure_code: “INVALID_DESTINATION” |