Payment API Gateway (v5.7.2)

Download OpenAPI specification:

Payment Gateway API Reference

This API is part of the our ecosystem. It allows you to make payments, find out the status of transactions and much more. Here you will find the latest documentation on setting up your solution.

Available Payment Providers

Provider ID Provider Name Country Notes
14 Simulator ANY For testing

During tests runs, using 14 provider ID (simulator) the callback is not returned and the transaction remains in the "in progress" status and if successful you will see in the response

{
  "order_id": "54321",
  "transaction_id": "12345",
  "transaction_ref": "",
  "status": 1,
  "result": {
      "code": 0,
      "message": "OK"
  },
  "provider_result": {
      "code": -8888,
      "message": "Good"
  },
  "service_id": 1,
  "service_version": "1.03/1.14|1.0/1.26|1.0/1.0|1.01/1.01|1.01/1.01||1.01/1.27",
  "service_date_time": "2023-05-15 10:00:00.000000",
  "confirm_type": 0
}

Generating signature

Merchant’s request and callback have to be signed to verify sent data. To generate the signature all sent parameters from the payload are included in the order they were sent. The parameter signature should be excluded, of course, and added to the payload after generating.

Note: to generate a correct signature you need a secretKey received with other credentials.

PHP example

function calculateSignature(array $data, string $secretKey, string $currentParamPrefix = '', int $depth = 16, int $currentRecursionLevel = 0 ): string
{
    if ($currentRecursionLevel >= $depth) {
        throw new Exception('Recursion level exceeded');
    }

    $stringForSignature = '';
    foreach ($data as $key => $value) {
        if (is_array($value)) {
                $stringForSignature .= calculateSignature(
                $value,
                $secretKey,
                "$currentParamPrefix$key.",
                    $depth,
                $currentRecursionLevel + 1
            );
      } else if ($key !== 'signature') {
                $stringForSignature .= "$currentParamPrefix$key" . $value;
      }
   }

    if ($currentRecursionLevel == 0) {
      return strtolower(hash_hmac('sha512', $stringForSignature, $secretKey));
    } else {
      return $StringForSignature;
    }
 }

$postData = [
  'merchant_id' => 'fffed61be9780b97c5e4c65e4e07bb6b',
  'provider_id' => 10,
  'client_id' => '254000000000',
  'country' => 'KE',
  'order_id' => 'order_3444298767545',
  'amount' => 1000,
  'currency' => 'KES',
  'callback_url' => 'https://my.callback.url'
];

$secretKey = "cf11635572c1e8d77297207152dc0791ad91f22b32d23c758ce3ba2637202ad8f7290ba41f2243cccf32edde1dfb8bf0f5dea62525309e293b3adb2c76eed6a5";

$signature = calculateSignature($postData, $secretKey);

$postData['signature'] = $signature;

Examples in other languages are available on request

Status Codes

The parameters below will be obtained by a status query

Code Name Description
-1 undefined Operation status is undefined (for example in an error situation)
0 initiated Operation is initiated
1 in progress Operation is in progress
2 success Operation is successful
3 failed Operation is failed
4 cancelled Operation is cancelled

Operation Types

Depending on the type of request you may see the following code

You can see this parameter in the callback

Code Operation
16 payment_b2c
17 payment_c2b

Available currencies

Code Name Locations
CDF Congolese Franc DRC
KES Kenyan shilling the Republic of Kenya
GMD Gambian Dalasi Gambia
MWK Malawian kwacha Malawi
NGN Naira Nigeria
RWF Rwandan franc Rwanda
TZS Tanzanian shilling Tanzania
UGX Ugandan shilling Uganda
XOF CFA franc BCEAO Benin, Burkina Faso, Ivory Coast, Guinea-Bissau, Mali, Niger, Senegal, Togo
ZMW Zambian Kwacha Zambia
EGP Egyptian pound Egypt

Responses for confirmation requests have the same format as original operation responses.

Callbacks

Transaction status is sent via callback because it needs a confirmation by client done asynchronously. Usually the callback should be sent in 2-3 minutes maximum. In case of missing callback there is a way to get the transaction status using API method status. It needs the order ID as an parameter and returns a status of the performed transaction.

Response for callback

Payment gateway considers the Merchant system response as successful if HTTP 200 was received.

Payment Methods

Benin

Provider ID Provider Name Notes
MOOV
9210 MTN

2290000000000 - This is the format of the phone number you have to send in the payment requests.

For 9210:

C2B

  1. Customer initiates the payment on Merchant side
  2. Merchant sends request to the platform (POST payment_c2b)
  3. Customer gets push from operator and confirm the operation
  4. Merchant gets a callback (or requests the status) with the final state of the operation

B2C

  1. Customer initiates the payment on Merchant side
  2. Merchant sends request to the platform (POST payment_b2c)
  3. Customer receives funds to their mobile number
  4. Merchant gets a callback (or requests the status) with the final state of the operation
c2b minimum b2c minimum Maximum transaction limit
XOF 100.00 XOF 100.00 XOF 1 000 000.00

Burkina Faso

Provider ID Provider Name Notes
9209 Orange
Moov

22600000000 - This is the format of the phone number you have to send in the payment requests.

For 9209:

C2B

  1. Customer create OTP code on ussd_code *144*4*6*montant#
  2. Customer initiates the payment on Merchant side
  3. Merchant sends request to the platform (POST /payment_c2b) and set extra data
    • a. otp

Example Request:

  {
  "merchant_id": "your merchant id",
  "customer_id": "2250705145655",
  "order_id": "test_161225_01_1",
  "amount": "1100",
  "currency": "XOF",
  "country": "BF",
  "callback_url": "your callback url",
  "provider_id": "9209",
  "signature": "1c594d338bc3f413bd61cb97d697e98ad5772071da533",
  "extra": {
    "otp": "5647"
  },
  }
  1. Operator debits funds from customer mobile number
  2. Merchant gets a callback (or requests the status) with the final state of the operation

B2C

  1. Customer initiates the payment on Merchant side
  2. Merchant sends request to the platform (POST payment_b2c)
  3. Customer receives funds to their mobile number
  4. Merchant gets a callback (or requests the status) with the final state of the operation

Note: deposits and withdrawals are made in multiples of 5.

c2b minimum b2c minimum Maximum transaction limit
XOF 200.00 XOF 200.00 XOF 1 000 000.00

Cameroon

Provider ID Provider Name Notes
802, 9062, 702 Orange
803, 9063, 703, 9131 MTN

237000000000 - This is the format of the phone number you have to send in the payment requests.

For 802, 803:

C2B

  1. Customer initiates the payment on Merchant side.
  2. Merchant sends request to the platform (POST payment_c2b).
  3. Customer gets STK push from the operator and confirms the operation by entering their PIN.
  4. Merchant gets a callback from the platform with the final state of the operation.

B2C

  1. Customer initiates the withdrawal on Merchant side.
  2. Merchant sends request to the platform (POST payment_b2c) with parameters extra->customer_name
  3. Customer receives funds to his mobile number.
  4. Merchant gets a callback from the platform with the final state of the operation.
c2b minimum b2c minimum Maximum transaction limit
XAF 500 XAF 500 XAF 500000

For 702, 703, 9131:

C2B

  1. Customer initiates the payment on Merchant side and set extra data customer_name customer_email
  2. Merchant sends request to the platform (POST payment_c2b)
  3. Customer gets push from operator and confirm the operation
  4. Merchant gets a callback (or requests the status) with the final state of the operation

B2C

  1. Customer initiates the payment on Merchant side and set extra data customer_name customer_email
  2. Merchant sends request to the platform (POST payment_b2c)
  3. Customer receives funds to his mobile number
  4. Merchant gets a callback (or requests the status) with the final state of the operation

For 702, 703, 9131:

c2b Minimum b2c Minimum c2b Maximum b2c Maximum
KES 10.00 KES 10.00 KES 10000.00 KES 1000000.00

For 9062, 9063:

C2B

  1. Customer initiates the payment on Merchant side and set extra data: - customer_name - customer_email - customer_ip
  2. Merchant sends request to the platform (POST payment_c2b)
  3. Merchant sends request to the platform (POST status)
  4. Platform returns a customer_redirect url in the API response
  5. Merchant redirects the Customer to the customer_redirect url
  6. Customer confirms the payment on the provider page
  7. Merchant gets a callback (or requests the status) with the final state of the operation

B2C

  1. Customer initiates the payment on Merchant side and set extra data: - customer_name - customer_email - customer_ip
  2. Merchant sends request to the platform (POST payment_b2c)
  3. Customer receives funds to his mobile number
  4. Merchant gets a callback (or requests the status) with the final state of the operation

For 9062, 9063:

c2b Minimum b2c Minimum c2b Maximum b2c Maximum
XAF 500 XAF 500 XAF 500 000 XAF 500 000

DR Congo

Provider ID Provider Name Notes
2197 Orange Client's phone should start from 0: 0800000000
2198 Airtel Client's phone shouldn't start from 0: 999000000
2196 Vodacom 243000000000 - This is the format of the phone number sent in the request
2199 Africel Client's phone should start from 0: 0900000000

The flow is standard, no need to pass extra parameters

c2b minimum b2c minimum Maximum transaction limit
CDF 100 CDF 100 CDF 1500000

Gambia

Provider ID Provider Name Notes
9227 WavePGT GMB Check provider id with your manager

For 9227

C2B

  1. Customer initiates the payment on Merchant side where customer_id is Wave GMB account number and sets extra data customer_name and customer_email
  2. Merchant sends request to the platform (POST status) and get redirect_url (in the parameter extra->customer_redirect in the response)
  3. Merchant redirect Customer to provider payment page
  4. Customer submit form on provider payment page and confirm the operation
  5. Merchant gets a callback (or requests the status) with the final stCate of the operation

B2C

  1. Customer initiates the payment on Merchant side where customer_id is Wave GMB account number and sets extra data customer_name
  2. Merchant sends request to the platform (POST payment_b2c)
  3. Customer receives funds to their Wave GMB account
  4. Merchant gets a callback (or requests the status) with the final state of the operation
c2b minimum b2c minimum c2b maximum b2c maximum
GMD 10 GMD 10 No Limit No Limit

Ivory Coast

Provider ID Provider Name Notes
2303, 2333, 699, 805, 9196, 2430 MTN Check provider id with your manager
2304, 2334, 806, 9197 Orange Check provider id with your manager
2305, 2335, 804, 9198 Moov Check provider id with your manager
2306, 2336, 9199, 2431 Wave Check provider id with your manager

2250000000000 - This is the format of the phone number you have to send in the payment requests.

For B2C payments, you should send a customer full name in the payment requests. Parameter extra->customer_name. Please see the example in the API Methods section.

For 9196, 9198:

C2B

  1. Customer initiates the payment on Merchant side
  2. Merchant sends request to the platform (POST payment_c2b)
  3. Customer gets push from operator and confirm the operation
  4. Merchant gets a callback (or requests the status) with the final state of the operation

B2C

  1. Customer initiates the payment on Merchant side
  2. Merchant sends request to the platform (POST payment_b2c)
  3. Customer receives funds to their mobile number
  4. Merchant gets a callback (or requests the status) with the final state of the operation

Note: deposits and withdrawals are made in multiples of 5.

c2b minimum b2c minimum Maximum transaction limit
XOF 200.00 XOF 200.00 XOF 1 000 000.00

For 9197:

C2B

  1. Customer create OTP code on ussd_code (#144*82#)
  2. Customer initiates the payment on Merchant side
  3. Merchant sends request to the platform (POST /payment_c2b) and set extra data
    • a. otp

Example Request:

  {
  "merchant_id": "your merchant id",
  "customer_id": "2250705145655",
  "order_id": "test_161225_01_1",
  "amount": "1100",
  "currency": "XOF",
  "country": "CI",
  "callback_url": "your callback url",
  "provider_id": "9197",
  "signature": "1c594d338bc3f413bd61cb97d697e98ad5772071da533",
  "extra": {
    "otp": "5647"
  },
  }
  1. Operator debits funds from customer mobile number
  2. Merchant gets a callback (or requests the status) with the final state of the operation

B2C

  1. Customer initiates the payment on Merchant side
  2. Merchant sends request to the platform (POST payment_b2c)
  3. Customer receives funds to their mobile number
  4. Merchant gets a callback (or requests the status) with the final state of the operation

Note: deposits and withdrawals are made in multiples of 5.

c2b minimum b2c minimum Maximum transaction limit
XOF 200.00 XOF 200.00 XOF 1 000 000.00

For 9199:

C2B

  1. Customer initiates the payment on Merchant side
  2. Merchant sends request to the platform (POST payment_c2b)
  3. Merchant sends request to the platform (POST status) and gets redirect_url
  4. Merchant redirect Customer to provider payment page
  5. Customer makes a payment on the page
  6. Merchant gets a callback (or requests the status) with the final state of the operation

B2C

  1. Customer initiates the payment on Merchant side and set extra data
  2. Merchant sends request to the platform (POST payment_b2c)
  3. Customer receives funds to their mobile number
  4. Merchant gets a callback (or requests the status) with the final state of the operation

Note: deposits and withdrawals are made in multiples of 5.

c2b minimum b2c minimum Maximum transaction limit
XOF 200.00 XOF 200.00 XOF 1 000 000.00

For 2430:

C2B:

  1. Customer initiates the payment on Merchant side
  2. Merchant sends request to the platform (POST payment_c2b)
  3. Customer gets push from operator and confirms the operation
  4. Merchant requests the status with the final state of the operation

B2C:

  1. Customer initiates the payment on Merchant side
  2. Merchant sends request to the platform (POST payment_b2c)
  3. Customer receives funds to their mobile wallet
  4. Merchant requests the status with the final state of the operation
c2b minimum b2c minimum Maximum transaction limit
XOF 1.00 XOF 1.00 no limit

For 2431:

C2B:

  1. Customer initiates the payment on Merchant side
  2. Merchant sends request to the platform (POST payment_c2b) and set extra data: extra->return_url
  3. Platform returns a customer_redirect url in the status API response
  4. Merchant redirects the Customer to the customer_redirect url
  5. Customer confirms the payment on the provider page
  6. Merchant requests the status with the final state of the operation

B2C:

  1. Customer initiates the payment on Merchant side
  2. Merchant sends request to the platform (POST payment_b2c)
  3. Customer receives funds to their mobile wallet
  4. Merchant requests the status with the final state of the operation
c2b minimum b2c minimum Maximum transaction limit
XOF 1.00 XOF 1.00 no limit

For 2303, 2305, 2333, 2335:

C2B

  1. Customer initiates the payment on Merchant side
  2. Merchant sends request to the platform (POST payment_c2b) with parameters extra->customer_name and extra->customer_email
  3. Customer gets push from operator and confirm the operation
  4. Merchant gets a callback (or requests the status) with the final state of the operation

B2C

  1. Customer initiates the payment on Merchant side
  2. Merchant sends request to the platform (POST payment_b2c) with parameters extra->customer_name
  3. Customer receives funds to his mobile number
  4. Merchant gets a callback (or requests the status) with the final state of the operation

For 2304, 2306, 2334:

C2B

  1. Customer initiates the payment on Merchant side
  2. Merchant sends request to the platform (POST payment_c2b) with parameters extra->customer_name and extra->customer_email
  3. Merchant gets the status of the operation (POST status) and gets extra parameters from the response extra->customer_redirect
  4. Merchant redirects the customer to the page from the customer_redirect url
  5. Customer gets SMS\WhatApp message with OTP
  6. Customer confirm the operation by OTP on the page
  7. Customer gets push from operator and confirm the operation
  8. Merchant gets a callback (or requests the status) with the final state of the operation

B2C

  1. Customer initiates the payment on Merchant side
  2. Merchant sends request to the platform (POST payment_b2c) with parameters extra->customer_name
  3. Customer receives funds to his mobile number
  4. Merchant gets a callback (or requests the status) with the final state of the operation

For 806:

C2B

  1. Customer initiates the payment on Merchant side
  2. Merchant sends request to the platform (POST payment_c2b) and set extra data a. customer_name b. customer_email
  3. Platform returns a synchronous response with initial status In Progress
  4. Customer initiates a USSD request (#144*82#) on the operator’s side to generate an OTP
  5. Customer follows the USSD instructions to complete the payment
  6. Merchant sends a status request and set extra data -> OTP
  7. Merchant gets a callback (or requests the status) with the final state of the operation

Example of a status request:

  {
  "merchant_id":"cdeffe6210c7fdc7402c13b215455bd8ddec02da0c",
  "order_id":"55584tty848rt",
  "customer_id":"2250768000000",
  "extra":{
    "otp":"7374"
  },
  "signature":"d7d6d76bd12bfd24dytu6u6c803be455d81cfe792f00cd8892c26ce7cf5a05beebb9c80843e"
  }

B2C

  1. Customer initiates the payment on Merchant side and set extra data a. customer_name b. customer_email
  2. Merchant sends request to the platform (POST payment_b2c)
  3. Customer receives funds to their mobile number
  4. Merchant gets a callback (or requests the status) with the final state of the operation
c2b minimum b2c minimum Maximum transaction limit
XOF 300.00 XOF 500.00 XOF 2 000 000.00

For 2336:

C2B

  1. Customer initiates the payment on Merchant side
  2. Merchant sends request to the platform (POST payment_c2b) with parameters extra->customer_name and extra->customer_email
  3. Merchant gets the status of the operation (POST status) and gets extra parameters from the response extra->customer_redirect
  4. Merchant redirects the customer to the page from the customer_redirect url
  5. Customer makes a payment on the page
  6. Merchant gets a callback (or requests the status) with the final state of the operation

B2C

  1. Customer initiates the payment on Merchant side
  2. Merchant sends request to the platform (POST payment_b2c) with parameters extra->customer_name
  3. Customer receives funds to his mobile number
  4. Merchant gets a callback (or requests the status) with the final state of the operation
c2b minimum b2c minimum Maximum transaction limit
XOF 5.00 XOF 1.00 XOF 550000.00

For 699, 804, 805:

C2B

  1. Customer initiates the payment on Merchant side and set extra data customer_name customer_email
  2. Merchant sends request to the platform (POST payment_c2b)
  3. Customer gets push from operator and confirm the operation
  4. Merchant gets a callback (or requests the status) with the final state of the operation

B2C

  1. Customer initiates the payment on Merchant side and set extra data customer_name customer_email
  2. Merchant sends request to the platform (POST payment_b2c)
  3. Customer receives funds to his mobile number
  4. Merchant gets a callback (or requests the status) with the final state of the operation

For 699

c2b minimum b2c minimum c2b maximum transaction limit b2c maximum transaction limit
XOF 10.00 XOF 10.00 XOF 1000000.00 XOF 1000000.00

For 804, 805

c2b minimum b2c minimum c2b maximum transaction limit b2c maximum transaction limit
XOF 100.00 XOF 500.00 XOF 2000000.00 XOF 2000000.00

Malawi

Provider ID Provider Name Notes
2087 Airtel
2088 TNM

265000000000 - This is the format of the phone number you have to send in the payment requests.

For C2B payments, the flow is standard, no need to pass extra parameters For B2C payments, you should send a customer full name in the payment requests. Parameter extra->customer_name. Please see the example in the API Methods section.

c2b minimum b2c minimum Maximum transaction limit
MWK 50.00 MWK 50.00 MWK 750000.00

Nigeria

Provider ID Provider Name Notes
2311, 706, 9122, 9143, 9231 BankTransfer
2312, 9230 BankTransfer OPay
707, 9123 Bank Card

Bank Transfer / Pay Attitude / OPay / Palmpay / Card payment C2B (deposit) scenario:

  • Customer initiates the payment via Bank Transfer/Pay Attitude/OPay/Palmpay/Card method on the Merchant’s side.
  • Merchant requests Customer’s Name, Email and Amount. This step is optional, as this data may be stored in the merchant's system
  • Merchant initialises the payment, redirecting the Customer to the Payment Page. Redirect url and other details are described on the Payment Page section.
  • Customer is requested to specify required data for the payment: Name, Email, Amount.
  • Customer receives the Merchant’s Bank Account details / In case of payment by card, enter its data
  • Customer opens his Bank Application and makes the transfer to the corresponding account (not relevant for card payments)
  • Merchant receives the notification, that initiated payment is processed successfully and shows to the Customer a success message.

OPay payment B2C (withdrawal) scenario:

  • Customer initiates the payment on Merchant side
  • Merchant sends request to the platform (POST payment_b2c) and set extra data of his Pay Attitude / OPay / Palmpay bank account
    • customer_name
    • customer_email
  • Customer receives funds to his bank account in Pay Attitude / OPay / Palmpay
  • Merchant gets a callback (or requests the status) with the final state of the operation

Bank Transfer B2C (withdrawal) scenario:

  • Customer initiates the payment via Bank Transfer method on the Merchant’s side.
  • Merchant receives the list of available banks and its codes via get banks API Method
  • Customer selects on the Merchant’s side the Bank and specifies his recipient’s bank account.
  • Merchant sends a B2C request to the system. Format is described on the API Methods page. In the "extra" merchant specifies the bank code (parameter bank_code) and customer name (parameter customer_name). In the "customer_id" merchant specifies the bank account.

B2C Bank Transfer request example:

{
  "merchant_id":"e0fecd91fcb24f348048193b3fb34875ba3722b4",
  "order_id":"0900000001",
  "customer_id":"16280954971628095497",
  "amount":"100.00",
  "currency":"NGN",
  "provider_id":5026,
  "extra":{
    "customer_name":"Name Lastname",
    "customer_email": "Name@domen.com",
    "bank_code":"000001"
  },
  "signature":"d7d6d76b0e22c6f9d369fa6c24f107053d12bfd24d3b154f2deb6676bf179c123134e1f20879c803be455d81cfe792f00cd8892c26ce7cf5a05beebb9c80843e"
}
c2b minimum b2c minimum Maximum transaction limit
NGN 100.00 NGN 100.00 NGN 400000.00

In the synchronized response, you will get the bank payment details that need to be share to the user. This is listed in the "extra" part

{
  "order_id": "90900000001",
  "transaction_id": "",
  "transaction_ref": "",
  "status": 1,
  "result": {
    "code": 0,
    "message": "OK"
  },
  "provider_result": {
    "code": -8888,
    "message": ""
  },
  "service_id": 1,
  "service_version": "1.03/1.14|1.0/2.0|1.0/1.0|1.01/1.0|1.01/2.0||1.02/1.27",
  "service_date_time": "2024-04-20 01:08:42.797957",
  "extra": {
    "transfer_amount": 100,
    "account_name": "Test Ltd / Test Limited",
    "account_number": "4000000000",
    "bank_name": "Premium Trust Bank"
  },
  "confirm_type": 0
}

For other provider_id in the case of bank transfers, a payment page implementation is required

For 9230

C2B:

  • Customer initiates the payment on Merchant side where customer_id must be a Opay account number and set extra data
    • customer_name
    • customer_email
  • Merchant sends request to the platform (POST payment_c2b)
  • Merchant sends status request (POST status) and gets extra parameter customer_redirect
  • Merchant redirects the customer to the link from the customer_redirect parameter
  • On the provider's page, the customer is presented with temporary bank account details
  • Customer makes a bank transfer to the provided details
  • Merchant gets a callback with the final state of the operation once the funds are received

B2C:

  • Customer initiates the payment on Merchant side where customer_id must be a Opay account number and set extra data
    • customer_name
    • customer_email
    • customer_phone
  • Merchant sends request to the platform (POST payment_b2c)
  • Customer receives funds to his OPay wallet.
  • Merchant gets a callback with the final state of the operation.
c2b minimum b2c minimum Maximum transaction limit
NGN 100.00 NGN 100.00 NGN 100 000 000 .00

For 9231:

C2B

  1. Customer initiates the payment on Merchant side and set extra data:
  • customer_email
  • customer_name
  1. Merchant sends request to the platform (POST payment_c2b)
  2. Merchant sends status request (POST status) and gets extra data from status response:
  • account_number
  • bank_code
  • bank_name
  1. Merchant displays this bank details to the Customer
  2. Customer makes a manual bank transfer to the provided account
  3. Merchant gets a callback (or requests the status) with the final state of the operation

B2C

  1. Customer initiates the withdrawal on Merchant side
  2. Merchant receives the list of available banks and its codes via get banks API Method
  3. Customer selects on the Merchant’s side the Bank and specifies their recipient’s bank account
  4. Merchant sends request to the platform (POST payment_b2c) where customer_id is customer bank account number and sets extra data
  • bank_code got from get banks API Method
  • customer_name
  • customer_email
  • customer_phone
  1. Platform transfers funds to the Customer's bank account
  2. Merchant gets a callback from the platform with the final state of the operation
c2b minimum b2c minimum Maximum transaction limit
NGN 100.00 NGN 100.00 NGN 10000000.00

For 706, 9122:

C2B

  1. Customer initiates the payment on Merchant side and set extra data customer_email
  2. Merchant sends request to the platform (POST payment_c2b)
  3. Merchant sends status request (POST status) and gets extra data customer_redirect
  4. Merchant redirects the customer to the page from the customer_redirect url
  5. Customer makes a payment on the page
  6. Merchant gets a callback (or requests the status) with the final state of the operation

B2C

  1. Customer initiates the withdrawal on Merchant side.
  2. Merchant receives the list of available banks and its codes via get banks API Method
  3. Customer selects on the Merchant’s side the Bank and specifies his recipient’s bank account
  4. Merchant sends request to the platform (POST payment_b2c) where customer_id is customer bank account number and sets extra data
  • bank_code got from get banks API Method response
  • customer_email
  1. Platform transfers funds to the Customer's bank account
  2. Merchant gets a callback from the platform with the final state of the operation
c2b minimum b2c minimum Maximum transaction limit
NGN 100.00 NGN 100.00 NGN 10000000.00

For 707, 9123:

C2B

  1. Customer initiates the payment on Merchant side and set extra data a. customer_name b. customer_email
  2. Merchant sends request to the platform (POST payment_c2b)
  3. Merchant sends status request (POST status)
  4. Merchant gets a redirect_url in the status response
  5. Merchant redirects Customer to provider payment page
  6. Customer makes a payment on the page
  7. Merchant gets a callback with the final state of the operation
c2b minimum c2b maximum transaction limit
NGN 100.00 NGN 200 000.00

For 9143:

C2B

  1. Customer initiates the payment on Merchant side and set extra data customer_email and customer_name
  2. Merchant sends request to the platform (POST payment_c2b)
  3. Platform returns a extra object in the API response with account_number, bank_name, in status response
  4. Merchant displays this bank details to the Customer
  5. Merchant gets a callback from the platform with the final state of the operation

B2C

  1. Customer initiates the withdrawal on Merchant side
  2. Merchant sends request to the platform (POST payment_b2c) and sets extra data "bank_code"
  3. Merchant gets a callback from the platform with the final state of the operation
c2b minimum b2c minimum c2b maximum b2c maximum
NGN 1.00 NGN 1.00 no limit NGN 100000000.00

Egypt

Provider ID Provider Name Notes
2313 Vodafon
2314 Orange
2315 Etisalat

22898200000 - This is the format of the phone number you have to send in the payment requests.

For 424, 425, 426

C2B

  1. Customer initiates the payment on Merchant side

  2. Merchant sends request to the platform (POST payment_c2b) with parameters extra->customer_name and extra->return_url

  3. Merchant gets the status of the operation (POST status) and gets extra parameters from the response extra->customer_redirect

  4. Merchant redirects the customer to the page from the customer_redirect url

  5. Customer submit form on provider payment page

  6. Customer gets push from operator and confirm the operation

  7. Merchant gets a callback (or requests the status) with the final state of the operation

B2C

  1. Customer initiates the payment on Merchant side

  2. Merchant sends request to the platform (POST payment_b2c)

  3. Customer receives funds to his mobile number

  4. Merchant gets a callback (or requests the status) with the final state of the operation

c2b minimum b2c minimum Maximum transaction limit
EGP 350.00 EGP 350.00 EGP 15000.00

Senegal

Provider ID Provider Name Notes
2354, 2398, 9203 Orange Money
2355, 2401, 9205 Wave
2356, 2399 Free Money
2400 E Money

221000000000 - This is the format of the phone number you have to send in the payment requests.

For B2C payments providers 2354, 2356:

C2B:

  1. Customer initiates the payment on Merchant side and set extra data
  • customer_name
  • customer_email
  1. Merchant sends request to the platform (POST payment_c2b)
  2. Customer gets push from operator and confirm the operation
  3. Merchant gets a callback (or requests the status) with the final state of the operation

B2C:

  1. Customer initiates the payment on Merchant side and set extra data
  • customer_name
  1. Merchant sends request to the platform (POST payment_b2c)
  2. Customer receives funds to his mobile number
  3. Merchant gets a callback (or requests the status) with the final state of the operation

For B2C payments providers 2398, 2399, 2400, 2401:

C2B:

  1. Customer initiates the payment on Merchant side and set extra data
  • customer_name
  1. Merchant sends request to the platform (POST payment_c2b)
  2. Customer gets push from operator and confirm the operation
  3. Merchant gets a callback (or requests the status) with the final state of the operation

B2C:

  1. Customer initiates the payment on Merchant side and set extra data
  • customer_name
  1. Merchant sends request to the platform (POST payment_b2c)
  2. Customer receives funds to his mobile number
  3. Merchant gets a callback (or requests the status) with the final state of the operation

For B2C payments providers 2355:

C2B:

  1. Customer initiates the payment on Merchant side and set extra data
  • customer_name
  • customer_email
  1. Merchant sends request to the platform (POST payment_c2b)
  2. Merchant sends status request (POST status) and gets extra data
  • customer_redirect
  1. Merchant redirects the customer to the page from the customer_redirect url
  2. Customer makes a payment on the page
  3. Merchant gets a callback (or requests the status) with the final state of the operation

B2C:

  1. Customer initiates the payment on Merchant side and set extra data
  • customer_name
  1. Merchant sends request to the platform (POST payment_b2c)
  2. Customer receives funds to his mobile number
  3. Merchant gets a callback (or requests the status) with the final state of the operation
c2b minimum b2c minimum Maximum transaction limit
XOF 100.00 XOF 100.00 XOF 500000.00

For 9203

C2B:

  1. Customer initiates the payment on Merchant side (Customer have to get OTP: #144#391#)
  2. Merchant sends request to the platform (POST payment_c2b) and set extra data
    • otp (with OTP code provided by customer on previous step).
  3. Merchant sends status request (POST status) and gets extra data
    • customer_redirect
  4. Merchant redirects the customer to the page from the customer_redirect url
  5. Customer makes a payment on the page
  6. Merchant gets a callback (or requests the status) with the final state of the operation

B2C:

  1. Customer initiates the payment on Merchant side
  2. Merchant sends request to the platform (POST payment_b2c)
  3. Customer receives funds to their mobile number
  4. Merchant Gets a callback (or requests the status) with the final state of the operation

Note: deposits and withdrawals are made in multiples of 5.

c2b minimum b2c minimum Maximum transaction limit
XOF 200.00 XOF 200.00 XOF 1 000 000.00

For 9205

C2B:

  1. Customer initiates the payment on Merchant side
  2. Merchant sends request to the platform (POST payment_c2b)
  3. Merchant sends status request (POST status) and gets extra data
    • customer_redirect
  4. Merchant redirects the customer to the page from the customer_redirect url
  5. Customer makes a payment on the page
  6. Merchant gets a callback (or requests the status) with the final state of the operation

B2C:

  1. Customer initiates the payment on Merchant side
  2. Merchant sends request to the platform (POST payment_b2c)
  3. Customer receives funds to their mobile number
  4. Merchant gets a callback (or requests the status) with the final state of the operation

Note: deposits and withdrawals are made in multiples of 5.

c2b minimum b2c minimum Maximum transaction limit
XOF 200.00 XOF 200.00 XOF 1 000 000.00

South Africa

Provider ID Provider Name Notes
2353 Bank Transfer

27000000000 - This is the format of the phone number you have to send in the payment requests.

Sierra Leone

Provider ID Provider Name Notes
2361 Orange Money

232000000000 - This is the format of the phone number you have to send in the payment requests.

Rwanda

Provider ID Provider Name Notes
2351 Airtel
2352 MTN

250000000000 - This is the format of the phone number you have to send in the payment requests.

For C2B payments you should send a customer full name and customer email in the payment requests. Parameters extra->customer_name and extra->customer_email. Please see the example in the API Methods section.
You can get the link in the parameter extra->customer_redirect in the response of the status method. After receiving the link, you should redirect the customer to this page to confirm the transaction using OTP code.

For B2C payments you should send a customer full name in the payment requests. Parameter extra->customer_name. Please see the example in the API Methods section.

For 2351,2352:

C2B:

  1. Customer initiates the payment on Merchant side and set extra data
  • customer_name
  • customer_email
  1. Merchant sends request to the platform (POST payment_c2b)
  2. Merchant gets the status of the operation (POST status) and gets extra parameters from the response
  • customer_redirect
  1. Merchant redirects the customer to the page from the customer_redirect url
  2. Customer gets SMS\WhatApp message with OTP
  3. Customer confirm the operation by OTP on the page
  4. Customer gets push from operator and confirm the operation
  5. Merchant gets a callback (or requests the status) with the final state of the operation

B2C:

  1. Customer initiates the payment on Merchant side and set extra data
  • customer_name
  1. Merchant sends request to the platform (POST payment_b2c)
  2. Customer receives funds to his mobile number
  3. Merchant gets a callback (or requests the status) with the final state of the operation

For 2351, 2352:

c2b minimum b2c minimum Maximum transaction limit Daily cumulative limit for b2c
RWF 100.00 RWF 100.00 RWF 10000000 RWF 10000000

Tanzania

Provider ID Provider Name Notes
2109, 2111, 2308, 2323, 2339, 2403 YAS (exTigo) Check provider id with your manager
2110, 2112, 2307, 2322, 2340 Vodacom Check provider id with your manager
2108, 2113, 2309, 2338, 2404 HaloPesa Check provider id with your manager
2107, 2114, 2310, 2337, 2402 Airtel Check provider id with your manager
2405 Bank Transfer Check provider id with your manager

255000000000 - This is the format of the phone number you have to send in the payment requests.

For C2B payments, you should send a customer full name and customer email in the payment requests. Parameters extra->customer_name and extra->customer_email. Please see the example in the API Methods section.

For 2402, 2403, 2404:

For C2B payments the flow is standard.
For B2C payments, you should send a customer full name in the payment requests. Parameter **extra->customer_name**. Please see the example in the API Methods section.
c2b minimum b2c minimum Maximum transaction limit
TZS 1000.00 TZS 1000.00 TZS 5000000.00

For 2405 (only B2C):

You should set account number as customer_id and send customer full name and bank BIC("Bank Identifier Code", ask your bank) in the payment request. Parameters **extra->customer_name** and **extra->bic**. Please see the example in the API Methods section.
c2b minimum b2c minimum Maximum transaction limit
TZS 1000.00 TZS 7500.00 TZS 3000000.00

For B2C payments providers 2310, 2309, 2308, 2307:

You should send a customer document type and document number in the payment requests. Parameters extra->customer_doc_type and extra->customer_doc_number. The customer_doc_type parameter can have one of the following values: * intl_passport - for International Passport * driving_license - for Driving License * national_id - for National ID

For 2337, 2338, 2339, 2340:

C2B:

  1. Customer initiates the payment on Merchant side
  2. Merchant sends request to the platform (POST payment_c2b) with parameters extra->customer_name and extra->customer_email
  3. Customer gets push from operator and confirm the operation
  4. Merchant gets a callback (or requests the status) with the final state of the operation

B2C

  1. Customer initiates the payment on Merchant side
  2. Merchant sends request to the platform (POST payment_b2c) with parameters extra->customer_name and extra->customer_email
  3. Customer receives funds to his mobile number
  4. Merchant gets a callback (or requests the status) with the final state of the operation
c2b minimum b2c minimum Maximum transaction limit
TZS 1000.00 TZS 7500.00 TZS 3000000.00

For 2310, 2309, 2308, 2307:

c2b minimum b2c minimum Maximum transaction limit
TZS 1000.00 TZS 7500.00 (2000 TZS for 391-394) TZS 3000000.00

For 2337, 2338, 2344, 2345:

c2b minimum b2c minimum Maximum transaction limit
TZS 100.00 TZS 100.00 TZS 3000000.00

Togo

Provider ID Provider Name Notes
2357, 2358 MOOV Money
2359, 2360 TOGOCOM

228000000000 - This is the format of the phone number you have to send in the payment requests.

ID 2357 For C2B and B2C payments you should send a customer full name in the payment requests. Parameters extra->customer_name. Please see the example in the API Methods section.

For B2C payments providers 2357:

C2B:

  1. Customer initiates the payment on Merchant side
  2. Merchant sends request to the platform (POST payment_c2b)
  3. Customer gets push from operator and confirm the operation
  4. Merchant gets a callback (or requests the status) with the final state of the operation

B2C:

  1. Customer initiates the payment on Merchant side and set extra data
  • customer_name
  1. Merchant sends request to the platform (POST payment_b2c)
  2. Customer receives funds to his mobile number
  3. Merchant gets a callback (or requests the status) with the final state of the operation

ID 2358 For C2B payments you should send a customer full name and customer email in the payment requests. Parameters extra->customer_name and extra->customer_email. Please see the example in the API Methods section. For B2C payments you should send a customer full name in the payment requests. Parameters extra->customer_name. Please see the example in the API Methods section.

ID 2359

C2B:

  1. Customer initiates the payment on Merchant side
  2. Merchant sends request to the platform (POST payment_c2b)
  3. Customer gets push from operator and confirm the operation
  4. Merchant gets a callback (or requests the status) with the final state of the operation

B2C (only status request - no callbacks from provider):

  1. Customer initiates the payment on Merchant side
  2. Merchant sends request to the platform (POST payment_b2c)
  3. Customer receives funds to his mobile number
  4. Merchant gets a callback (or requests the status) with the final state of the operation

For 2357

c2b minimum b2c minimum Maximum transaction limit
XOF 200.00 XOF 500.00 XOF 1000000.00

For 2358

c2b minimum b2c minimum Maximum transaction limit Maximum per day
XOF 5.00 XOF 5.00 XOF 1000000.00 XOF 200k / 2m with KYC

For 2359

c2b minimum b2c minimum c2b maximum b2c maximum Maximum per day
XOF 100.00 XOF 100.00 XOF 1000000.00 XOF 500000.00 XOF 200k / 2m with KYC

Uganda

Provider ID Provider Name Notes
2105, 808 Airtel
2106, 809 MTN

256709000000 - This is the format of the phone number you have to send in the payment requests.

For C2B payments you should send a customer full name and customer email in the payment requests. Parameters extra->customer_name and extra->customer_email. Please see the example in the API Methods section.
You can get the link in the parameter extra->customer_redirect in the response of the status method. After receiving the link, you should redirect the customer to this page to confirm the transaction using OTP code.

For B2C payments you should send a customer full name in the payment requests. Parameter extra->customer_name. Please see the example in the API Methods section.

c2b minimum b2c minimum Maximum transaction limit
UGX 500.00 UGX 900.00 UGX 4000000.00

For 808, 809:

C2B:

  1. Customer initiates the payment on Merchant side customer_name customer_email
  2. Merchant sends request to the platform (POST payment_c2b)
  3. Customer gets push from operator and confirm the operation
  4. Merchant gets a callback (or requests the status) with the final state of the operation

B2C:

  1. Customer initiates the payment on Merchant side and set extra data customer_name customer_email
  2. Merchant sends request to the platform (POST payment_b2c)
  3. Customer receives funds to his mobile number
  4. Merchant gets a callback (or requests the status) with the final state of the operation
    c2b minimum b2c minimum Maximum transaction limit
    UGX 500.00 UGX 500.00 UGX 5 000 000.00

Zambia

Provider ID Provider Name Notes
2118, 2332, 2370 Airtel
2119, 2371 MTN
2372 Zamtel

260000000000 - This is the format of the phone number you have to send in the payment requests.

For B2C payments providers 2370, 2371, 2372:

C2B:

  1. Customer initiates the payment on Merchant side
  2. Merchant sends request to the platform (POST payment_c2b)
  3. Customer gets push from operator and confirm the operation
  4. Merchant gets a callback (or requests the status) with the final state of the operation

B2C:

  1. Customer initiates the payment on Merchant side
  2. Merchant sends request to the platform (POST payment_b2c)
  3. Customer receives funds to his mobile number
  4. Merchant gets a callback (or requests the status) with the final state of the operation
c2b minimum b2c minimum Maximum transaction limit
ZMW 1.00 ZMW 1.00 ZMW 20000.00

Kenya

Provider ID Provider Name Notes
701, 2391 Airtel
700, 9125 MTN
2390, 2392, 2393, 798 Mpesa

254000000000 - This is the format of the phone number you have to send in the payment requests.

For 2390, 2392, 2393:

  • For C2B payments you should send a customer full name and customer email in the payment requests. Parameters extra->customer_name and extra->customer_email. Please see the example in the API Methods section.
  • For B2C payments you should send a customer full name and customer email in the payment requests. Parameters extra->customer_name and extra->customer_email. Please see the example in the API Methods section.

Limits for 2390, 2391, 2392:

c2b minimum b2c minimum Maximum transaction limit
KES 1.00 KES 250.00 KES 150000.00

Limits for 2393:

c2b minimum b2c minimum c2b maximum b2c maximum
KES 10.00 KES 10.00 KES 250000.00 KES 250000.00

For 700, 701, 798, 9125:

C2B:

  1. Customer initiates the payment on Merchant side and set extra data customer_name, customer_email
  2. Merchant sends request to the platform (POST payment_c2b) with parameters extra->customer_name and extra->customer_email
  3. Customer gets push from operator and confirm the operation
  4. Merchant gets a callback (or requests the status) with the final state of the operation

B2C

  1. Customer initiates the payment on Merchant side
  2. Merchant sends request to the platform (POST payment_b2c) with parameters extra->customer_name and extra->customer_email
  3. Customer receives funds to his mobile number
  4. Merchant gets a callback (or requests the status) with the final state of the operation

For 700, 701, 9125:

c2b Minimum b2c Minimum c2b Maximum b2c Maximum
KES 10.00 KES 10.00 KES 10000.00 KES 8500.00

For 798:

c2b Minimum b2c Minimum c2b Maximum b2c Maximum
KES 10.00 KES 80.00 KES 250000.00 KES 250000.00

Ghana

Provider ID Provider Name Notes
705, 981 Airtel
704, 980, 9127 MTN
982 Vodafone

233000000000 - This is the format of the phone number you have to send in the payment requests.

For 704, 9127:

C2B:

  1. Customer initiates the payment on Merchant side
  2. Merchant sends request to the platform (POST payment_c2b) with parameters extra->customer_name and extra->customer_email
  3. Customer gets push from operator and confirm the operation
  4. Merchant gets a callback (or requests the status) with the final state of the operation

B2C

  1. Customer initiates the payment on Merchant side
  2. Merchant sends request to the platform (POST payment_b2c) with parameters extra->customer_name and extra->customer_email
  3. Customer receives funds to his mobile number
  4. Merchant gets a callback (or requests the status) with the final state of the operation

For 704, 9127:

c2b Minimum b2c Minimum c2b Maximum b2c Maximum
10.00 10.00 1000.00 1000.00

For 980, 981, 982:

C2B

  1. Customer initiates the payment on Merchant side and set extra data: customer_name, customer_email
  2. Merchant sends request to the platform (POST payment_c2b)
  3. Customer gets push from operator and confirm the operation
  4. Merchant gets a callback (or requests the status) with the final state of the operation

B2C

  1. Customer initiates the payment on Merchant side and set extra data: customer_name, customer_email
  2. Merchant sends request to the platform (POST payment_b2c)
  3. Customer receives funds to his mobile number
  4. Merchant gets a callback (or requests the status) with the final state of the operation

For 980:

c2b minimum b2c minimum Maximum transaction limit
GHS 1.00 GHS 1.00 GHS 2000.00

For 981:

c2b Minimum b2c Minimum c2b Maximum b2c Maximum
GHS 100 GHS 10 no limit GHS 25 000

For 982:

c2b Minimum b2c Minimum c2b Maximum b2c Maximum
GHS 100 GHS 10 GHS 25 000 GHS 25 000

Online Payments

Cashless payment from the customer to the merchant

path Parameters
public_id
required
string
Example: f54ec96649be11ebb3780242ac130002

Merchant public ID

Request Body schema: application/json
required

Parameters to initiate a customer to the merchant payment

merchant_id
required
string (merchantIdDef)

Unique Merchant ID received during the merchant registration

customer_id
required
string (customerIdDef)

Customer ID (usually mobile phone number of the customer)

order_id
required
string (orderIdDef)

The unique value is generated by the transaction initiator for each Operation. Max length is 128 symbols. Allowed symbols: [a-z], [A-Z], [0-9], “_” (underscore character), “-” (hyphen), “:” (colon), “.” (dot). For example, GUID or TIMESTAMP can be used as an order_id. This parameter provides API idempotency. It means that requests with identical nonce from the same transaction initiator will have identical responses and The corresponding operation won’t be repeated.

amount
required
string

Amount to pay, should be in format with two digits after point

currency
required
string (currencyDef)

Currency code in ISO 4217 format from the list of availabe currencies

country
string (countryDef)

Country code in ISO 3166-1 alpha-2 format as defined in the payment providers

callback_url
string

URL to notify the merchant via callback. Recommended

provider_id
required
integer (providerDef)
Enum: 14 40

Provider ID. Can be one of the option from this list.

signature
required
string (signatureDef)

Merchant’s request and callback have to be signed to verify sent data. To generate the signature all sent parameters are included in the order they were sent. The parameter signature should be excluded, of course. Example can be found here

Responses

Callbacks

Request samples

Content type
application/json
{
  • "merchant_id": "e0fecd91fcb24f348048193b3fb34875ba3722b4",
  • "customer_id": "0900000001",
  • "order_id": "16280954971628095497",
  • "amount": "100.00",
  • "currency": "KES",
  • "country": "KE",
  • "callback_url": "https://example.com/callback",
  • "provider_id": 14,
  • "signature": "d7d6d76b0e22c6f9d369fa6c24f107053d12bfd24d3b154f2deb6676bf179c123134e1f20879c803be455d81cfe792f00cd8892c26ce7cf5a05beebb9c80843e"
}

Response samples

Content type
application/json
{
  • "order_id": "16280954971628095497",
  • "transaction_id": "732007046722",
  • "transaction_ref": "MP.33234.342.CP33",
  • "status": 2,
  • "result": {
    },
  • "provider_result": {
    },
  • "service_id": 1,
  • "service_version": 11.1,
  • "service_date_time": "2020-11-25 10:08:32.832969"
}

Callback payload samples

Callback
POST: Asynchronous notification of the merchant about the last performed transaction
Content type
application/json
{
  • "merchant_id": "e0fecd91fcb24f348048193b3fb34875ba3722b4",
  • "operation_type": 17,
  • "customer_id": "0900000001",
  • "amount": 100,
  • "order_id": "16280954971628095497",
  • "transaction_id": "1234567",
  • "transaction_ref": "QR555RQ",
  • "status": 2,
  • "provider_id": 14,
  • "destination_id": "",
  • "result": {
    },
  • "signature": "d7d6d76b0e22c6f9d369fa6c24f107053d12bfd24d3b154f2deb6676bf179c123134e1f20879c803be455d81cfe792f00cd8892c26ce7cf5a05beebb9c80843e"
}

Cashless payment from the merchant to the customer.

Cashless payment from the merchant to the customer. If the confirm_type response parameter is a non-zero merchant, send the second payment_b2c request with confirmation data according to the section Confirmation Types.

path Parameters
public_id
required
string
Example: f54ec96649be11ebb3780242ac130002

Merchant public ID

Request Body schema: application/json
required

Parameters to initiate the merchant to the customer payment

merchant_id
required
string (merchantIdDef)

Unique Merchant ID received during the merchant registration

customer_id
required
string (customerIdDef)

Customer ID (usually mobile phone number of the customer)

order_id
required
string (orderIdDef)

The unique value is generated by the transaction initiator for each Operation. Max length is 128 symbols. Allowed symbols: [a-z], [A-Z], [0-9], “_” (underscore character), “-” (hyphen), “:” (colon), “.” (dot). For example, GUID or TIMESTAMP can be used as an order_id. This parameter provides API idempotency. It means that requests with identical nonce from the same transaction initiator will have identical responses and The corresponding operation won’t be repeated.

amount
required
string

Amount to pay, with two digits after point

currency
required
string (currencyDef)

Currency code in ISO 4217 format from the list of availabe currencies

country
string (countryDef)

Country code in ISO 3166-1 alpha-2 format as defined in the payment providers

callback_url
string

URL to notify the merchant via callback

provider_id
required
integer (providerDef)
Enum: 14 40

Provider ID. Can be one of the option from this list.

signature
required
string (signatureDef)

Merchant’s request and callback have to be signed to verify sent data. To generate the signature all sent parameters are included in the order they were sent. The parameter signature should be excluded, of course. Example can be found here

Responses

Request samples

Content type
application/json
{
  • "merchant_id": "e0fecd91fcb24f348048193b3fb34875ba3722b4",
  • "customer_id": "0900000001",
  • "order_id": "16280954971628095497",
  • "amount": "100.00",
  • "currency": "KES",
  • "country": "KE",
  • "callback_url": "https://example.com/callback",
  • "provider_id": 14,
  • "signature": "d7d6d76b0e22c6f9d369fa6c24f107053d12bfd24d3b154f2deb6676bf179c123134e1f20879c803be455d81cfe792f00cd8892c26ce7cf5a05beebb9c80843e"
}

Response samples

Content type
application/json
{
  • "order_id": "16280954971628095497",
  • "transaction_id": "532007056722",
  • "transaction_ref": "",
  • "status": 2,
  • "result": {
    },
  • "provider_result": {
    },
  • "service_id": 11,
  • "service_version": 11.1,
  • "service_date_time": "2020-11-25 10:08:32.832969",
  • "confirm_type": 0
}

Request a status of the transaction performed earlier

path Parameters
public_id
required
string
Example: f54ec96649be11ebb3780242ac130002

Merchant public ID

Request Body schema: application/json
required

Get the status of the performed transaction

merchant_id
required
string (merchantIdDef)

Unique Merchant ID received during the merchant registration

order_id
required
string (orderIdDef)

The unique value is generated by the transaction initiator for each Operation. Max length is 128 symbols. Allowed symbols: [a-z], [A-Z], [0-9], “_” (underscore character), “-” (hyphen), “:” (colon), “.” (dot). For example, GUID or TIMESTAMP can be used as an order_id. This parameter provides API idempotency. It means that requests with identical nonce from the same transaction initiator will have identical responses and The corresponding operation won’t be repeated.

signature
required
string (signatureDef)

Merchant’s request and callback have to be signed to verify sent data. To generate the signature all sent parameters are included in the order they were sent. The parameter signature should be excluded, of course. Example can be found here

Responses

Request samples

Content type
application/json
{
  • "merchant_id": "e0fecd91fcb24f348048193b3fb34875ba3722b4",
  • "order_id": "16280954971628095497",
  • "signature": "d7d6d76b0e22c6f9d369fa6c24f107053d12bfd24d3b154f2deb6676bf179c123134e1f20879c803be455d81cfe792f00cd8892c26ce7cf5a05beebb9c80843e"
}

Response samples

Content type
application/json
{
  • "order_id": "16280954971628095497",
  • "transaction_id": "732007046722",
  • "transaction_ref": "MP.33234.342.CP33",
  • "status": 2,
  • "result": {
    },
  • "provider_result": {
    },
  • "service_id": 1,
  • "service_version": 11.1,
  • "service_date_time": "2020-11-25 10:08:32.832969"
}