ChapaChapa Docs

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

  • otp
  • ussd

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: Bearer CHAPA_SECRET_KEY

See Error Codes for possible responses.

After the payment

On this page