API PAY-OUT TRANSACTION
Request
The Pay-Out API enables merchants to initiate disbursement transactions to various recipients including employees, customers, vendors, and partners. This API supports multiple payment methods for secure and efficient money transfers in the Philippine market.
Request Path:
sandbox:
https://sandbox-gateway.smilepayz.com/v2.0/disbursement/pay-out
production:https://gateway.smilepayz.com/v2.0/disbursement/pay-out
Header Parameters
Field | Required | Type | Description |
---|---|---|---|
Content-Type | M | String | HTTP content type specification Fixed value: application/json Required for proper request parsing |
X-TIMESTAMP | M | String | ISO 8601 datetime format with timezone offset Format: yyyy-MM-ddTHH:mm:ss±HH:mm Example: 2020-12-17T10:55:00+08:00 Note: Must be current server time within ±5 minutes |
X-SIGNATURE | M | String | Digital signature for request authentication See Signature Generation |
X-PARTNER-ID | M | String | Unique merchant identifier assigned by the platform Format: Alphanumeric string Used for merchant authentication and transaction routing Please enter merchantID |
Body Parameters
Field | Required | Type | Description |
---|---|---|---|
orderNo | M | String(32) | Unique transaction identifier Format: Alphanumeric string (numbers and letters only) Length: 6-32 characters Used for transaction tracking and reference |
purpose | M | String(64) | Transaction purpose or description Format: UTF-8 encoded string Maximum length: 64 characters Used for transaction identification and reporting |
merchant | M | Object | Merchant information container Contains merchant identification and business details See Merchant Model |
merchantId | M | String | Unique merchant identifier assigned by the platform Format: Alphanumeric string Used for merchant authentication and transaction routing |
merchantName | O | String | Merchant business name or display name Format: UTF-8 encoded string Used for merchant identification and reporting |
subMerchantId | O | String | Sub-merchant identifier for multi-level merchant structures Format: Alphanumeric string Used for sub-merchant identification and reporting |
subMerchantName | O | String | Sub-merchant business name or display name Format: UTF-8 encoded string Used for sub-merchant identification and reporting |
money | M | Object | Transaction amount details with currency specification Contains transaction amount and currency information See Money Model |
currency | M | String | ISO 4217 currency code specification Fixed value: PHP (Philippine Peso) Determines payment processing rules and settlement currency |
amount | M | Number | Transaction amount in smallest currency unit Format: Integer value Example: 20000 represents PHP 20000 Range: 100-999999999 |
paymentMethod | M | String(6) | Payment method used for transaction processing Format: Predefined payment method codes Examples: GCASH, PAY_MAYA, BPI_BANK, BDO_UNIBANK Indicates the actual payment channel used See Payment Method List |
cashAccount | M | String(32) | Philippine bank account number or digital wallet identifier Format: Alphanumeric string Maximum length: 32 characters Used for fund transfer destination |
receiver | M | Object | Recipient information container Contains beneficiary identification and contact details See Receiver Model |
name | M | String | Recipient's full name Format: UTF-8 encoded string Example: "Maria Santos Cruz" Used for beneficiary identification and transaction records |
callbackUrl | O | String(256) | Webhook notification URL for transaction status updates Format: Valid HTTP/HTTPS URL Maximum length: 256 characters Used for real-time transaction status notifications |
Important Notes
1. Transaction ID:
orderNo
must be unique across all transactions for the merchant
2. Amount Format: Amount should be provided in the smallest currency unit (pesos for PHP)
3. Timezone: All timestamps use Philippines timezone (UTC+8)
4. Bank Account: Must be a valid Philippine bank account number or digital wallet identifier
5. Payment Methods: Supports all major Philippine banks and digital wallets
6. Recipient Information: Full name is required for transaction processing
Example Body – Disbursement Request:
Content-type: application/json
X-TIMESTAMP: 2020-12-17T10:55:00+08:00
X-SIGNATURE: 7MHd9v5/m9JeqmDZVwWBZUZ5J5...7120QnFEny7Qm7uQR1G0TWCh10fsU6nVxiRoeoQ==
X-PARTNER-ID: 20001
{
"cashAccount": "09171234567",
"receiver": {
"name": "Maria Santos Cruz"
},
"merchant": {
"merchantId": "20001"
},
"money": {
"amount": 20000,
"currency": "PHP"
},
"orderNo": "2000102900000000000001",
"paymentMethod": "GCASH",
"purpose": "Salary payment for March 2024"
}
Response
HTTP Response
Field | Required | Type | Description |
---|---|---|---|
Content-Type | M | String | HTTP response content type specification Fixed value: application/json Indicates JSON response format |
X-TIMESTAMP | M | String | ISO 8601 datetime format with timezone offset Format: yyyy-MM-ddTHH:mm:ss±HH:mm Example: 2020-12-17T10:55:00+08:00 |
Body Parameters
Field | Required | Type | Description |
---|---|---|---|
code | M | String | API response status code indicating operation result Format: Two-digit string Success: "00", Error: Other codes Used for programmatic response handling |
message | M | String | Human-readable response status description Format: UTF-8 encoded string Provides detailed information about the operation result Localized based on request language |
orderNo | M | String | Unique transaction identifier provided in the request Format: Alphanumeric string Same as the orderNo provided in the request Used for transaction tracking and reference |
tradeNo | O | String | Internal transaction reference number for system tracking Format: System-generated alphanumeric string Used for internal transaction management and support |
merchant | M | Object | Merchant information container Contains merchant identification and business details See Merchant Model |
merchantId | M | String | Unique merchant identifier assigned by the platform Format: Alphanumeric string Used for merchant authentication and transaction routing |
merchantName | O | String | Merchant business name or display name Format: UTF-8 encoded string Used for merchant identification and reporting |
subMerchantId | O | String | Sub-merchant identifier for multi-level merchant structures Format: Alphanumeric string Used for sub-merchant identification and reporting |
subMerchantName | O | String | Sub-merchant business name or display name Format: UTF-8 encoded string Used for sub-merchant identification and reporting |
money | M | Object | Transaction amount details with currency specification Contains confirmed transaction amount and currency See Money Model |
currency | M | String | ISO 4217 currency code specification Fixed value: PHP (Philippine Peso) Determines payment processing rules and settlement currency |
amount | M | Number | Transaction amount in smallest currency unit Format: Integer value Example: 20000 represents PHP 20000 Range: 100-999999999 |
disbursementTime | M | String | Transaction completion timestamp Format: yyyy-MM-ddTHH:mm:ss Example: 2020-12-17T10:55:00+08:00 Used for transaction timing and audit |
channel | M | Object | Payment channel information container Contains payment method and processing details See Channel Model |
status | O | String | Current transaction processing status Format: Predefined status codes Examples: PROCESSING, SUCCESS, FAILED, CANCELLED Indicates the current state of the transaction See Status Model |
Content-type: application/json
X-TIMESTAMP: 2020-12-17T10:55:00+08:00
{
"code": "00",
"message": "successful",
"orderNo": "2000102900000000000001",
"tradeNo": "1822000109e998347483949",
"status": "PROCESSING",
"disbursementTime": "2020-12-17T10:55:00+08:00",
"merchant": {
"merchantId": "20001",
"merchantName": "test",
"accountNo": "2000124234782342"
},
"money": {
"currency": "PHP",
"amount": 20000
},
"channel": {
"paymentMethod": "GCASH",
"cashAccount": "09171234567",
"accountName": "Maria Santos Cruz"
}
}
Notification
HTTP Request
Field | Required | Type | Description |
---|---|---|---|
Content-Type | M | String | HTTP request content type specification Fixed value: application/json Indicates JSON request format |
X-TIMESTAMP | M | String | ISO 8601 datetime format with timezone offset Format: yyyy-MM-ddTHH:mm:ss±HH:mm Example: 2020-12-17T10:55:00+08:00 |
X-SIGNATURE | M | String | Digital signature for notification authentication See Callback Signature Verification |
Body Parameters
Field | Required | Type | Description |
---|---|---|---|
orderNo | M | String | Merchant transaction identifier Format: Alphanumeric string Same as the orderNo provided in the original request Used for transaction identification and verification |
tradeNo | M | String | Internal transaction reference number for system tracking Format: System-generated alphanumeric string Used for internal transaction management and support |
merchantId | M | String | Unique merchant identifier assigned by the platform Format: Alphanumeric string Used for merchant authentication and transaction routing |
merchantName | M | String | Merchant business name or display name Format: UTF-8 encoded string Used for merchant identification and reporting |
subMerchantId | O | String | Sub-merchant identifier for multi-level merchant structures Format: Alphanumeric string Used for sub-merchant identification and reporting |
subMerchantName | O | String | Sub-merchant business name or display name Format: UTF-8 encoded string Used for sub-merchant identification and reporting |
paymentMethod | M | String | Payment method used for transaction processing Format: Predefined payment method codes Examples: GCASH, PAY_MAYA, BPI_BANK, BDO_UNIBANK Indicates the actual payment channel used |
transactionTime | M | String | Transaction completion timestamp Format: yyyy-MM-ddTHH:mm:ss Example: 2020-12-17T10:55:00+08:00 Used for transaction timing and audit |
money | M | Object | Transaction amount details with currency specification Contains confirmed transaction amount and currency See Money Model |
currency | M | String | ISO 4217 currency code specification Fixed value: PHP (Philippine Peso) Determines payment processing rules and settlement currency |
amount | M | Number | Transaction amount in smallest currency unit Format: Integer value Example: 20000 represents PHP 20000 Range: 100-999999999 |
status | M | String | Final transaction processing status Format: Predefined status codes Examples: SUCCESS, FAILED, CANCELLED Indicates the final state of the transaction See Status Model |
Return
Important Response
Notification Response: Please return only the string
SUCCESS
to acknowledge receipt of the notification
{
"merchantId": "20001",
"merchantName": "test",
"money": {
"amount": 20000,
"currency": "PHP"
},
"orderNo": "2000102900000000000001",
"status": "SUCCESS",
"tradeNo": "1522000109e998347483949",
"transactionTime": "2020-12-17T10:55:00+08:00"
}
SUCCESS