Billing API
Overview
Charging a mobile number or “account” and deliver SMS with a text (Only for MT Billing).
URL
Parameters on the following URL are inside braces { }
http://backend17.ogangi.com:9020/orbit/api/bill/{account}/{amount}/{callback_b64}/{message_b64}/{hints_b64}
Security and Signature
In order to perform REST Calls on Orbit Billing API, signature and parameters should be provided on headers.
Header Name | Description | Example |
---|---|---|
timestamp | current date-time in milliseconds format. | 123456789123 |
publickey | Public Key provided by Ogangi Custom Team. please request it using our ticketing tool | 123abcXYZ |
signature | The unique HmacSHA512 signature for this call, it's involve all input parameters. Generate it by ciphering the url: orbit/api/bill/{account}/{amount}/{callback_b64}/{message_b64}/{hints_b64}/timestamp with special private key | abcccer123xyz |
Used timestamp for signature should be the same as the header parameter
Parameter Name | Description |
---|---|
account | An account or mobile number to charge Must use international prefix. |
amount | Amount to charge to account. This parameter must be expressed in decimal notation, separated by “.”. |
callback_b64 | Indicate web service in charge to receive billing status Used in case it uses MT Billing Billers. |
message_b64 | Text message to be deliver to an account. |
hints_b64 | Special parameters to help identify biller or to send relevant information. (Ex: param1:param1Info) |
Parameters b64 (callback_b64,message_b64 and hints_b64) should be encoded in BASE_64
Response
The Response JSON is divided in several fields showing, amount, account, hints, transaction status, url callback to post response and SMS content. Please note that there are several status for billing: ACCEPTED, DENIED, POSTED.
{ "response":{ "transactionid":"81686072599", "amount":"10.00", "hints":"aGludDE6dmFsdWUx=", "callback":"http://webservice.domain", "account":"1876XXXXXXX", "content":"Text message content", "status":"POSTED"} }
Result parameters
Parameter Name | Description | Example Values |
---|---|---|
transactionid | The Id of the transaction. | 81686072599 |
amount | Configured amount charged to account in configured currency. Please contact customer support for changing currency or to configure price. | 10.00 |
hints | Hints encripted in base64 | aGludDE6dmFsdWUx |
callback | Web service to post billing status in base64 | aHR0cDovL3d3dy53ZWJzaXRlLmNvbQ== |
account | Account or mobile number. | 1242xxxxxxx |
content | Content of the message in base64 if account requires mt billing | Y29udGVudA== |
status | The transaction status | POSTED,ACCEPTED,DENIED |
Billing Possible Status
Status | Description |
---|---|
ACCEPTED | Transaction performed successfully |
POSTED | Transaction was posted for billing, API sends a text message to account if billing was possible and a status update will be posted on requested webservice |
DENIED | Billing for account or mobile number was REJECTED. |
FORFEIT | Billing service took too long to receive a response - Used in MT Billing |
ACCEPTED_WITH_DELAY | Transaction performed successfully but it took a long time to recieve response |
Billing Response
API or MT Billing will be used depending on Biller configuration, the response could be different depending which one is used.
API Billing Response
For API Billing configured Billers, status can only be ACCEPTED or DENIED.
MT Billing Response
For MT billing configured Billers, a response will be posted in the callback set in the request when billing status could be determined.
{ "amount":10.0, "account":"1876XXXXXX", "status":"DENIED", "callback":"http://webservice.domain", "hints":"aGludDE6dmFsdWUx", "transaction-id":"81686072599540"}
Parameter Name | Description | Example Values |
---|---|---|
hints | hints encripted in base64 | aGludDE6dmFsdWUx |
callback | Web service for post billing status | http://webservice.domain |
account | Account or mobile number. | 1876XXXXXX |
status | The MT billing transaction status | ACCEPTED,FORFEIT,DENIED |
Setting New Billers
For configuring a new biller please contact Costumer Support team, with requested Price Points or amount to charge and which accounts patterns to set for billing.