Table of Contents

Payment API

You are here:
< All API Documentations

1. Principles

To Charge the End User, you first need to generate the user bizao-token and alias using
one of three Authentication mechanims described previously.

2. Description

This payment method is a one-time API To charge your end user you will use:

  • Bizao-URI:
/payment/v1/acr%3AOrangeAPIToken/transactions/amount
  • Bizao-URI:
api.bizao.com

You query will contain the Headers below :

HeaderDescription/Content
Bizao-tokenthe BIZAO-TOKEN that you should generate using one of
Authentication method above (OrangeApiToken in this
current version of authentication)
Bizao-aliasthe BIZAO-ALIAS that you should generate using one of
Authentication method above
AuthorizationYOUR_ACCESS_TOKEN

The body of your query will contain the parameters below :

Parameter nameDescriptionUsage
amount(decimal) amount to be charged.Mandatory
currency(string) currency identifier as defined in
[ISO4217]. Note (as described for the amount
parameter) either currency and amount or
code must be specified.
you can use this site to know the currency-code
by country:
https://fr.iban.com/currencycodes.html
Mandatory
clientCorrelator(string) uniquely identifies this create charge
request. If there is a communication failure
during the charge request. Using the same
clientCorrelator when retrying the request allows
the operator to avoid applying the same charge
twice. This field SHOULD be present.
Optional
description(string) description text to be used for
information and billing text
Mandatory
endUserId(string) Always acr:OrangeAPIToken.Mandatory
onBehalfOf(string) allows aggregators/partners to specify
the merchant-service name.
Mandatory
serviceID(string) Always “BIZAO”Mandatory
referenceCode(string) merchant generated payment reference
to uniquely identify the request, for example, in
the case of disputes
Mandatory
transactionOperationStatus(string) specifies the payment operation required.
In this case set to ‘Charged’ according to the
DCB Standard.
Mandatory

Note: For more details you can see the swagger file :” Bizao_Payment_V1_swagger.yaml”

Charge query sample :

curl --location --request POST
'https://api.bizao.com/payment/v1/acr%3AOrangeAPIToken/transactions/amoun t' \
--header 'Content-Type: application/json' \
--header 'authorization: Bearer Your_Access_Token \
--header 'bizao-token : Bizao_Token' \
--header 'bizao-alias: Bizao_Alias' \
--header 'Cookie: SERVERID=s1' \
--data-raw '{"amountTransaction": { "endUserId": "acr:OrangeAPIToken", "paymentAmount": { "chargingInformation": { "amount": "1", "currency": "XOF", "description": "Charging test" },
"chargingMetaData" : { "onBehalfOf" : "Bizao-Test", "serviceId" : "BIZAO" } },
"transactionOperationStatus": "Charged",
"referenceCode": "BIZAO-TEST2",
"clientCorrelator": "Test2"
}

Note : for each new payment-query you have/must to set a new value for
“referenceCode” & “clientCorrelator” parameter

Success charge query response sample :

{ "amountTransaction": {
"endUserId": "acr:OrangeAPIToken",
"paymentAmount": {
"chargingInformation": {
"description": "Charging test",
"currency": "XOF",
"amount": 1
},
"totalAmountCharged": 1,
"chargingMetaData": {
"onBehalfOf": "Bizao-Test",
"serviceId": "BIZAO"
}
},
"transactionOperationStatus": "Charged",
"referenceCode": "BIZAO-TEST2",
"serverReferenceCode": "f7379996-d4dd-4638-b6b8-ffd93ecda9c2",
"clientCorrelator": "Test2",
"resourceURL": "https://gateway1a.mife.sla- mobile.com.my:8243/payment/v1/acr%3AOrangeAPIToken/transactions/amount/1601377728377PA14201312262"
}
}

Important: If you receive a success response but with the same “ serverReferenceCode” it
means that you already attempted to charge with the same “clientCorrelator” . In that case
your charging request won’t get through.

3. Recap of API-SMS parameter value by authorized country

Below a recap of specific API-SMS parameter value by authorized country :

CountryMCOsenderAddress
Ivory-
Coast
OCItel:+2250000
RDCongoODCtel:+2430000
CameroonOCMtel:+2370000
SenegalOSNtel:+2210000
TunisiaOTNtel:+2160000
Burkina
faso
OBFTel:+2260000

4. Notification error codes

Error CodeException TextVariablesHTTP Code and
status
SVC0280Message too long.
Maximum length is
%1 characters
%1 – number of characters
allowed in a message
400 Bad request
900908Resource forbiddennone403 Forbidden

5. SMS API internal error codes

internalOutput mapping
Error codeDescriptionError codeError variables
PDK_SMSW_0001Internal errorSVC0001%1: PDK_SMSW_0001
PDK_SMSW_0002Integration errorSVC0001%1: PDK_SMSW_0002
PDK_SMSW_0003Unavailable countrySVC0004%1: senderAddress value
PDK_SMSW_0004Duplicate client correlatorSVC0005%1: clientCorrelator value
%2: TBD
PDK_SMSW_0005Missing input valueSVC0002%1: missing value
PDK_SMSW_0006Invalid sender addressSVC0004%1: senderAddress value
PDK_SMSW_0007Invalid recipient addressSVC0004%1: address value
PDK_SMSW_0008Message too longSVC0280%1: max message length
PDK_SMSW_0009Invalid input valueSVC0002%1: invalid value
PDK_SMSW_0011BE-API is unresponsiveSVC0001%1: PDK_SMSW_0011
PDK_SMSW_0013SDP GOS is unresponsiveSVC0001%1: PDK_SMSW_0013
PDK_SMSW_1000BE-API internal errorSVC0001%1: PDK_SMSW_1000
PDK_SMSW_1001Resource consumption
failure: not authorized [%1]
POL0001%1: Not enough credit
PDK_SMSW_1002Resource consumption failure:
invalid parameter
POL0001%1: No contract found for
the given country /
service / contact
PDK_SMSW_1003Resource consumption
failure: not authorized [%1]
POL0001%1: Expired contract
PDK_SMSW_1004Resource consumption
failure: unknown transaction
ID
SVC0001%1: PDK_SMSW_1004
PDK_SMSW_3000SDP GOS internal errorSVC0001%1: PDK_SMSW_3000
PDK_SMSW_3001SDP GOS SLA errorSVC0001%1: PDK_SMSW_3001