{ "opencollection": "1.0.0", "info": { "name": "Kora (Korapay) Merchant Balances Charges API", "version": "1.0" }, "request": { "auth": { "type": "bearer", "token": "{{bearerToken}}" } }, "items": [ { "info": { "name": "Charges", "type": "folder" }, "items": [ { "info": { "name": "Initialize a charge", "type": "http" }, "http": { "method": "POST", "url": "https://api.korapay.com/merchant/api/v1/charges/initialize", "body": { "type": "json", "data": "{}" }, "auth": { "type": "bearer", "token": "{{bearerToken}}" } }, "docs": "Initializes a checkout charge and returns a hosted checkout URL / reference. Typically called with your public key from the client side." }, { "info": { "name": "Charge a card", "type": "http" }, "http": { "method": "POST", "url": "https://api.korapay.com/merchant/api/v1/charges/card", "body": { "type": "json", "data": "{}" } }, "docs": "Charges a card. The card and payment details must be AES-256 encrypted with your encryption key and submitted as a single `charge_data` string. The response `status` (success, processing, or failed) and, when processing, the returned `auth_model` determine the next authorization step (PIN, OTP, AVS/address, or phone). Card payments require the feature to be enabled on your account and PCI DSS Level 1 certification." }, { "info": { "name": "Authorize a card charge", "type": "http" }, "http": { "method": "POST", "url": "https://api.korapay.com/merchant/api/v1/charges/card/authorize", "body": { "type": "json", "data": "{}" } }, "docs": "Completes a processing card charge by supplying the authorization the card requires (PIN, OTP, AVS/address, or phone), together with the transaction reference. NOTE - the exact path of this authorization endpoint is inferred by convention; Kora's documentation links to a Postman entry rather than printing the literal path. Verify before use." }, { "info": { "name": "Charge a mobile money wallet", "type": "http" }, "http": { "method": "POST", "url": "https://api.korapay.com/merchant/api/v1/charges/mobile-money", "body": { "type": "json", "data": "{}" } }, "docs": "Charges a customer's mobile money wallet. Available in Kenya (KES), Ghana (GHS), Cameroon (XAF), Cote d'Ivoire (XOF), Egypt (EGP), and Tanzania (TZS). The response `auth_model` (OTP, STK_PROMPT, or REDIRECT) indicates the action required to complete the transaction." }, { "info": { "name": "Authorize a mobile money charge", "type": "http" }, "http": { "method": "POST", "url": "https://api.korapay.com/merchant/api/v1/charges/mobile-money/authorize", "body": { "type": "json", "data": "{}" } }, "docs": "Authorizes a mobile money charge whose `auth_model` was OTP by submitting the OTP collected from the customer along with the transaction reference. The response indicates the next required action." }, { "info": { "name": "Charge with Pay with Bank", "type": "http" }, "http": { "method": "POST", "url": "https://api.korapay.com/merchant/api/v1/charge/pay-with-bank", "body": { "type": "json", "data": "{}" } }, "docs": "Initiates a Pay with Bank charge and returns a redirect URL used to complete the payment. Supports ZAR Instant EFT and NGN direct-debit style flows (currently Opay and Palmpay for NGN)." }, { "info": { "name": "List Pay with Bank banks", "type": "http" }, "http": { "method": "GET", "url": "https://api.korapay.com/merchant/api/v1/charge/pay-with-bank/banks" }, "docs": "Retrieves the list of banks supported for Pay with Bank (Instant EFT)." }, { "info": { "name": "Verify / query a charge", "type": "http" }, "http": { "method": "GET", "url": "https://api.korapay.com/merchant/api/v1/charges/:reference", "params": [ { "name": "reference", "value": "", "type": "path", "description": "The transaction / payment reference." } ] }, "docs": "Retrieves the current status and details of a charge by its payment reference. Always verify a charge server-side before delivering value." } ] } ], "bundled": true }