Country Code
Almond Payout API (1.1.0)
The Almond Payout API enables clients to execute domestic payouts by leveraging local banking partners and payout networks.
As a client, you need to:
- Authenticate to obtain an access token.
- Discover payout providers by querying supported providers by country and retrieving provider-specific field requirements.
- Check payout rates and fees for full transparency on send/receive amounts.
- Create a payout with the required beneficiary and payment details.
Almond then orchestrates the process — verifying balance availability, executing the payout through the chosen payout partner, and updating the payout status — while providing clients with real-time status updates and notifications.

Figure: Payout Flow
Request
Retrieves the minimum and maximum payout limits for payout providers based on the specified country code and/or payout provider ID.
Query Parameters:
- At least one of
countryCodeorpayoutProviderIdmust be provided.
Response:
- Returns a list of payout limits, each containing the currency code, minimum limit, and maximum limit.
Use Cases:
- Check payout limits before initiating a payout
- Display available payout limits to end users
- Validate payout amounts against configured limits
- Mock serverhttps://docs.almondfintech.com/_mock/apis/payouts/v2/payout-limits
- Sandboxhttps://api.sandbox.almondfintech.com/v2/payout-limits
- Productionhttps://api.almondfintech.com/v2/payout-limits
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X GET \
'https://docs.almondfintech.com/_mock/apis/payouts/v2/payout-limits?countryCode=string&payoutProviderId=string'[ { "currency": "PHP", "minimumLimit": 500, "maximumLimit": 250000 } ]
Request
Creates a new payout with the provided request details.
- On success, the response includes:
- payoutId – Unique identifier for the initiated payout. This ID must be used for subsequent operations (e.g., status checks, cancellation).
- payoutStatus – Will return
"ACCP"if the payout request is received successfully.
This endpoint is the entry point for executing a payment or transfer, and serves as the foundation for all subsequent payout lifecycle operations.
BANK_ACCOUNT: Bank Account service,
CASH_PICKUP: Cash pickup service,
WALLET: Wallet service
- Mock serverhttps://docs.almondfintech.com/_mock/apis/payouts/v2/payouts
- Sandboxhttps://api.sandbox.almondfintech.com/v2/payouts
- Productionhttps://api.almondfintech.com/v2/payouts
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X POST \
https://docs.almondfintech.com/_mock/apis/payouts/v2/payouts \
-H 'Content-Type: application/json' \
-d '{
"sourceMemberPayoutId": "PAYOUT-2024-003",
"payoutProviderId": "PAYOUT-PROVIDER-1",
"destinationCcy": "PHP",
"payoutAmt": 5500,
"payoutMethod": "BANK_ACCOUNT",
"segment": "C2C",
"sender": {
"firstName": "Jane",
"lastName": "Smith",
"countryCode": "US"
},
"beneficiary": {
"firstName": "John",
"lastName": "Doe",
"accountNumber": "1234567890",
"countryCode": "PH"
},
"complianceInfo": {
"purpose": "FAMILY_MAINTENANCE"
}
}'{ "payoutId": "a4685b57-8788-4b4b-a35f-1066b68c23ea", "sourceMemberPayoutId": "PAYOUT-2024-001", "payoutStatus": "ACCP", "destinationCcy": "PHP", "payoutAmt": 5500, "transferFee": 5, "beneficiaryName": "John Doe", "expiryTime": "2026-01-21T08:07:13.597048Z", "links": { "process": "/v2/payouts/a4685b57-8788-4b4b-a35f-1066b68c23ea/process\"", "status": "/v2/payouts/a4685b57-8788-4b4b-a35f-1066b68c23ea/status", "details": "/v2/payouts/a4685b57-8788-4b4b-a35f-1066b68c23ea" } }
Request
Get payouts with filter and pagination support.
Example Request:
GET /v2/payouts?page=0&size=10&payoutStatus=ACCP&senderCountry=US&beneficiaryCountry=PHQuery Parameters:
page- Page number (default: 0)size- Number of records per page (default: 10)sortField- Field to sort bysortDirection- Sort direction (ASC/DESC)sourceMemberPayoutId- Filter by source member payout ID (your unique payout identifier)payoutId- Filter by system payout ID (UUID format)creationTime- Filter by creation date (YYYY-MM-DD)completionTime- Filter by completion date (YYYY-MM-DD)senderName- Filter by sender namesenderCountry- Filter by sender country codebeneficiaryName- Filter by beneficiary namebeneficiaryCountry- Filter by beneficiary country codepayoutProviderId- Filter by payout provider idpayoutStatus- Filter by payout status (ACCP, PNDG, PRCD, etc.)
- Mock serverhttps://docs.almondfintech.com/_mock/apis/payouts/v2/payouts
- Sandboxhttps://api.sandbox.almondfintech.com/v2/payouts
- Productionhttps://api.almondfintech.com/v2/payouts
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X GET \
'https://docs.almondfintech.com/_mock/apis/payouts/v2/payouts?page=0&size=10&sortField=sourceMemberPayoutId&sortDirection=asc&sourceMemberPayoutId=string&payoutId=string&creationTime=2019-08-24&completionTime=2019-08-24&senderName=string&senderCountry=string&beneficiaryName=string&beneficiaryCountry=0&payoutProviderId=string&payoutStatus=string'{ "payouts": [ { … }, { … } ], "totalPages": 5, "totalRecords": 42, "page": 0, "size": 10 }
- Mock serverhttps://docs.almondfintech.com/_mock/apis/payouts/v2/payouts/{payout-id}/process
- Sandboxhttps://api.sandbox.almondfintech.com/v2/payouts/{payout-id}/process
- Productionhttps://api.almondfintech.com/v2/payouts/{payout-id}/process
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X POST \
'https://docs.almondfintech.com/_mock/apis/payouts/v2/payouts/{payout-id}/process'{ "payoutStatus": "PRCD", "cashoutStatus": "Y" }
- Mock serverhttps://docs.almondfintech.com/_mock/apis/payouts/v2/payouts/{payout-id}
- Sandboxhttps://api.sandbox.almondfintech.com/v2/payouts/{payout-id}
- Productionhttps://api.almondfintech.com/v2/payouts/{payout-id}
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X GET \
'https://docs.almondfintech.com/_mock/apis/payouts/v2/payouts/{payout-id}'Payout response
RCVD: Received,
ACCP: Accepted,
PNDG: Pending,
PRCD: Processed,
RJCT: Rejected,
CNCL: Cancelled,
EXPD: Expired,
FAIL: Failed,
RVSD: Reversed
C2C: From an individual to an individual,
B2B: From a business to a business
BANK_ACCOUNT: Bank Account service,
CASH_PICKUP: Cash pickup service,
WALLET: Wallet service
{ "payoutId": "a4685b57-8788-4b4b-a35f-1066b68c23ea", "payoutStatus": "ACCP", "sourceMemberPayoutId": "PAYOUT-2024-001", "sender": { "firstName": "Jane", "middleName": "Marie", "lastName": "Smith", "countryCode": "US", "phone": "+1-555-0123", "email": "jane.smith@example.com", "entityType": "INDIVIDUAL" }, "beneficiary": { "firstName": "John", "middleName": "Carlos", "lastName": "Doe", "countryCode": "PH", "accountNumber": "1234567890", "accountName": "John C. Doe", "phone": "+63-917-1234567", "entityType": "INDIVIDUAL" }, "payoutAmt": 5500, "destinationCcy": "PHP", "transferFee": 5, "expiryTime": "2024-12-18T12:00:00Z", "payoutProviderId": "PAYOUT-PROVIDER-1", "payoutMethod": "BANK_ACCOUNT", "segment": "C2C", "compliance": { "sourceOfFunds": "SALARY", "purpose": "FAMILY_MAINTENANCE", "relationship": "PARENT" }, "creationTime": "2026-01-21T08:07:10Z", "intiateTime": "2026-01-21T08:07:13Z" }
Request
Retrieves the current status of a specific payout using its unique payoutId.
Payout Status Values:
RCVD- Received: Payout request has been receivedACCP- Accepted: Payout has been accepted for processingPNDG- Pending: Payout is pending processingPRCD- Processed: Payout has been successfully processedRJCT- Rejected: Payout was rejectedCNCL- Cancelled: Payout was cancelledEXPD- Expired: Payout has expiredFAIL- Failed: Payout processing failedRVSD- Reversed: Payout was reversed
Cancellation Status Values (when applicable):
ACCP- Cancellation acceptedPNDG- Cancellation pendingPRCD- Cancellation processedRJCT- Cancellation rejected
- Mock serverhttps://docs.almondfintech.com/_mock/apis/payouts/v2/payouts/{payout-id}/status
- Sandboxhttps://api.sandbox.almondfintech.com/v2/payouts/{payout-id}/status
- Productionhttps://api.almondfintech.com/v2/payouts/{payout-id}/status
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X GET \
'https://docs.almondfintech.com/_mock/apis/payouts/v2/payouts/{payout-id}/status'Payout status response
RCVD: Received,
ACCP: Accepted,
PNDG: Pending,
PRCD: Processed,
RJCT: Rejected,
CNCL: Cancelled,
EXPD: Expired,
FAIL: Failed,
RVSD: Reversed
ACCP: Accepted,
PNDG: Pending,
PRCD: Processed,
RJCT: Rejected
{ "payoutStatus": "ACCP" }
- Mock serverhttps://docs.almondfintech.com/_mock/apis/payouts/v2/payouts/{payout-id}/cancel
- Sandboxhttps://api.sandbox.almondfintech.com/v2/payouts/{payout-id}/cancel
- Productionhttps://api.almondfintech.com/v2/payouts/{payout-id}/cancel
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X POST \
'https://docs.almondfintech.com/_mock/apis/payouts/v2/payouts/{payout-id}/cancel' \
-H 'Content-Type: application/json' \
-d '{
"cancellationReason": "Customer requested cancellation"
}'{ "payoutStatus": "ACCP", "payoutCancellationStatus": "PNDG" }