The Payment Company Logo

Payout

Card Payout API

This guide provides detailed instructions for integrating with the Card Payout API. It allows businesses to send funds directly to recipients' credit and debit cards and covers endpoint details, request and response formats, authentication, and best practices for secure, efficient disbursements.

SectionPayout
Topics05
Pathpayout / 01-payoutApi

API Endpoint

Live APIProduction environment
POSThttps://api.thepayment.company/api/v1/live/payout
Test APISandbox environment
POSThttps://api.thepayment.company/api/v1/test/payout

Request Fields

ParameterTypeDescriptionRequired
wallet_idStringUser wallet IDYes
first_nameStringCardholder first nameYes
last_nameStringCardholder last nameYes
emailStringCustomer email addressYes
addressStringBilling street addressYes
countryStringCountry code in ISO 3166-1 alpha-3 formatYes
cityStringCardholder cityYes
stateStringCardholder state or regionYes
zipStringZIP or postal codeYes
ip_addressStringCustomer IP addressYes
phone_numberStringCardholder phone numberYes
amountNumberPayout amount in the smallest currency unitYes
currencyStringCurrency code in ISO 4217 formatYes
card_numberStringCredit or debit card numberYes
card_expiry_monthStringCard expiry month in MM formatYes
card_expiry_yearStringCard expiry year in YYYY formatYes
webhook_urlStringURL used for server-to-server webhook updatesNO
order_idStringMerchant-side unique order referenceNO
terminal_idStringUnique connector terminal ID, useful when choosing a primary or fallback connectorNO

Payload

Send the request payload as JSON. The sample structure is shown below:

{
"wallet_id": "WAL7825818519632620",
"first_name": "James",
"last_name": "Dean",
"email": "james@gmail.com",
"address": "64 Hertingfordbury Rd",
"country": "US",
"city": "Newport",
"state": "US",
"zip": "TF10 8DF",
"ip_address": "127.0.0.1",
"phone_number": "7654233212",
"amount": 100,
"currency": "USD",
"card_number": "4111111111111111",
"card_expiry_month": "12",
"card_expiry_year": "2027",
"webhook_url": "https://thepayment.company/webhook",
"order_id": "12524AGSDF34DS"
}

For sandbox payout testing, use the successful and failed card numbers listed in Testing Cards under the Payout Test Cards section.

Sample Responses

{
"status": "SUCCESS",
"message": "Transaction processed successfully!.",
"data": {
  "amount": 100,
  "currency": "USD",
  "order_id": null,
  "transaction_id": "TPC0186280974141637",
  "customer": {
    "first_name": "James",
    "last_name": "Dean",
    "email": "james@gmail.com"
  }
}
}
If additional verification is required:
{
"status": "PENDING",
"message": "Additional verification required",
"redirect_url": "https://api.thepayment.company/api/v1/test/payout/verification/TPC0186280974141637",
"data": {}
}

Handling Redirect URLs

In some cases, the API response may include a redirect_url field. This happens when additional information or verification is required to complete the payout transaction. When this field is present, your application should redirect the user to that URL so the required data can be provided.

This is uncommon and usually occurs when the payment processor requires additional verification for specific transactions or regions.

Integration Notes

Encrypted payment APIs must use AES-256-CBC before transmitting sensitive fields. Authentication, headers, encryption steps, and sample implementations for Node.js, PHP, Python, and Java are documented in Integration Examples.

On this page