USA Payouts Flow

USA Payouts API

This method allows you to create a new digital payment to a beneficiary bank account in the United States.

Endpoint

POST /us/payout/create

ParameterTypeRequiredDescription
amountdecimalYesThe transfer amount in USD. Must be greater than 0. Up to two decimal places allowed.
accountstringYesThe beneficiary's bank account number.
namestringYesThe name of the account holder.
routingstringYesThe 9-digit bank routing number (ABA routing number).
sandboxintegerOptionalSet to 1 for sandbox mode, 0 or omit for production. Default: 0

Request Example

{
    "amount": 150.00,
    "account": "428100000",
    "name": "Checking account", 
    "routing": "021000021",
    "sandbox": 0
}

Response 200 (Success)

ACH Payment Example

{
    "code": 200,
    "msg": "OK",
    "caseid": "b8ca3dca-1692-4a5b-8277-0684c0fb8c4f",
    "date": "2025-08-20 16:51:21",
    "status": "SUCCESS",
    "message": "Digital payment processed successfully",
    "data": {
        "transaction_id": "5da23fab51ac47adabb41ca2f07d9f76",
        "amount": 150.00,
        "recipient_account": "428100000",
        "recipient_name": "Checking account",
        "recipient_routing": "021000021",
        "payment_status": "IN_PROCESS",
        "payment_method": "ACH",
        "payment_method_description": "Automated Clearing House - Payment processing (status: IN_PROCESS)",
        "transaction_number": 5001,
        "created_at": "2025-08-20 20:50:00"
    }
}

RTP Payment Example

{
    "code": 200,
    "msg": "OK",
    "caseid": "b8ca3dca-1692-4a5b-8277-0684c0fb8c4f",
    "date": "2025-08-20 16:51:21",
    "status": "SUCCESS",
    "message": "Digital payment processed successfully",
    "data": {
        "transaction_id": "5da23fab51ac47adabb41ca2f07d9f76",
        "amount": 150.00,
        "recipient_account": "428100000",
        "recipient_name": "Checking account",
        "recipient_routing": "021000021",
        "payment_status": "PAID",
        "payment_method": "RTP",
        "payment_method_description": "Real-Time Payments - Payment completed immediately (status: PAID)",
        "transaction_number": 5002,
        "created_at": "2025-08-20 20:50:00"
    }
}

Response 400 (Error)

{
    "code": 400,
    "msg": "ERROR",
    "caseid": "b8ca3dca-1692-4a5b-8277-0684c0fb8c4f",
    "date": "2025-08-20 16:51:21",
    "status": "ERROR",
    "error_message": "Payment failed or not processed",
    "display_message": "Error in payment processing: Payment failed or not processed"
}

Response Fields

FieldTypeDescription
codeintegerHTTP response code (200 for success, 400+ for errors)
msgstringResponse status ("OK" or "ERROR")
caseidstringThe case ID from the request
datestringResponse timestamp in YYYY-MM-DD HH:MM:SS format
statusstringTransaction status ("SUCCESS", "ERROR")
messagestringHuman-readable status message
data.transaction_idstringUnique transaction identifier
data.amountdecimalTransaction amount
data.recipient_accountstringBeneficiary account number
data.recipient_namestringBeneficiary account name
data.recipient_routingstringBank routing number
data.payment_statusstringPayment status ("PAID", "IN_PROCESS", "UNPAID")
data.payment_methodstringPayment method used ("RTP", "ACH", "ERROR")
data.payment_method_descriptionstringDetailed payment method description
data.transaction_numberintegerSequential transaction number
data.created_atstringTransaction creation timestamp

Payment Methods

RTP (Real-Time Payments)

  • Status: PAID
  • Description: Payment is processed and completed immediately
  • Typical processing: Instant (within seconds)

ACH (Automated Clearing House)

  • Status: IN_PROCESS
  • Description: Payment is being processed through the ACH network
  • Typical processing: 1-3 business days

Sandbox Testing

For sandbox testing, use "sandbox": 1 in your request.

Sandbox Test Amounts

AmountExpected ResultPayment Method
150.00Success - ACHACH (IN_PROCESS)
250.00Success - RTPRTP (PAID)
0 or negativeValidation ErrorN/A
Other amountsPayment ErrorERROR

Sandbox Test Accounts

Use these test account details for sandbox:

{
    "account": "428100000",
    "name": "Test Account",
    "routing": "021000021"
}

Error Codes

CodeDescription
200Success - Payment processed
400Bad Request - Invalid parameters or payment failed
403Forbidden - IP not whitelisted
500Internal Server Error - System error

Common Error Scenarios

  1. Invalid Token: Check that id_token corresponds to an active account
  2. IP Restriction: Ensure client_ip is whitelisted for the client
  3. Invalid Amount: Amount must be greater than 0 with max 2 decimals
  4. Invalid Routing: Routing number must be exactly 9 digits
  5. Account Mismatch: Sandbox flag must match the account configuration

Flow Overview

  1. Account Validation: System validates the client token and selects appropriate credentials (sandbox vs production)
  2. Bank Account Setup: System checks for existing bank account or creates a new one
  3. Digital Payment: Creates and sends the digital payment using client's credentials
  4. Payment Deposit: Processes the payment deposit using system credentials
  5. Status Check: Waits 10 seconds then polls for payment status to determine ACH vs RTP
  6. Response: Returns final payment status and method

Security

  • All requests must include a valid client_ip that is whitelisted for the client account
  • Client credentials are stored securely and used only for the digital payment creation
  • System credentials handle account management and payment processing
  • All API communications use HTTPS encryption

Support

For API support, integration questions, or to request IP whitelisting, contact our technical support team.