Disbursement
On this page, we’ll dive into the different disbursement endpoints you can use to manage disbursement transactions programmatically. You can disburse both fiat and cryptocurrency.
The disbursement model
The disbursement model is the data structure that represents a disbursement transaction in WePay. The following attributes are associated with the disbursement model:
Properties
Disbursement Fiat List
This endpoint allows you to retrieve a paginated list of all your fiat disbursement transactions. By default, a maximum of ten disbursement transactions are shown per page.
Query Params attributes
| Field | Type | Description |
|---|---|---|
limit | integer | Limit the number of disbursement transactions returned. |
page | integer | Specify the page number of the disbursement transactions to retrieve. |
sort | string | Sort the disbursement transactions by a specific field. You can sort by createdAt or updatedAt. By default, disbursement transactions are sorted by createdAt. You can also sort in reverse order by adding a hyphen (-) before the field you want to sort by. |
disbursementId | string | Search for a specific disbursement transaction by its disbursementId. |
status | string | Filter the disbursement transactions by status. You can filter by |
currency | string | Filter the disbursement transactions by currency. |
Request
curl -X GET "https://staging.wepay.to/v1/disbursement/fiat?limit=10&page=1&sort=createdAt&status=pending¤cy=IDR" \
-H "X-Signature: YOUR_SIGNATURE" \
-H "X-Timestamp: YOUR_TIMESTAMP" \
-H "X-Client-ID: YOUR_CLIENT_ID"
Response
{
"data": {
"docs": [
{
"disbursementId": "e254a4ba-6c6b-4953-af22-30d7447fe3ee",
"groupId": "0c9d8e7f-6a5b-4c3d-9e2f-1a0b9c8d7e6f",
"recipient": {
"recipientId": "mocked_recipient_id",
"email": "mocked_email@example.com",
"name": "Mocked Name",
"bank": {
"bankName": "Bank Central Asia",
"accountName": "MOCKED NAME",
"accountNumber": "1234567890",
"bankCode": "bca",
"bankIdentifierCode": "CENAIDJA",
"currency": "IDR",
"country": "ID",
"address": "Jl. Jend. Sudirman No. 1",
"city": "Jakarta",
"province": "DKI Jakarta",
"postCode": "10220"
},
"verification": {
"outcome": "verified",
"suppliedName": "Mocked Name",
"bankName": "MOCKED NAME",
"provider": "bank_inquiry",
"checkedAt": "2024-11-12T06:07:01.512Z"
}
},
"amount": 40000,
"currency": "IDR",
"feeAmount": 5000,
"feePercentage": 12.5,
"status": "completed",
"createdBy": "672873dfc82e12312dc77ce2",
"activityHistory": [
{
"activity": "Disburse requested",
"status": "completed",
"description": "order is valid",
"updatedAt": "2024-11-12T06:07:02.386Z"
},
{
"activity": "Recipient validated",
"status": "completed",
"description": "recipient is valid",
"updatedAt": "2024-11-12T06:07:02.386Z"
},
{
"activity": "Sent to recipient account",
"status": "completed",
"description": "transaction is success",
"updatedAt": "2024-11-12T06:07:11.442Z"
}
],
"reference": "referenceId",
"note": "Payroll November",
"balance": {
"before": 1000000,
"after": 955000
},
"organizationId": "672873dfc82e12312dc77ce0",
"organizationName": "PT Example Merchant",
"initiatedBy": {
"userId": "672873dfc82e12312dc77ce2",
"name": "Mocked User"
},
"createdAt": "2024-11-12T06:07:00.762Z",
"updatedAt": "2024-11-12T06:07:11.443Z",
"completedAt": "2024-11-12T06:07:11.442Z"
}
],
"offset": 0,
"page": 1,
"limit": 10,
"totalPages": 1,
"totalDocs": 1,
"totalItems": 1,
"pagingCounter": 10,
"hasPrevPage": false,
"hasNextPage": false,
"prevPage": 0,
"nextPage": 0
},
"message": "Successfully get fiat disbursements",
"requestId": "e6f7a8b9-c0d1-4e2f-9a3b-4c5d6e7f8091",
"statusCode": 200,
"timestamp": "2026-10-01T03:30:00.000Z"
}
Disbursement Fiat Detail
This endpoint allows you to retrieve the details of a specific fiat disbursement transaction.
Request
curl -X GET "https://staging.wepay.to/v1/disbursement/fiat/cd738d41-8f37-4fb4-9c0b-8cd75b687530" \
-H "X-Signature: YOUR_SIGNATURE" \
-H "X-Timestamp: YOUR_TIMESTAMP" \
-H "X-Client-ID: YOUR_CLIENT_ID"
Response
{
"data": {
"disbursementId": "e254a4ba-6c6b-4953-af22-30d7447fe3ee",
"groupId": "0c9d8e7f-6a5b-4c3d-9e2f-1a0b9c8d7e6f",
"recipient": {
"recipientId": "mocked_recipient_id",
"email": "mocked_email@example.com",
"name": "Mocked Name",
"bank": {
"bankName": "Bank Central Asia",
"accountName": "MOCKED NAME",
"accountNumber": "1234567890",
"bankCode": "bca",
"bankIdentifierCode": "CENAIDJA",
"currency": "IDR",
"country": "ID",
"address": "Jl. Jend. Sudirman No. 1",
"city": "Jakarta",
"province": "DKI Jakarta",
"postCode": "10220"
},
"verification": {
"outcome": "verified",
"suppliedName": "Mocked Name",
"bankName": "MOCKED NAME",
"provider": "bank_inquiry",
"checkedAt": "2024-11-12T06:07:01.512Z"
}
},
"amount": 40000,
"currency": "IDR",
"feeAmount": 5000,
"feePercentage": 12.5,
"status": "completed",
"createdBy": "672873dfc82e12312dc77ce2",
"activityHistory": [
{
"activity": "Disburse requested",
"status": "completed",
"description": "order is valid",
"updatedAt": "2024-11-12T06:07:02.386Z"
},
{
"activity": "Recipient validated",
"status": "completed",
"description": "recipient is valid",
"updatedAt": "2024-11-12T06:07:02.386Z"
},
{
"activity": "Sent to recipient account",
"status": "completed",
"description": "transaction is success",
"updatedAt": "2024-11-12T06:07:11.442Z"
}
],
"reference": "referenceId",
"note": "Payroll November",
"balance": {
"before": 1000000,
"after": 955000
},
"organizationId": "672873dfc82e12312dc77ce0",
"organizationName": "PT Example Merchant",
"initiatedBy": {
"userId": "672873dfc82e12312dc77ce2",
"name": "Mocked User"
},
"createdAt": "2024-11-12T06:07:00.762Z",
"updatedAt": "2024-11-12T06:07:11.443Z",
"completedAt": "2024-11-12T06:07:11.442Z"
},
"message": "Successfully get fiat disbursements",
"requestId": "f7a8b9c0-d1e2-4f3a-8b4c-5d6e7f809102",
"statusCode": 200,
"timestamp": "2026-10-01T03:30:00.000Z"
}
Disbursement Crypto List
This endpoint allows you to retrieve a paginated list of all your crypto disbursement transactions. By default, a maximum of ten disbursement transactions are shown per page.
Query Params attributes
| Field | Type | Description |
|---|---|---|
limit | number | Limit the number of disbursement transactions returned. |
page | number | Specify the page number of the disbursement transactions to retrieve. |
sort | string | Sort the disbursement transactions by a specific field, such as createdAt or updatedAt. You can sort in reverse order by adding a hyphen (-) before the field you want to sort by. |
status | string | Filter the disbursement transactions by status. You can filter by |
reference | string | Search for a specific disbursement transaction by its reference. |
disbursementId | string | Search for a specific disbursement transaction by its disbursementId. |
amount | number | Filter the disbursement transactions by exact amount. |
startDate | string | Return disbursement transactions created at or after this date. Must be sent together with |
endDate | string | Return disbursement transactions created at or before this date. Must be sent together with |
token | string | Filter the disbursement transactions by token, for example |
tokenAddress | string | Filter the disbursement transactions by token contract address. |
receiverAddress | string | Filter the disbursement transactions by receiver wallet address. |
txHash | string | Search for a specific disbursement transaction by its blockchain transaction hash. |
Request
curl -X GET "https://staging.wepay.to/v1/disbursement/crypto?limit=10&status=completed&token=usdt-polygon" \
-H "X-Signature: YOUR_SIGNATURE" \
-H "X-Timestamp: YOUR_TIMESTAMP" \
-H "X-Client-ID: YOUR_CLIENT_ID"
Response
{
"statusCode": 200,
"message": "getCryptoDisbursementListHandler successfully",
"data": {
"docs": [
{
"disbursementId": "3f8c2a1e-7b4d-4e9a-9c6f-2d1b0a9e8f7c",
"groupId": "a1b2c3d4-e5f6-4a7b-8c9d-0e1f2a3b4c5d",
"tokenAddress": "0x1234567890abcdef1234567890abcdef12345678",
"tokenDecimal": 6,
"receiverAddress": "0xabcdefabcdefabcdefabcdefabcdefabcdefabcd",
"amount": 25,
"token": "usdt-polygon",
"network": "polygon",
"blockchainType": "evm",
"feeAmount": 0.35,
"feePercentage": 1,
"feeConfig": {
"currency": "usdt",
"minAmount": 1,
"maxAmount": 1000,
"feePercentage": 1,
"feeFlat": 0.1,
"_id": "66fa3c1e9b2d4a0012a4c001"
},
"status": "completed",
"createdBy": "672873dfc82e12312dc77ce2",
"activityHistory": [
{
"activity": "Sent to recipient wallet",
"status": "completed",
"description": "Transaction is under process and will be transferred out to the recipient",
"updatedAt": "2026-09-30T05:10:00.000Z",
"_id": "66fa3c1e9b2d4a0012a4b001"
},
{
"activity": "Received by recipient",
"status": "completed",
"description": "Transaction is executed successfully and closed",
"updatedAt": "2026-09-30T05:12:00.120Z",
"_id": "66fa3c1e9b2d4a0012a4b002"
}
],
"transactionData": {
"gasUsed": 21000,
"txHash": "0x9f2c4e6a8b0d1f3e5a7c9b1d3f5e7a9c1b3d5f7e9a1c3b5d7f9e1a3c5b7d9f1e",
"gasFeeEstimated": 0.02,
"gasFeeActual": 0.018,
"gasFeeShortfall": 0
},
"reference": "payout-2026-09-30-001",
"createdAt": "2026-09-30T05:10:00.000Z",
"updatedAt": "2026-09-30T05:12:00.100Z"
}
],
"totalDocs": 1,
"offset": 0,
"limit": 10,
"totalPages": 1,
"page": 1,
"pagingCounter": 1,
"hasPrevPage": false,
"hasNextPage": false,
"prevPage": null,
"nextPage": null
}
}
Disbursement Crypto Detail
This endpoint allows you to retrieve the details of a specific crypto disbursement transaction, by its disbursementId or by the reference you sent when creating it. If no crypto disbursement matches, the endpoint responds with 404 and the message Crypto disbursement not found.
If you reused a reference across disbursements, a lookup by that reference returns only one of them. Use disbursementId to get a specific one. A fiat disbursement ID returns 404 here; use the fiat detail endpoint for it.
Request
curl -X GET "https://staging.wepay.to/v1/disbursement/crypto/3f8c2a1e-7b4d-4e9a-9c6f-2d1b0a9e8f7c" \
-H "X-Signature: YOUR_SIGNATURE" \
-H "X-Timestamp: YOUR_TIMESTAMP" \
-H "X-Client-ID: YOUR_CLIENT_ID"
Response
{
"statusCode": 200,
"message": "getCryptoDisbursementDetailHandler successfully",
"data": {
"disbursementId": "3f8c2a1e-7b4d-4e9a-9c6f-2d1b0a9e8f7c",
"groupId": "a1b2c3d4-e5f6-4a7b-8c9d-0e1f2a3b4c5d",
"tokenAddress": "0x1234567890abcdef1234567890abcdef12345678",
"tokenDecimal": 6,
"receiverAddress": "0xabcdefabcdefabcdefabcdefabcdefabcdefabcd",
"amount": 25,
"token": "usdt-polygon",
"network": "polygon",
"blockchainType": "evm",
"feeAmount": 0.35,
"feePercentage": 1,
"feeConfig": {
"feeFlat": 0.1,
"feePercentage": 1
},
"status": "completed",
"createdBy": "672873dfc82e12312dc77ce2",
"activityHistory": [
{
"activity": "Sent to recipient wallet",
"status": "completed",
"description": "Transaction is under process and will be transferred out to the recipient",
"updatedAt": "2026-09-30T05:10:00.000Z",
"_id": "66fa3c1e9b2d4a0012a4b001"
},
{
"activity": "Received by recipient",
"status": "completed",
"description": "Transaction is executed successfully and closed",
"updatedAt": "2026-09-30T05:12:00.120Z",
"_id": "66fa3c1e9b2d4a0012a4b002"
}
],
"transactionData": {
"gasUsed": 21000,
"txHash": "0x9f2c4e6a8b0d1f3e5a7c9b1d3f5e7a9c1b3d5f7e9a1c3b5d7f9e1a3c5b7d9f1e",
"gasFeeEstimated": 0.02,
"gasFeeActual": 0.018,
"gasFeeShortfall": 0
},
"reference": "payout-2026-09-30-001",
"createdAt": "2026-09-30T05:10:00.000Z",
"updatedAt": "2026-09-30T05:12:00.100Z"
}
}
[DEPRECATED] Create Disbursement Fiat V1
These endpoints is deprecated. Please use Create Disbursement Fiat V2 endpoints instead.
This endpoint is used to initiate a fiat disbursement transaction. In order to initiate a disbursement, you must provide the amount, currency, recipient, and paymentMethod.
Read the statusCode field in the response body rather than the HTTP status code.
Please ensure that the amount is a positive number and that you are using valid currency codes.
Required attributes
| Field | Type | Description |
|---|---|---|
disburseData | array | This is an array of disbursement data. |
currency | string | This is the currency of the disbursement. |
recipientId | string | This is the unique identifier of the recipient. |
amount | number | This is the amount of the disbursement. |
Optional attributes
| Field | Type | Description |
|---|---|---|
reference | string | This can be the client transaction ID for the disbursement transaction. If exists, should be unique. |
note | string | This can be used to store any additional information about the disbursement transaction. |
Request
curl --location \
https://staging.wepay.to/v1/disbursement/fiat \
--header 'Content-Type: application/json' \
--header 'Authorization: ••••••' \
--data '{
"disburseData": [
{
"currency" : "IDR",
"recipientId": "670f8112cd0b0ddab0a03860",
"amount": 10000,
"reference": "referenceId1",
"note": "note1"
},
{
"currency" : "IDR",
"recipientId": "670f8112cd0b0ddab0a03860",
"amount": 200000,
"reference": "referenceId12",
"note": "note2"
},
{
"currency" : "IDR",
"recipientId": "670f8112cd0b0ddab0a03860",
"amount": 3000000,
"reference": "referenceId123"
"note": "note3"
}
]
}'
Response
{
"statusCode": 200,
"message": "Disbursement created successfully",
"data": {
"totalRecipient": 2,
"disburseData": [
{
"disbursementId": "82dc0772-1b4c-4894-8b14-7ebd74ffec58",
"recipient": {
"recipientId": "666b127a8a1656b0d892cf8b",
"email": "recipient@example.com",
"name": "test recipient",
"bank": {
"bankName": "BANK DIGITAL BCA",
"accountName": "accountName",
"accountNumber": "1234567890",
"bankCode": "051",
"currency": "IDR",
"country": "INDONESIA"
}
},
"currency": "IDR",
"amount": 12000,
"status": "pending",
"feeAmount": 5000,
"feePercentage": 41.67,
"reference": "referenceId1",
"note": "note1"
},
{
"disbursementId": "182cd82d-c2c8-48fc-a0e1-1742dd28cff6",
"recipient": {
"recipientId": "666b127a8a1656b0d892cf8b",
"email": "recipient@example.com",
"name": "test recipient",
"bank": {
"bankName": "BANK NEGARA INDONESIA",
"accountName": "accountName",
"accountNumber": "0987654321",
"bankCode": "009",
"currency": "IDR",
"country": "INDONESIA"
}
},
"currency": "IDR",
"amount": 7800,
"status": "pending",
"feeAmount": 5000,
"feePercentage": 64.1,
"reference": "referenceId2",
"note": "note2"
}
],
"sumFees": [
{
"currency": "IDR",
"totalAmount": 10000
}
],
"sumAmount": [
{
"currency": "IDR",
"totalAmount": 19800
}
]
}
}
HTTP Status 400 Example
Error Response
{
"statusCode": 400,
"error": "Not Found",
"message": "Payment method not found"
}
Create Disbursement Fiat V2
This endpoint allows you to create a disbursement transaction for fiat currency. That you can passing recipientId or directly input the recipient details.
Read the statusCode field in the response body rather than the HTTP status code.
Request body
| Field | Type | Description |
|---|---|---|
currency | string | The currency for all disbursements in this request. |
disburseData | array | Array of disbursement data objects. |
disburseData[].recipient | object | Direct recipient details (required if recipientId not provided). |
recipient.email | string | Email address of the recipient. Optional field. |
recipient.name | string | Name of the recipient. Optional field. |
recipient.bank | object | Bank details of the recipient. |
bank.bankName | string | Name of the bank. |
bank.accountName | string | Name on the bank account. |
bank.accountNumber | string | Bank account number. |
bank.bankCode | string | Code of the bank. |
disburseData[].recipientId | string | Unique identifier of an existing recipient (required if recipient details not provided). |
disburseData[].amount | number | Amount to disburse. |
disburseData[].reference | string | Reference ID for the disbursement. Optional field. |
Request
curl --location \
https://staging.wepay.to/v2/disbursement/fiat \
--header 'Content-Type: application/json' \
--header 'Authorization: ••••••' \
--data '{
"currency": "IDR",
"disburseData": [
{
"recipient": {
"email": "client@example.com",
"name": "Client Name",
"bank": {
"bankName": "BANK RAKYAT INDONESIA",
"accountName": "Client Name",
"accountNumber": "123456789",
"bankCode": "bank_rakyat_indonesia"
}
},
"amount": 10000,
"reference": "reference 1",
"note": "note 1"
},
{
"recipientId": "671766b24633f04ac6273109",
"amount": 10000,
"reference": "reference 2",
"note": "note 2"
}
]
}'
Response
{
"statusCode": 200,
"message": "Disbursement created successfully",
"data": {
"totalRecipient": 2,
"disburseData": [
{
"disbursementId": "1a5a4781-768e-4f04-9323-3409d5cf031e",
"groupId": "b4599b0e-4b27-492b-a0ed-650ba590de73",
"recipient": {
"bank": {
"bankName": "BANK RAKYAT INDONESIA",
"accountName": "Client Name",
"accountNumber": "123456789",
"bankCode": "bank_rakyat_indonesia",
"currency": "IDR"
}
},
"currency": "IDR",
"amount": 10000,
"status": "pending",
"feeAmount": 5000,
"feePercentage": 50,
"activityHistory": [
{
"activity": "Disburse requested",
"status": "pending",
"description": "waiting for system validation",
"updatedAt": "2025-02-12T08:42:38.568Z"
},
{
"activity": "Recipient validated",
"status": "pending",
"description": "waiting for bank confirmation received by system",
"updatedAt": "2025-02-12T08:42:38.568Z"
},
{
"activity": "Sent to recipient account",
"status": "pending",
"description": "transaction is under process and will be transferred out to recipient after validation is done",
"updatedAt": "2025-02-12T08:42:38.568Z"
}
],
"reference": "reference 2"
},
{
"disbursementId": "e62f3c62-4588-46db-a485-a1e22d3b43ca",
"groupId": "b4599b0e-4b27-492b-a0ed-650ba590de73",
"recipient": {
"recipientId": "671766b24633f04ac6273109",
"email": "jane.doe@example.com",
"name": "Fiat Disburse Test 1",
"bank": {
"bankName": "BANK BNI",
"accountName": "Jane Doe",
"accountNumber": "1234567890",
"bankCode": "bank_bni",
"currency": "IDR",
"country": "INDONESIA"
}
},
"currency": "IDR",
"amount": 10000,
"status": "pending",
"feeAmount": 5000,
"feePercentage": 50,
"activityHistory": [
{
"activity": "Disburse requested",
"status": "pending",
"description": "waiting for system validation",
"updatedAt": "2025-02-12T08:42:38.568Z"
},
{
"activity": "Recipient validated",
"status": "pending",
"description": "waiting for bank confirmation received by system",
"updatedAt": "2025-02-12T08:42:38.568Z"
},
{
"activity": "Sent to recipient account",
"status": "pending",
"description": "transaction is under process and will be transferred out to recipient after validation is done",
"updatedAt": "2025-02-12T08:42:38.568Z"
}
],
"reference": "reference 2"
}
],
"sumFees": 10000,
"sumAmount": 20000
}
}
Create Disbursement Crypto
This endpoint is used to initiate a crypto disbursement transaction. In order to initiate a disbursement, you must provide the token currency, amount, receiver wallet address, and reference (if any).
Read the statusCode field in the response body rather than the HTTP status code.
Please ensure that the amount is a positive number and that you are using valid token currency codes.
Required attributes
| Field | Type | Description |
|---|---|---|
token | string | This is the token currency of the disbursement. |
receivers | array | This is an array of disbursement data. |
amount | number | This is the amount of the disbursement. |
receiverWalletAddress | string | This is the receiver wallet address. |
Optional attributes
| Field | Type | Description |
|---|---|---|
reference | string | This can be the client transaction ID for the disbursement transaction. If exists, should be unique. |
note | string | This can be used to store any additional information about the disbursement transaction. |
Request
curl --location \
https://staging.wepay.to/v1/disbursement/crypto \
--header 'Content-Type: application/json' \
--header 'Authorization: ••••••' \
--data '{
"token": "usdt-ethereum",
"receivers": [
{
"amount" : 10,
"receiverWalletAddress": "0xabc...",
"reference": "referenceId1",
"note": "note1"
},
{
"amount" : 11,
"receiverWalletAddress": "0xdef...",
"reference": "referenceId2",
"note": "note2"
}
]
}'
Response
{
"statusCode": 200,
"message": "Crypto disbursement created",
"data": {
"totalReceiver": 2,
"disburseData": [
{
"disbursementId": "558aa19c-83d2-40a5-a547-6b4404016f20",
"groupId": "45334723-08bf-4b20-9aa0-c1e9409286d3",
"tokenAddress": "0xdAC17F958D2ee523a2206206994597C13D831ec7",
"receiverAddress": "0xabc...",
"senderAddress": "0xghi...",
"amount": 10,
"token": "usdt-ethereum",
"tokenDecimal": 6,
"network": "ethereum",
"blockchainType": "EVM",
"feeAmount": 2,
"feePercentage": 2000,
"feeConfig": {
"feeFlat": 1,
"feePercentage": 0,
"feeNetwork": 1
},
"status": "pending",
"createdBy": "6719f68dd07aef516b9158ba",
"activityHistory": [
{
"activity": "Sent to recipient wallet",
"status": "pending",
"description": "Transaction is under process and will be transferred out to the recipient",
"updatedAt": "2025-04-23T05:55:49.079Z"
},
{
"activity": "Received by recipient",
"status": "pending",
"description": "Transaction is executed successfully and closed",
"updatedAt": "2025-04-23T05:55:49.079Z"
}
],
"reference": "referenceId1"
},
{
"disbursementId": "558aa19c-83d2-40a5-a547-6b4404016f21",
"groupId": "45334723-08bf-4b20-9aa0-c1e9409286d4",
"tokenAddress": "0xdAC17F958D2ee523a2206206994597C13D831ec7",
"receiverAddress": "0xdef...",
"senderAddress": "0xghi...",
"amount": 11,
"token": "usdt-ethereum",
"tokenDecimal": 6,
"network": "ethereum",
"blockchainType": "EVM",
"feeAmount": 2,
"feePercentage": 2000,
"feeConfig": {
"feeFlat": 1,
"feePercentage": 0,
"feeNetwork": 1
},
"status": "pending",
"createdBy": "6719f68dd07aef516b9158ba",
"activityHistory": [
{
"activity": "Sent to recipient wallet",
"status": "pending",
"description": "Transaction is under process and will be transferred out to the recipient",
"updatedAt": "2025-04-23T05:55:49.079Z"
},
{
"activity": "Received by recipient",
"status": "pending",
"description": "Transaction is executed successfully and closed",
"updatedAt": "2025-04-23T05:55:49.079Z"
}
],
"reference": "referenceId2"
},
],
"sumFees": 4,
"sumAmount": 21
}
}
HTTP Status 400 Example
Error Response
{
"statusCode": 400,
"error": "Not Found",
"message": "Payment method not found"
}
Disbursement Fiat Payment Method
This endpoint is used to get the list of available payment methods for fiat disbursement. You can filter the results by currency using the currency query parameter.
Request
# Get all payment methods
curl --location --request GET 'https://staging.wepay.to/v1/disbursement/fiat/payment-method' \
--header 'Authorization: ••••••'
# Filter by currency (e.g., IDR)
curl --location --request GET 'https://staging.wepay.to/v1/disbursement/fiat/payment-method?currency=IDR' \
--header 'Authorization: ••••••'
Response
{
"statusCode": 200,
"message": "getDisbursementPayment executed successfully",
"data": [
{
"currency": "IDR",
"bankCode": "bank_digital_bca",
"bankName": "Bank Digital BCA",
"minAmount": 10000,
"maxAmount": 50000000,
"feeFlat": 1000,
"feePercentage": 1
},
{
"currency": "IDR",
"bankCode": "bank_central_asia",
"bankName": "BCA",
"minAmount": 10000,
"maxAmount": 50000000,
"feeFlat": 1000,
"feePercentage": 1
},
{
"currency": "IDR",
"bankCode": "bank_rakyat_indonesia",
"bankName": "BRI",
"minAmount": 10000,
"maxAmount": 50000000,
"feeFlat": 5000,
"feePercentage": 1
}
]
}
Disbursement Crypto Payment Method
This endpoint is used to get the list of tokens available for crypto disbursement. Use the currency of an entry as the token when you create a crypto disbursement.
Request
curl --location --request GET 'https://staging.wepay.to/v1/disbursement/crypto/payment-method' \
--header 'Authorization: ••••••'
Response
{
"statusCode": 200,
"message": "Crypto payment methods retrieved successfully",
"data": [
{
"currency": "usdt-polygon",
"network": "polygon",
"symbol": "USDT",
"name": "Tether USD",
"minimumAmount": 1,
"maximumAmount": 10000,
"feeFlat": 0.1,
"feePercentage": 0.5
},
{
"currency": "usdc-ethereum",
"network": "ethereum",
"symbol": "USDC",
"name": "USD Coin",
"minimumAmount": 5,
"maximumAmount": 50000,
"feeFlat": 1,
"feePercentage": 0
}
]
}
Disbursement Crypto Estimate
This endpoint allows you to retrieve a fee estimation of your crypto disbursement transactions.
Query Params attributes
| Field | Type | Description |
|---|---|---|
token | string | The token-id of the token you want to disburse. |
amount | integer | Specify the number of the crypto disbursement transactions. |
Request
curl -X GET "https://staging.wepay.to/v1/disbursement/crypto/estimate?token=usdt-ethereum&amount=10" \
-H "X-Signature: YOUR_SIGNATURE" \
-H "X-Timestamp: YOUR_TIMESTAMP" \
-H "X-Client-ID: YOUR_CLIENT_ID"
Response
{
"statusCode": 200,
"message": "Crypto disbursement estimate success",
"data": {
"token": "usdt-ethereum",
"amount": 10,
"fee": 1.812405740351673
}
}
[DEV] Update status
This endpoint is used to update the status of a disbursement. Work only on sandbox environment. Will send webhook to the user.
Work only on sandbox environment.
Required attributes
| Field | Type | Description |
|---|---|---|
status | string | The status of the disbursement. |
Request
curl --location --request PATCH 'https://staging.wepay.to/v1/disbursement/24f8d87a-ee5c-42b6-81b1-0a2706430bd7' \
--header 'Content-Type: application/json' \
--header 'Authorization: ••••••' \
--data '{
"status" : "completed"
}'
Response
{
"statusCode": 200,
"message": "Disbursement updated successfully"
}
HTTP Status 400 Example
Error Response
{
"statusCode": 400,
"error": "Bad Request",
"message": "Disbursement not found"
}
Disbursement Fiat Transfer Proof
This endpoint allows you to download the transfer proof for a completed fiat disbursement transaction.
Request
curl -X GET "https://staging.wepay.to/v1/disbursement/fiat/2f746abf-7630-4309-95d3-0f80ca1d0a1b/report" \
-H "X-Signature: YOUR_SIGNATURE" \
-H "X-Timestamp: YOUR_TIMESTAMP" \
-H "X-Client-ID: YOUR_CLIENT_ID"
Response
HTTP/1.1 200 OK
Content-Type: application/pdf
Content-Disposition: attachment; filename="disbursement-2f746abf-7630-4309-95d3-0f80ca1d0a1b.pdf"
<binary PDF content>
HTTP Status 400 Example
Error Response
{
"statusCode": 404,
"error": "Not Found",
"message": "Disbursement not found"
}
