Authorize Payments
Authorize a direct charge payment after initialization.
Authorizing a direct charge depends on the payment method used during initialization. After starting a charge, make a POST request to the appropriate Authorize Transaction endpoint using your transaction reference.
Direct charge options
Each direct charge method has its own authorization flow:
- telebirr
- mpesa
- cbebirr
- ebirr
- awashbirr
- yaya
auth_type values
otpussd
When to encrypt?
If you handle sensitive data (e.g., OTPs), encrypt the secure payload using your encryption key from Settings > API with 3DES. See Encryption for examples. Wrap the encrypted string in JSON:
{
"client": "0jhd12Dfee+2h/FzHA/X1zPlDmRmH5v+F4sdsfFFSEgg44FAFDSFS000+YwUHegTSogQdnXp7OGdUxPngiv6592YoL0YXa4eHcH1fRGjAimdqucGJPurFVu4sE5gJIEmBCXdESVqNPG72PwdRPfAINT9x1bXemI1M3bBdydtWvAx58ZE4fcOtWkD/IDi+o8K7qpmzgUR8YUbgZ71yi0pg5UmrT4YpcY2eq5i46Gg3L+rtjhjkgjkjg83hfkjajhf3"
}Authorization request
Endpoint: https://api.chapa.co/v1/validate?type=amole
Method: POST
Authorization: BearerCHAPA_SECRET_KEY
See Error Codes for possible responses.
After the payment
- Webhook will fire if enabled. See Webhooks.
- Always verify on your server: Verify a Transaction.