Langsung ke konten utama

API PAY-OUT TRANSACTION

smilepayz teamsSekitar 6 menit

Request

The Pay-Out Transaction API enables merchants to initiate secure and efficient money transfers to various recipients including employees, customers, vendors, and business partners. This API supports multiple Peruvian banking institutions and payment methods for comprehensive disbursement solutions.

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

FieldRequiredTypeDescription
Content-TypeMStringHTTP content type specification
Fixed value: application/json
Required for proper request parsing
X-TIMESTAMPMStringISO 8601 datetime format with timezone offset
Format: yyyy-MM-ddTHH:mm:ss±HH:mm
Example: 2020-12-17T10:55:00-05:00
Note: Must be current server time within ±5 minutes
X-SIGNATUREMStringDigital signature for request authentication
See Signature Generation
X-PARTNER-IDMStringUnique merchant identifier assigned by the platform
Format: Alphanumeric string
Used for merchant authentication and transaction routing
Please enter merchantID

Body Parameters

FieldRequiredTypeDescription
orderNoMString(32)Unique transaction identifier
Format: Alphanumeric string (numbers and letters only)
Length: 6-32 characters
Must be unique across all transactions for the merchant
purposeMString(64)Transaction purpose or description
Format: UTF-8 encoded string
Maximum length: 64 characters
Used for transaction identification and reporting
merchantMObjectMerchant information container
Contains merchant identification and business details
See Merchant Model
    merchantIdMStringPrimary merchant identifier assigned by the platform
Format: Alphanumeric string
Used for merchant authentication and transaction routing
    merchantNameOStringMerchant business name for display purposes
Format: UTF-8 encoded string
Used for transaction identification and customer display
    subMerchantIdOStringSub-merchant identifier for multi-level merchant structures
Format: Alphanumeric string
Used for complex merchant hierarchies
    subMerchantNameOStringSub-merchant business name for display purposes
Format: UTF-8 encoded string
Used for transaction identification in multi-level structures
moneyMObjectTransaction amount and currency specification
Contains payment amount and currency details
See Money Model
    currencyMStringISO 4217 currency code specification
Fixed value: PEN (Peruvian Sol)
Determines payment processing rules and settlement currency
    amountMNumberTransaction amount in smallest currency unit
Format: Integer value
Example: 20000 represents PEN 200.00
Range: 100-999999999
paymentMethodMString(6)Payment method for transaction processing
Format: Predefined payment method codes
Examples: BCP, INTERBANK, SCOTIABANK_PE
See Payment Method List
cashAccountMString(32)Recipient's bank account number
Format: Alphanumeric string
Maximum length: 32 characters
Must be a valid Peruvian bank account number
cashAccountTypeMString(32)Bank account type specification
Format: Predefined account type codes
Values: CORRIENTE (Checking), AHORROS (Savings)
Determines account type for transaction processing
cciCString(20)Interbank Account Code (CCI) for faster processing
Format: 20-digit alphanumeric string
Recommended for faster payment processing and reduced transaction delays
receiverMObjectRecipient information container
Contains recipient identification and contact details
See Receiver Model
    nameMStringRecipient's full name for transaction identification
Format: UTF-8 encoded string
Used for transaction records and recipient verification
    emailMStringRecipient's email address for notifications
Format: Valid email address
Used for transaction notifications and communication
    phoneMStringRecipient's phone number for contact purposes
Format: International phone number format
Used for transaction verification and support
    idTypeMStringIdentity document type specification
Format: Predefined identity type codes
Values: DNI (National ID), CE (Foreigner ID), PAS (Passport), RUC (Tax ID)
Determines identity verification requirements
    identityMStringIdentity document number
Format: Alphanumeric string
Must match the specified idType format
Used for recipient verification and compliance
callbackUrlOString(256)Webhook notification URL for transaction status updates
Format: Valid HTTP/HTTPS URL
Maximum length: 256 characters
Used for asynchronous transaction notifications

Important Notes

1. Transaction Uniqueness: orderNo must be unique across all transactions for your merchant account
2. Amount Format: All amounts are specified in the smallest currency unit (e.g., 20000 = PEN 200.00)
3. Timezone: All timestamps use UTC-5 (Peru timezone)
4. Bank Account: Must be a valid Peruvian bank account number
5. CCI Code: Recommended for faster processing and reduced delays
6. Identity Types: DNI (National ID), CE (Foreigner ID), PAS (Passport), RUC (Tax ID)

Example Body – Disbursement Request:

Content-type: application/json
X-TIMESTAMP: 2020-12-17T10:55:00-05:00
X-SIGNATURE: 7MHd9v5/m9JeqmDZVwWBZUZ5J5...7120QnFEny7Qm7uQR1G0TWCh10fsU6nVxiRoeoQ==
X-PARTNER-ID: 20001

Response

HTTP Response

FieldRequiredTypeDescription
Content-TypeMStringHTTP response content type specification
Fixed value: application/json
Indicates JSON response format
X-TIMESTAMPMStringISO 8601 datetime format with timezone offset
Format: yyyy-MM-ddTHH:mm:ss±HH:mm
Example: 2020-12-17T10:55:00-05:00

Body Parameters

