post https://sandbox.paystrator.com/v1/send-money
Request Parameters
| Field | Type | Mandatory | Description |
|---|---|---|---|
| externalId | String | Mandatory | Unique transaction reference from client. Must be unique per transaction. |
| amount | Float | Mandatory | Transfer amount (must be > 0). |
| currency | String | Optional | Supported values: IDR, MYR. Defaults to IDR if not specified. |
| senderId | String | Mandatory | Reference to a verified sender identity belonging to the client. |
| receiverName | String | Mandatory | Full name of the receiver. |
| receiverAccountNo | String | Mandatory | Numeric destination account number. |
| receiverBankCode | String | Mandatory | Bank code used for disbursement |
| remark | String | Optional | Optional transaction note, max 140 characters. |
| metadata | String | Optional | Custom key-value pairs. Stored in Paystrator and returned in API/webhook, but never sent to providers. Read more about metadata here. |
System Routing Logic
- In Production:
- Provider configuration and fallback logic are set in the dashboard.
- Paystrator automatically routes based on availability, reliability, and type.
- In Sandbox:
- Only one provider can be enabled per product per environment.
- This ensures test consistency.
Error Handling
All error follow this scheme:
...
"error": {
"code": "<machine_readable_code>",
"message": "<human readable message>",
"action": "<what the dev should do>",
"reason": "<why it happened>"
}
...| HTTP Code | Code | Description | Action Needed |
|---|---|---|---|
| 400 | wrong_parameters_in_request | Required field is missing or invalid | Check your request for a mistake or missing parameter |
| 401 | permission_denied | User is not permitted to access the API | Check your Public Access Token or you API Key pair |
| 409 | invalid_sender_id | Sender not found or not owned by this client | Please use the correct sender ID |
| 409 | invalid_parameters_in_request | A transaction with this external_id already exists | Please use unique externalId |
| 4xx/5xx | provider_error | Failed on provider’s side | Please contact provider / retry |
