Charge Transaction

Use this endpoint when you want Kyshi to create a charge that is paid by bank transfer. The request body uses the same customer, currency, fee, and amount fields as transaction initialization.

-H "x-api-key: your_secret_key"
POST {{host}}/v1/transactions/charge

Request Body

FieldData TypeRequiredDescription
emailstringYesCustomer email address.
amountnumberYesAmount to collect in major currency units.
localCurrencystringYesCollection currency. Supported values: NGN, KES, ZAR, GHS, XOF, USD.
amountCurrencystringNosettlement or local. Defaults to settlement.
referencestringNoYour unique transaction reference.
feeBearerstringNoMERCHANT or CUSTOMER.
taxChargeablestringNoINCLUSIVE or EXCLUSIVE.
chargeTypestringNoUse BANK_TRANSFER for bank transfer charges.
expiresAtstringNoExpiry date/time for bank transfer charges when supported by the provider.
{
  "email": "[email protected]",
  "amount": 5000,
  "localCurrency": "NGN",
  "amountCurrency": "local",
  "reference": "BT-10001",
  "chargeType": "BANK_TRANSFER",
  "expiresAt": "2026-05-20T23:59:59Z"
}
{
  "status": true,
  "message": "Success",
  "code": 201,
  "data": {
    "reference": "BT-10001",
    "status": "PENDING",
    "amount": 5000,
    "currency": "NGN",
    "paymentType": "BANK_TRANSFER",
    "accountNumber": "1234567890",
    "accountName": "KYSHI / CUSTOMER",
    "bankName": "Wema Bank"
  }
}