This release introduces significant updates and improvements to the API, enhancing transaction processing, standardizing data formats, and expanding support for payouts and pay-ins across multiple currencies.
The API has been upgraded to Version 4 (V4) to improve stability, security, and performance. This version includes some changes that should be considered when migrating from the previous version.
Updated both collection and disbursement APIs to use absolute amounts. Previously: Payout amounts were multiplied by 100. Sample V3 API Payout Request for 50 XOF:
Removedinvoice_no and niobi_ref fields from callback responses for payouts.
Added a currency field for complete payment details. Sample V3 Callback Response for Payouts:
Copy
{ "client_id": "Your client id", "sender": "Integration title", "salt": "Random salt value", "timestamp": "Timestamp", "params": { "account": "The account number of the account the payment was made from", "account_number" : "Account number for paybill payment method", "amount": "Amount paid out", "fee": "Fees incurred for the payment", "invoice_no": "Payout invoice number", "niobi_ref":"Unique reference Niobi specific to Niobi", "message": "Message describing the transaction status", "mobile": "Mobile number of the recipient", "payee": "Full name of the recipient", "payment_channel": "Payment channel", "payment_reference": "Unique information passed by user to identify transaction", "payoutId": "Unique transaction id of the payment", "ref": "Transaction reference shared by provider", "statusCode": "Status code of the transaction", "third_party_reference_1": "External reference", "third_party_reference_2": "External reference", "transaction_date": "Date payment was made", "transaction_detail": "Message with details of the transaction", "type": "Transaction type" }, "signature": "Request signature"}
Sample V4 Callback Response for Payouts:
Copy
{ "client_id": "Your client id", "sender": "Integration title", "salt": "Random salt value", "timestamp": "Timestamp", "params": { "account": "The account number of the account the payment was made from", "account_number" : "Account number for paybill payment method", "amount": "Amount paid out", "currency":"Currency of the payment", "fee": "Fees incurred for the payment", "message": "Message describing the transaction status", "mobile": "Mobile number of the recipient", "payee": "Full name of the recipient", "payment_channel": "Payment channel", "payment_reference": "Unique information passed by user to identify transaction", "payoutId": "Unique transaction id of the payment", "ref": "Transaction reference shared by provider", "statusCode": "Status code of the transaction", "third_party_reference_1": "External reference", "third_party_reference_2": "External reference", "transaction_date": "Date payment was made", "transaction_detail": "Message with details of the transaction", "type": "Transaction type" }, "signature": "Request signature"}
Sample V4 Callback Response for Payins:
Copy
{ "client_id": "Your client id", "sender": "Integration title", "salt": "Random salt value", "timestamp": "Timestamp", "params": { "amount": "Amount deposited", "currency":"Transaction currency", "depositId": "Transaction id of the deposit", "email": "Your email address", "failureReason": { "failureCode": "Failure Code from MNO in case of failure", "failureMessage": "Descriptive message on the failure reason in case of failure" }, "mobile": "Mobile that made the deposit", "message": "Message describing deposit success or failure", "name": "Account username", "payment_link_id": null, "payment_link_payment_id": null, "reference" : " Transaction id", "status": "Status of the deposit", "statusCode": "Status code of the transaction" "third_party_reference_1": "TRANS1", "third_party_reference_2": null, }, "signature": "Request signature"}