v1.0

Card Payouts (CREDIT2CARD)#

Push funds from your CentaPay settlement balance to a recipient's card. Used for merchant payouts, refunds to alternate cards, or disbursements to end-users.

S2S CARD Formula 5 Hash
POST https://{PAYMENT_URL}/post

Request Parameters#

ParameterDescriptionRequired
actionCREDIT2CARDYes
client_keyYour account keyYes
channel_idSub-account (up to 16 chars)No
order_idYour unique transaction IDYes
order_amountAmount to disburse. Integer for KZT/UZS, float XX.XX for USD.Yes
order_currencyISO 4217 codeYes
order_descriptionDescription (up to 1024 chars)Yes
card_numberRecipient's card numberYes
payee_first_nameRecipient's first nameNo
payee_last_nameRecipient's last nameNo
payee_middle_nameRecipient's middle nameNo
payee_birth_dateFormat: yyyy-MM-ddNo
payee_addressRecipient's addressNo
payee_country2-letter codeNo
payee_cityRecipient's cityNo
payee_zipPostal codeNo
payee_emailRecipient's emailNo
payee_phoneRecipient's phoneNo
payer_first_nameSender's first nameNo
payer_last_nameSender's last nameNo
parametersAcquirer-specific extra fieldsNo
hashFormula 5Yes

Response#

resultstatusMeaning
SUCCESSSETTLEDPayout completed
DECLINEDDECLINEDPayout rejected — check decline_reason
UNDEFINEDPREPAREProcessing — await callback

Callback#

Callback hash uses Formula 6 (not Formula 2). This is the only action with a different callback hash formula.

Testing#

Use test card 4601541833776519 for successful CREDIT2CARD. Response: {action: CREDIT2CARD, result: SUCCESS, status: SETTLED}.

curl -X POST https://{PAYMENT_URL}/post \
  -H "Content-Type: application/x-www-form-urlencoded" \
  -d "action=CREDIT2CARD" \
  -d "client_key={CLIENT_KEY}" \
  -d "order_id=PAY-001" \
  -d "order_amount=10000" \
  -d "order_currency=KZT" \
  -d "order_description=Merchant+payout" \
  -d "card_number=4601541833776519" \
  -d "hash={FORMULA_5_HASH}"
// Formula 5: md5(strtoupper(PASSWORD . strrev(first6+last4)))
$card = '4601541833776519';
$cp = substr($card,0,6).substr($card,-4);
$hash = md5(strtoupper(PASSWORD . strrev($cp)));
$params = [
  'action' => 'CREDIT2CARD',
  'client_key' => CLIENT_KEY,
  'order_id' => 'PAY-001',
  'order_amount' => '10000',
  'order_currency' => 'KZT',
  'order_description' => 'Merchant payout',
  'card_number' => $card,
  'hash' => $hash,
];

Virtual Account Payouts#

🔜
Coming soon. CREDIT2VIRTUAL enables payouts to mobile money, bank transfer, and other virtual account methods. This capability is not yet available on CentaPay. Contact [email protected] for the latest availability dates.