FieldRequiredTypeDescription
codeMStringAPI response status code indicating operation result
Format: Two-digit string
Success: "00", Error: Other codes
Used for programmatic response handling
messageMStringHuman-readable response status description
Format: UTF-8 encoded string
Provides detailed information about the operation result
Localized based on request language
orderNoMStringMerchant transaction identifier
Format: Alphanumeric string
Same as the orderNo provided in the request
Used for transaction tracking and reconciliation
tradeNoOStringInternal transaction reference number
Format: System-generated alphanumeric string
Used for internal transaction management and support
statusOStringCurrent transaction processing status
Format: Predefined status codes
Examples: PROCESSING, SUCCESS, FAILED
Indicates the current state of the transaction
See Status Model
disbursementTimeMStringTransaction processing timestamp
Format: yyyy-MM-ddTHH:mm:ss±HH:mm
Example: 2020-12-17T10:55:00-05:00
Timezone: UTC-5 (Peru timezone)
merchantMObjectMerchant information container
Contains merchant identification and account details
See Merchant Model
    merchantIdMStringPrimary merchant identifier assigned by the platform
Format: Alphanumeric string
Used for merchant authentication and transaction routing
    merchantNameOStringMerchant business name for display purposes
Format: UTF-8 encoded string
Used for transaction identification and customer display
    subMerchantIdOStringSub-merchant identifier for multi-level merchant structures
Format: Alphanumeric string
Used for complex merchant hierarchies
    subMerchantNameOStringSub-merchant business name for display purposes
Format: UTF-8 encoded string
Used for transaction identification in multi-level structures
    accountNoOStringMerchant account number for transaction processing
Format: Alphanumeric string
Used for account identification and balance management
moneyMObjectTransaction amount and currency specification
Contains confirmed transaction amount and currency
See Money Model
    currencyMStringISO 4217 currency code specification
Fixed value: PEN (Peruvian Sol)
Determines payment processing rules and settlement currency
    amountMNumberTransaction amount in smallest currency unit
Format: Integer value
Example: 20000 represents PEN 20000
Range: 100-999999999
channelMObjectPayment channel information container
Contains payment method and processing details
See Channel Model
    paymentMethodMStringPayment method used for transaction processing
Format: Predefined payment method codes
Example: BCP
Indicates the actual payment channel used
    cashAccountMStringRecipient's bank account number
Format: Alphanumeric string
Used for transaction verification and processing
    accountNameMStringRecipient's account holder name
Format: UTF-8 encoded string
Used for transaction verification and recipient identification

Example Body – Transaction Response:

Content-type: application/json
X-TIMESTAMP: 2020-12-17T10:55:00-05:00

Notification

HTTP Request

FieldRequiredTypeDescription
Content-TypeMStringHTTP content type specification
Fixed value: application/json
Required for proper request parsing
X-TIMESTAMPMStringISO 8601 datetime format with timezone offset
Format: yyyy-MM-ddTHH:mm:ss±HH:mm
Example: 2020-12-17T10:55:00-05:00
Note: Must be current server time within ±5 minutes
X-SIGNATUREMStringDigital signature for request authentication
See Callback Signature Verification

Body Parameters

FieldRequiredTypeDescription
orderNoMStringMerchant transaction identifier
Format: Alphanumeric string
Same as the orderNo provided in the original request
Used for transaction tracking and reconciliation
tradeNoMStringInternal transaction reference number
Format: System-generated alphanumeric string
Used for internal transaction management and support
merchantIdMStringPrimary merchant identifier assigned by the platform
Format: Alphanumeric string
Used for merchant authentication and transaction routing
merchantNameMStringMerchant business name for display purposes
Format: UTF-8 encoded string
Used for transaction identification and customer display
subMerchantIdOStringSub-merchant identifier for multi-level merchant structures
Format: Alphanumeric string
Used for complex merchant hierarchies
subMerchantNameOStringSub-merchant business name for display purposes
Format: UTF-8 encoded string
Used for transaction identification in multi-level structures
paymentMethodMStringPayment method used for transaction processing
Format: Predefined payment method codes
Example: BCP
Indicates the actual payment channel used
See Payment Method List
transactionTimeMStringTransaction processing timestamp
Format: yyyy-MM-ddTHH:mm:ss±HH:mm
Example: 2020-12-17T10:55:00-05:00
Timezone: UTC-5 (Peru timezone)
statusMStringCurrent transaction processing status
Format: Predefined status codes
Examples: PROCESSING, SUCCESS, FAILED, CANCELLED
Indicates the current state of the transaction
See Status Model
moneyMObjectTransaction amount and currency specification
Contains confirmed transaction amount and currency
See Money Model
    currencyMStringISO 4217 currency code specification
Fixed value: PEN (Peruvian Sol)
Determines payment processing rules and settlement currency
    amountMNumberTransaction amount in smallest currency unit
Format: Integer value
Example: 20000 represents PEN 20000
Range: 100-999999999

Return

Important Response Requirement

Notification Response: Please return only the string SUCCESS to acknowledge receipt of the notification

{
  "merchantId": "20001",
  "merchantName": "test",
  "money": {
    "amount": 20000,
    "currency": "PEN"
  },
  "orderNo": "2000102900000000000001",
  "status": "SUCCESS",
  "tradeNo": "1522000109e998347483949",
  "transactionTime": "2020-12-17T10:55:00-05:00"
}
Terakhir diperbarui: