API Reference

Alliance Pay provides robust payment APIs for your business. We assume that you understand the basics of using APIs but you can read this for a quick refresher.

Unsure of where to start? Checkout our Quickstart or Postman collections.

Encryption

Most endpoints accept only encrypted requests. RSA is the supported encryption algorithm.

To help you better interact with the endpoints, Here are the unencrypted parameters for our endpoints

Create Orders

ParameterDefinitionSampleTypeisRequired
first_nameThe customer's first name.JanestringYes
last_nameThe customer's last name.DoestringYes
mobileThe customer's mobile number. This should contain the ISO 3 country code.+2348109001000stringYes
countryThe customer's country. This is the ISO 2 country code.NGstringYes
emailThe customer's email address.[email protected]stringYes
amountThe transaction amount2300intYes
referenceA unique identifier for the payment.ORD2300stringYes
descriptionA custom descriptor or comment for the payment.examplestringYes
currencyThe currency code.NGNstringYes
redirect_urlThe URL to redirect the user to after completing the paymenthttps://google.com/stringNo
{
   "customer": {
       "first_name": "Jane",
       "last_name": "Doe",
       "mobile": "08024578023",
       "country": "NG",
       "email": "[email protected]"
   },
   "order": {
       "amount": 250,
       "reference": "ORD001",
       "description": "First Order",
       "currency": "NGN"
   }
}

Order Status

ParameterDefinitionSampleTypeisRequired?
referenceA unique identifier for the payment.ORD2300stringYes
{
    "reference": "test_transaction_05"
}

Pay Orders

Card Payments

ParameterDefinitionSampleTypeisRequired
referenceA unique identifier for the payment.ORD2300stringYes
payment_optionThis flag indicates the payment method used. Expected value: C.CstringYes
countryThe country where the card was issued.NGstringYes
cardObject containing card information.objectYes
cvvA 3 or 4 digit security code behind the card.101stringYes
card_numberThe customer's card number.5123450000000008stringYes
expiry_monthThe 2-digit number representing the card's expiry month.10stringYes
expiry_yearThe 2-digit number representing the card's expiry year.30stringYes
auth_optionThe auth model for noauth transactions. Expected value: noauthnoauthstringNo
{
   "reference":"ORD001",
   "payment_option":"C",
   "country":"NG",
   "card":{
       "cvv":"101",
       "card_number":"5123450000000008",
       "expiry_month":"02",
       "expiry_year":"30"
   }
}

Pay with Bank transfer

ParameterDefinitionSampleTypeisRequired
referenceA unique identifier for the payment.ORD2300stringYes
payment_optionThis flag indicates the payment method used. Expected value: BANK-TRANSFER.BANK-TRANSFERstringYes
bank_transferObject containing payment information.objectYes
bank_code3-digit code to identify the receiving bank.035stringYes
{
   "reference": "ORD001",
   "payment_option": "BANK-TRANSFER",
   "bank_transfer": {
       "bank_code": "035"
   }
}

NQR Payments

ParameterDefinitionSampleTypeisRequired
referenceA unique identifier for the payment.ORD2300stringYes
payment_optionThis flag indicates the payment method used. Expected value: NQR.NQRstringYes
{
   "reference": "ORD001",
   "payment_option": "NQR"
}

USSD Payments

ParameterDefinitionSampleTypeisRequired
referenceA unique identifier for the payment.ORD2300stringYes
payment_optionThis flag indicates the payment method used. Expected value: USSD.USSDstringYes
ussdObject containing payment information.objectYes
bank_code3-digit code to identify the receiving bank.035stringYes
{
   "reference": "ORD001",
   "payment_option": "USSD",
   "ussd": {
       "bank_code": "035"
   }
}

Fetch Transaction fees

ParameterDefinitionSampleTypeisRequired
amountThe transaction amount.ORD2300stringYes
payment_optionThis flag indicates the payment method used. Expected value: BANK-TRANSFER, C, NQR, USSD.BANK-TRANSFERstringYes
{
    "amount": 500,
    "payment_option": "BANK-TRANSFER"
}