0% found this document useful (0 votes)
6 views98 pages

UNITELMoney_API_PARTNERS_v4.2

The document outlines the Unitel Money API Integration for partners, detailing the solution specification and architecture for mobile money services. It includes information on authentication, various services such as buying goods and querying transaction statuses, as well as the API's update history. This serves as a comprehensive reference for third-party developers to implement and utilize Unitel Money's functionalities.

Uploaded by

helkyd
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
6 views98 pages

UNITELMoney_API_PARTNERS_v4.2

The document outlines the Unitel Money API Integration for partners, detailing the solution specification and architecture for mobile money services. It includes information on authentication, various services such as buying goods and querying transaction statuses, as well as the API's update history. This serves as a comprehensive reference for third-party developers to implement and utilize Unitel Money's functionalities.

Uploaded by

helkyd
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 98

Information Systems

2022, November 16th


Software Applications Development Department

Created by: Paulo Mbunga

Unitel Money
API Integration

Solution Specification REST API

Technical Manager Verified by Approved by


USA - DSI USPM - DNFM USPM-DOT

Adelino Campos / Paulo Mbunga Bruno Carvalho Eduardo Pinto


UNITEL MONEY API INTEGRATION FOR PARTNERS

PROJECT: UNITEL MONEY API INTEGRATION FOR PARTNERS VERSÃO


GO SERVICE DATE: TBD 4.2

PROJECT COORDINATION: SOFTWARE APPLICATIONS DEVELOPMENT DEPARTMENT

MANAGEMENT TEAM

Project Coordinator Project Manager


Carla Cardoso Adelino Campos

DOCUMENT UPDATE HISTORY:

VERSION DATE TOPICS Update description

1.0 11-02-2022 First version

1.1 21-02-2022 Bill Payment including

1.2 15-03-2022 Rest API include

2.1 18-04-2022 Rest API Update, Login DevPortal Added

Addition of error codes and description of some request


3 16-11-2022
fields

4 06-02-2023 Asynchronous API's

4 11-02-2023 Query Customer Information

4.1 10-03-2023 Removal of Result URL field in Async APIs

Individual B2C Payment API, Query Organization Balance


4.2 16-03-2023
API,Query Organization Statement API

UNITEL,S.A. - SOFTWARE APPLICATIONS DEVELOPMENT DEPARTMENT Page 2 of 98


UNITEL MONEY API INTEGRATION FOR PARTNERS

Index

INTRODUCTION ...................................................................................................................................... 6
API SPECIFICATION ................................................................................................................................. 7
Solution architecture .............................................................................................................. 7
Authentication and Authorization .......................................................................................... 8
2.2.1 OAuth2.0 ......................................................................................................................... 9
2.2.2 API Gateway – token OAuth2.0 .................................................................................... 10
SERVICES .............................................................................................................................................. 12
Buy Goods ............................................................................................................................. 12
3.1.1 Synchronous Mode Interface ........................................................................................ 14
3.1.2 Asynchronous Mode Interface ...................................................................................... 18
Initiate a Goods Refund Transaction..................................................................................... 27
3.2.1 Synchronous Mode Interface ........................................................................................ 27
3.2.2 Asynchronous Mode Interface ...................................................................................... 33
Reverse Transaction .............................................................................................................. 40
3.3.1 Synchronous Mode Interface ........................................................................................ 40
3.3.2 Asynchronous Mode Interface ...................................................................................... 44
Query Transaction Status ...................................................................................................... 50
3.4.1 Synchronous Mode Interface ........................................................................................ 51
3.4.2 Asynchronous Mode Interface ...................................................................................... 56
Individual B2C Payment ........................................................................................................ 62
3.5.1 Synchronous Mode Interface ........................................................................................ 62
3.5.2 Asynchronous Mode Interface...................................................................................... 67
Query Organization Balance ................................................................................................. 72
3.6.1 Synchronous Mode Interface ........................................................................................ 73
3.6.2 Asynchronous Mode Interface ...................................................................................... 77
Query Organization Statement ............................................................................................. 82
3.7.1 Synchronous Mode Interface ........................................................................................ 82

UNITEL,S.A. - SOFTWARE APPLICATIONS DEVELOPMENT DEPARTMENT Page 3 of 98


UNITEL MONEY API INTEGRATION FOR PARTNERS

3.7.2 Asynchronous Mode Interface ...................................................................................... 83


Query Customer Information................................................................................................ 90
ERROR CODE REFERENCE ...................................................................................................................... 95

UNITEL,S.A. - SOFTWARE APPLICATIONS DEVELOPMENT DEPARTMENT Page 4 of 98


UNITEL MONEY API INTEGRATION FOR PARTNERS

Figures Index
Figure 1 - Solution Architecture ................................................................................................. 7
Figure 2 - O Auth 2.0 Protocol Flow ........................................................................................ 10
Figure 3 - Token generation ..................................................................................................... 11
Figure 4 - Buy Goods workflow ................................................................................................ 12
Figure 5 – Payments Refunds Transaction workflow .............................................................. 27
Figure 6 - Reverse Transaction workflow................................................................................ 40
Figure 7 - Query Transaction Status workflow ........................................................................ 51
Figure 8 – Individual B2C Payment workflow .......................................................................... 62
Figure 9 – Query Organization Balance workflow .................................................................. 73
Figure 10 - Query Organization Statement workflow ............................................................. 82
Figure 11 - Query Customer Information workflow ................................................................ 90

UNITEL,S.A. - SOFTWARE APPLICATIONS DEVELOPMENT DEPARTMENT Page 5 of 98


UNITEL MONEY API INTEGRATION FOR PARTNERS

Introduction
This document provides the details of the Schema API type provided by the Unitel Money
system, including high level architecture, specific parameters of each service, data type
definitions, and error codes. This document is the reference for the third-party to develop
their functions based on the Mobile Money API, to use Unitel Money services.

The mobile money API’s feature allows an individual partner like merchant implement
adopted different functionalities to allow this organization accept and received through e-
money payments on selling of his products and services. Additionally, organization can query
transactions status, reverse or refund transactions.

For Customer, this API’s features allow that an individual customer or organizations to buy
goods or pay bills using e-Money wallet as payment method, offer the opportunity to
customer access a different service like water, electricity, gas, insurance, and tuition and
others.

An individual customer can initiate a buy goods or bill payment transaction using the
Merchant channel or Unitel Money channels like USSD, APP, Web Portal, with the guarantee
the integration between Service Provider and Merchants.

UNITEL,S.A. - SOFTWARE APPLICATIONS DEVELOPMENT DEPARTMENT Page 6 of 98


UNITEL MONEY API INTEGRATION FOR PARTNERS

API Specification
This section describes the API Integration between Unitel API Gateway and Partners
(Merchants and Billers), to allow access mobile money services.

Solution architecture

Figure 1 - Solution Architecture


User Mobile:
A handset which can initiate bill payment or buy goods request for paying the fees of the
respective biller or merchant.

Biller system
A Biller system will be integrated with Unitel API Gateway and will respond to the Bill
Payment Validation request.

Merchant system
A Merchant system offer to his customer channel to sell products and services, and
integrate with Unitel API Gateway to ask a customer payment to conclude sell transaction.

UNITEL,S.A. - SOFTWARE APPLICATIONS DEVELOPMENT DEPARTMENT Page 7 of 98


UNITEL MONEY API INTEGRATION FOR PARTNERS

Unitel Money Services


Unitel Money offers to customer and organization different services that will process the Pay
Bill or buy goods request and confirm the user. It will also send Bill Payment Validation request
to Biller through API Gateway to get a response from the corresponding Biller system. On buy
goods scenario, the platform respond merchant requests, validates and sends customer
confirmation PIN to complete payment and back answer to Merchant.

SOAP / REST interface


The Unitel Money API system is using SOAP interface for carrying out payment operation. The
Partner will communicate with the API gateway using a SOAP- or REST-based interface.

API Gateway
This is an interface between Unitel Money System and Biller systems. Unitel Money System
will send Bill Payment Validation request or receive buy goods request via API Gateway during
the Bill/Goods Payment operation. API Gateway will communicate with respective
Biller/Merchant and Unitel Money system.

Authentication and Authorization

The important aspect in the integration between Service Provider and Partner is
authentication and authorization to allow access and communication in both sides. Unitel
uses API Gateway to manage the integration with partner and use some rules to consider,
such as:

API´s:
 The API is linked to a category;
 A category is only visible to authenticated users who are authorized to access the
category.
Users:
 Each partner has a user account supplied by Unitel;

UNITEL,S.A. - SOFTWARE APPLICATIONS DEVELOPMENT DEPARTMENT Page 8 of 98


UNITEL MONEY API INTEGRATION FOR PARTNERS

 Each user subscribes to API;


 Each user has an OAuth2 token generated by subscription.

2.2.1 OAuth2.0

Is a standard designed to allow a website or application to access resources hosted by other


web apps on behalf of a user.

OAuth 2.0 provides consented access and restricts actions of what the client app can perform
on resources on behalf of the user, without ever sharing the user's credentials.

OAuth 2.0 uses Access Tokens. An Access Token is a piece of data that represents the
authorization to access resources on behalf of the end-user.

The idea of roles is part of the core specification of the OAuth2.0 authorization framework.
These define the essential components of an OAuth 2.0 system, and are as follows:

 Resource Owner: The user or system that owns the protected resources and can
grant access to them.
 Client: The client is the system that requires access to the protected resources. To
access resources, the Client must hold the appropriate Access Token.
 Authorization Server: This server receives requests from the Client for Access
Tokens and issues them upon successful authentication and consent by the Resource
Owner. The authorization server exposes two endpoints: the Authorization endpoint,
which handles the interactive authentication and consent of the user, and the Token
endpoint, which is involved in a machine to machine interaction.
 Resource Server: A server that protects the user’s resources and receives access
requests from the Client. It accepts and validates an Access Token from the Client
and returns the appropriate resources to it.

UNITEL,S.A. - SOFTWARE APPLICATIONS DEVELOPMENT DEPARTMENT Page 9 of 98


UNITEL MONEY API INTEGRATION FOR PARTNERS

Figure 2 - O Auth 2.0 Protocol Flow

2.2.2 API Gateway – token OAuth2.0

The API Manager service has an OAuth2 server built in.


Each user has a unique OAuth2 token generated through their subscription.
The platform provides a request that can be made to the system to obtain the OAuth2 token
“automatically”. The OAuth2 token is valid for 1 hour and can be renewed.

UNITEL,S.A. - SOFTWARE APPLICATIONS DEVELOPMENT DEPARTMENT Page 10 of 98


UNITEL MONEY API INTEGRATION FOR PARTNERS

Figure 3 - Token generation

UNITEL,S.A. - SOFTWARE APPLICATIONS DEVELOPMENT DEPARTMENT Page 11 of 98


UNITEL MONEY API INTEGRATION FOR PARTNERS

Services

Buy Goods

When a registered customer buys goods from a merchant organization, the customer can use
the balance of the e-money account to pay for the goods through the handset. This interface
is invoked by a third party of the Mobile Money system to purchase goods from an
organization assigned the goods purchase service in the system for a customer.

Figure 4 - Buy Goods workflow

UNITEL,S.A. - SOFTWARE APPLICATIONS DEVELOPMENT DEPARTMENT Page 12 of 98


UNITEL MONEY API INTEGRATION FOR PARTNERS

1. The customer requests payment for a product or service from one of the channels of
the merchant providing the Unitel Money number and the amount;

2. The Merchant processes the order and submits it to API Gateway;

3. API Gateway validates the request;

4. API Gateway Requests debit authorization from the customer, sending a Push
Notification on the Customer's mobile phone;

5. The Customer authorizes by entering the Unitel Money PIN;

6. API Gateway debits the Customer and credits the Merchant at Unitel Money;

7. API Gateway notifies Merchant;

8. API Gateway notifies Customer.

UNITEL,S.A. - SOFTWARE APPLICATIONS DEVELOPMENT DEPARTMENT Page 13 of 98


UNITEL MONEY API INTEGRATION FOR PARTNERS

3.1.1 Synchronous Mode Interface

Request

Endpoint HTTP
https://apigateway.unitel.co.ao:8343/v1/partners/1.0.0/buyGoods_v2
Método HTTP:
POST
Headers HTTP:
Content-Type: application/json
Accept: application/json

Body parameter JSON to HTTP request:

Parameter Type Mandatory Description Sample


or Optional
Timestamp String Mandatory Date and time of 20220113204200
transaction generated by
the merchant.
yyyyMMddHHmmss
OriginatorConversationID String Mandatory Is an ID that uniquely test_00000000003
identifies the request
message generated by
the Merchant
Initiator IdentifierType String Mandatory Indicates the type of 12 (default)
identifier of identity
Initiator Identifier String Mandatory Indicates identifier of an dstvTestOp
identity

UNITEL,S.A. - SOFTWARE APPLICATIONS DEVELOPMENT DEPARTMENT Page 14 of 98


UNITEL MONEY API INTEGRATION FOR PARTNERS

SecurityCredential String Mandatory Is the encrypted SppDoP73D9bAkPmQAa


Operator pin provided by UQEUBlXvqJKq+es0qXIdZ
Unitel cvvn2K650Bh0+c9HrjCvH
42b6oBdBOOtjROmjGTKL
KeQh7j5IzAYKjLuGsrN5DZ
DqzuPQEfkRC4v5Cl/7+Xw
tnLWqq45Dz1UvevLiyZEv
h6t10ffpPlI/nU0wJ4OZcg
R+uOrhpuhmSKVTXoZQx
VFks5dzRGSW8B1rhZ7YJt
emBxmRF/0xMz1tECsW
McFkCz8pwF6W44CySAn
8ptTlXuz1n/mrejeYJU2M
hXTCvbm9Xk97nbu6XX2u
3wQn0P5lHNb4nU1gKtJS
ECJYa7sIi+EMUssqMC630
uTLiPS0b2i0zUOAnw==

ShortCode String Mandatory Merchant Identifier 00001708


provided by Unitel
Primary Party number Mandatory Indicates the type of 1 (default)
IdentifierType Customer identifier
Primary Party Identifier String Mandatory Customer's Unitel Money 930300680
Number
Receiver Party number Mandatory Indicates the type of 4 (default)
IdentifierType Organization ShortCode
identifier
Receiver Party Identifier String Mandatory Identifies the 00001708
Organization ShortCode
Amount String Mandatory Transaction Amount 50.00

Currency String Mandatory Transaction Currency AOA

Key String Mandatory Reference Item Key POSDeviceID (default)

Value String Mandatory Indicates the Operator's POS234789


terminal

UNITEL,S.A. - SOFTWARE APPLICATIONS DEVELOPMENT DEPARTMENT Page 15 of 98


UNITEL MONEY API INTEGRATION FOR PARTNERS

Sample request

curl -X 'POST' \
'https://apigateway.unitel.co.ao:8343/v1/partners/1.0.0/buyGoods_v2' \
-H 'accept: */*' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer
eyJ4NXQiOiJOakF3TkdZMVpEUmpPV1V4WVdSaE9EZGpOMlJsTmpFMlpUSTJOVFptWmpZeVltWmh
ZekUwWlEiLCJraWQiOiJNbU15TkdVMFpERXpNV0l4WldObE9UbG1Nek5oTXpFMFpHTXdZV1UwT1
dVMU1EbGpPV0prTmpWalpEUm1OVFpsWTJWbFpUUmtORGN5T0RZd1ltTmpOd19SUzI1NiIsImFsZ
yI6IlJTMjU2In0.eyJzdWIiOiJhZG1pbiIsImF1dCI6IkFQUExJQ0FUSU9OIiwiYXVkIjoiQzZYYVZQOUtkM2
FZMHVkUUg4b1hpaXM3eVV3YSIsIm5iZiI6MTY2OTExNzYxNCwiYXpwIjoiQzZYYVZQOUtkM2FZMHV
kUUg4b1hpaXM3eVV3YSIsInNjb3BlIjoiZGVmYXVsdCIsImlzcyI6Imh0dHBzOlwvXC9sc3ZxYXNjb250c
m9sMDFhLmludGVybmFsLnVuaXRlbC5jby5hbzoke2h0dHBzLm5pby5wb3J0fVwvb2F1dGgyXC90b2
tlbiIsImV4cCI6MTY2OTEyMTIxNCwiaWF0IjoxNjY5MTE3NjE0LCJqdGkiOiJmYzFiNjgyMS02NWQ4LTR
iODgtOGZkNS00NjE1N2FjOTdhZjUifQ.rFKe_wRVDy0EO1IlVBft4_eYWs3t_Gv8358itgrIKoZENS6Bga
VIQtO7w3QE9Pj3fyq21ZxUzKtUPkxCPazR8HXBP_ok_I24CuSi1o4ER7IoOs56ocb6goffkC5xg-
ITyPADYw7CxwRqi7-7WSiNwTwrEZQlNr36EkJSb5DEFLSJ34OR7BuITTy7p0-
2MnWiQ_9h5wNp8Za4zv2uXReHmgCgP9hFlTwzelZzQinhyxW618LkA3kwaRUpsRRvX9ogVVBSkrVX
KPJEknzx8n1fGJmCu88p67v44Ntt-uBsRuIixMNUTB6vQCd-137jyeysEoELffDzM2RfZkhpQ_4ECQ' \
-d '{
"BuyGoodRec": {
"Timestamp": "20220113204200",
"OriginatorConversationID": "test_20201122124600001",
"IdentityRec": {
"Initiator": {
"IdentifierType": 12,
"Identifier": "dstvTestOp",
"SecurityCredential":
"eo1ws3yGLA8RF5w3LNBl3W5wERKvFQHoTQvmCVPtBpJTFAuI9Gdtns4pTj5LEjJWIrBFnT1Mk7JGi3
4VLa5MKrXNrS4myI/fVdNKZlNejZFhrTMyybCqhh7mJuW5/R3JXvNs7tPGgB4/1PMqcL/oFBzeF5mX8
IZIG61pEsG45j4FX1vmPRUovq7rScKWv6ofa9Cpv/iT2rkinbaXt46jBWjfAhR/kdAkISLlJV1BY/3w3g3ss
fxWozy2WjzziFsmNomzc0iVV1jxaAMjFk0tz+lV9irjfRPOK6c+Rtxz8zNJGQyFX91yPrLGNQYwJRyBqNs
QoCrFD5zFl9QznxbNnQ==",
"ShortCode": "00001708"
},
"PrimaryParty": {
"IdentifierType": 1,
"Identifier": "930300680"
},
"ReceiverParty": {
"IdentifierType": 4,

UNITEL,S.A. - SOFTWARE APPLICATIONS DEVELOPMENT DEPARTMENT Page 16 of 98


UNITEL MONEY API INTEGRATION FOR PARTNERS

"Identifier": "00001708"
}
},
"TransactionRequest": {
"Parameters": {
"Amount": "50.00",
"Currency": "AOA"
}
},
"ReferenceData": {
"ReferenceItem": [
{
"Key": "POSDeviceID",
"Value": "POS234789"
}
]
}
}
}'

Response messages

{
"CustBuyGoodRs": {
"BuyGoodsRec": {
"ConversationID": "AG_20221122_701033ff42b309ca9aee",
"OriginatorConversationID": "test_00000009780090039",
"ResultType": 0,
"ResultCode": 0,
"ResultDesc": "Process service request successfully.",
"TransactionResult": {
"TransactionID": "9KM0005EOM"
}
}
}

UNITEL,S.A. - SOFTWARE APPLICATIONS DEVELOPMENT DEPARTMENT Page 17 of 98


UNITEL MONEY API INTEGRATION FOR PARTNERS

3.1.2 Asynchronous Mode Interface

Request

Endpoint HTTP
https://apigateway.unitel.co.ao:8343/v1/partners/1.0.0/buyGoods_async
Método HTTP:
POST
Headers HTTP:
Content-Type: application/json
Accept: application/json

Body parameter JSON to HTTP request:

Parameter Type Mandatory Description Sample


or Optional
Timestamp String Mandatory Date and time of 20220113204200
transaction generated by
the merchant.
yyyyMMddHHmmss
OriginatorConversationID String Mandatory Is an ID that uniquely test_00000000003
identifies the request
message generated by
the Merchant
Initiator IdentifierType String Mandatory Indicates the type of 12 (default)
identifier of identity
Initiator Identifier String Mandatory Indicates identifier of an dstvTestOp
identity

UNITEL,S.A. - SOFTWARE APPLICATIONS DEVELOPMENT DEPARTMENT Page 18 of 98


UNITEL MONEY API INTEGRATION FOR PARTNERS

SecurityCredential String Mandatory Is the encrypted SppDoP73D9bAkPmQAa


Operator pin provided by UQEUBlXvqJKq+es0qXIdZ
Unitel cvvn2K650Bh0+c9HrjCvH
42b6oBdBOOtjROmjGTKL
KeQh7j5IzAYKjLuGsrN5DZ
DqzuPQEfkRC4v5Cl/7+Xw
tnLWqq45Dz1UvevLiyZEv
h6t10ffpPlI/nU0wJ4OZcg
R+uOrhpuhmSKVTXoZQx
VFks5dzRGSW8B1rhZ7YJt
emBxmRF/0xMz1tECsW
McFkCz8pwF6W44CySAn
8ptTlXuz1n/mrejeYJU2M
hXTCvbm9Xk97nbu6XX2u
3wQn0P5lHNb4nU1gKtJS
ECJYa7sIi+EMUssqMC630
uTLiPS0b2i0zUOAnw==

ShortCode String Mandatory Merchant Identifier 00001708


provided by Unitel
Primary Party number Mandatory Indicates the type of 1 (default)
IdentifierType Customer identifier
Primary Party Identifier String Mandatory Customer's Unitel Money 930300680
Number
Receiver Party number Mandatory Indicates the type of 4 (default)
IdentifierType Organization ShortCode
identifier
Receiver Party Identifier String Mandatory Identifies the 00001708
Organization ShortCode
Amount String Mandatory Transaction Amount 50.00

Currency String Mandatory Transaction Currency AOA

Key String Mandatory Reference Item Key POSDeviceID (default)

Value String Mandatory Indicates the Operator's POS234789


terminal

UNITEL,S.A. - SOFTWARE APPLICATIONS DEVELOPMENT DEPARTMENT Page 19 of 98


UNITEL MONEY API INTEGRATION FOR PARTNERS

Sample request

curl -X 'POST' \
'https://apigateway.unitel.co.ao:8343/v1/partners/1.0.0/buyGoods_async' \
-H 'accept: */*' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer
eyJ4NXQiOiJOakF3TkdZMVpEUmpPV1V4WVdSaE9EZGpOMlJsTmpFMlpUSTJOVFptWmpZeVltWmh
ZekUwWlEiLCJraWQiOiJNbU15TkdVMFpERXpNV0l4WldObE9UbG1Nek5oTXpFMFpHTXdZV1UwT1
dVMU1EbGpPV0prTmpWalpEUm1OVFpsWTJWbFpUUmtORGN5T0RZd1ltTmpOd19SUzI1NiIsImFsZ
yI6IlJTMjU2In0.eyJzdWIiOiJhZG1pbiIsImF1dCI6IkFQUExJQ0FUSU9OIiwiYXVkIjoiQzZYYVZQOUtkM2
FZMHVkUUg4b1hpaXM3eVV3YSIsIm5iZiI6MTY3NTY2ODg0MywiYXpwIjoiQzZYYVZQOUtkM2FZMH
VkUUg4b1hpaXM3eVV3YSIsInNjb3BlIjoiZGVmYXVsdCIsImlzcyI6Imh0dHBzOlwvXC9sc3ZxYXNjb250
cm9sMDFhLmludGVybmFsLnVuaXRlbC5jby5hbzoke2h0dHBzLm5pby5wb3J0fVwvb2F1dGgyXC90b
2tlbiIsImV4cCI6MTY3NTY3MjQ0MywiaWF0IjoxNjc1NjY4ODQzLCJqdGkiOiI5M2I0NGRmZS1jODI0LT
QxZGYtODNkYS0yZmQzNDBiN2NlODMifQ.mbPRxhOPLOLs1u3kfiNGvoVtCcAmj1OTjvRD2Le3_zs6Ki
0WFIK9XUjG4xgdfDez1dFgA5zfJQQEj3OZzAESeBJLCqDN2X6EG1QLUBfAYgJxtP09E7jW-
_Tpwdwq53QqSHW_bCCvOlOR9ck-
ycMTPq_uINFaRL4T5xgKCvjRn4R5s0jWTQI0LNxpUYX1TEH_IMLJY6u1oFNzEscLIecjmrb47mY6a2txb
5OM5s5IbG77-ritnM8b3-
GuSzlhsdCIreEwWMLYtGyQdHxFjh9aS6H03qwNAy6imEaEoko6H7d8mpn4PZ-HA-Sa5Og1-
mYJB7amWnpveNsfo5pNtM3OgQ' \
-d '{
"BuyGoodRec": {
"Timestamp": "20220113204200",
"OriginatorConversationID": "test_202302060835001",
"IdentityRec": {
"Initiator": {
"IdentifierType": 12,
"Identifier": "dstvTestOp",
"SecurityCredential":
"eo1ws3yGLA8RF5w3LNBl3W5wERKvFQHoTQvmCVPtBpJTFAuI9Gdtns4pTj5LEjJWIrBFnT1Mk7JGi3
4VLa5MKrXNrS4myI/fVdNKZlNejZFhrTMyybCqhh7mJuW5/R3JXvNs7tPGgB4/1PMqcL/oFBzeF5mX8
IZIG61pEsG45j4FX1vmPRUovq7rScKWv6ofa9Cpv/iT2rkinbaXt46jBWjfAhR/kdAkISLlJV1BY/3w3g3ss
fxWozy2WjzziFsmNomzc0iVV1jxaAMjFk0tz+lV9irjfRPOK6c+Rtxz8zNJGQyFX91yPrLGNQYwJRyBqNs
QoCrFD5zFl9QznxbNnQ==",
"ShortCode": "00001708"
},
"PrimaryParty": {
"IdentifierType": 1,
"Identifier": "930300680"
},

UNITEL,S.A. - SOFTWARE APPLICATIONS DEVELOPMENT DEPARTMENT Page 20 of 98


UNITEL MONEY API INTEGRATION FOR PARTNERS

"ReceiverParty": {
"IdentifierType": 4,
"Identifier": "00001708"
}
},
"TransactionRequest": {
"Parameters": {
"Amount": 50,
"Currency": "AOA"
}
},
"ReferenceData": {
"ReferenceItem": [
{
"Key": "POSDeviceID",
"Value": "POS234789"
}
]
}
}
}'

Response messages

{
"Response": {
"OriginatorConversationID": "test_202302060835001",
"ConversationID": "AG_20230206_70100852b9e86f6ade43",
"ResponseCode": 0,
"ResponseDesc": "Accept the service request successfully.",
"ServiceStatus": 0
}
}

UNITEL,S.A. - SOFTWARE APPLICATIONS DEVELOPMENT DEPARTMENT Page 21 of 98


UNITEL MONEY API INTEGRATION FOR PARTNERS

Result messages
The partner must provide an endpoint to receive this message.
Sucess

<?xml version="1.0" encoding="UTF-8"?>


<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Body>
<api:Result xmlns:api="http://cps.huawei.com/cpsinterface/api_resultmgr"
xmlns:com="http://cps.huawei.com/cpsinterface/common"
xmlns:res="http://cps.huawei.com/cpsinterface/result">
<res:Header>
<res:Version>1.0</res:Version>

<res:OriginatorConversationID>test_202302060835001</res:OriginatorConversationI>
<res:ConversationID>AG_20230206_70100852b9e86f6ade43</res:ConversationID>
</res:Header>
<res:Body>
<res:ResultType>0</res:ResultType>
<res:ResultCode>0</res:ResultCode>
<res:ResultDesc>Process service request successfully.</res:ResultDesc>
<res:TransactionResult>
<res:TransactionID>AB600062CK</res:TransactionID>
<res:ResultParameters>
<res:ResultParameter>
<com:Key>DebitBalance</com:Key>

<com:Value>{"total":[{"amount":"118059.59","currency":"AOA"}],"list":[{"amount":"14
692.09","accountno":"100000000110451562","currency":"AOA","accounttypename":"
Customer E-Money
Account"},{"amount":"103367.50","accountno":"100000000110481056","currency":"A
OA","accounttypename":"Customer Incentive Account"}]}</com:Value>

UNITEL,S.A. - SOFTWARE APPLICATIONS DEVELOPMENT DEPARTMENT Page 22 of 98


UNITEL MONEY API INTEGRATION FOR PARTNERS

</res:ResultParameter>
</res:ResultParameters>
</res:TransactionResult>
<res:ReferenceData>
<res:ReferenceItem>
<com:Key>POSDeviceID</com:Key>
<com:Value>POS234789</com:Value>
</res:ReferenceItem>
</res:ReferenceData>
</res:Body>
</api:Result>
</soapenv:Body>
</soapenv:Envelope>

Some error result messages:

<?xml version="1.0" encoding="UTF-8"?>


<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Body>
<api:Result xmlns:api="http://cps.huawei.com/cpsinterface/api_resultmgr"
xmlns:com="http://cps.huawei.com/cpsinterface/common"
xmlns:res="http://cps.huawei.com/cpsinterface/result">
<res:Header>
<res:Version>1.0</res:Version>

<res:OriginatorConversationID>PremierBet_202302061208001</res:OriginatorConversationID>
<res:ConversationID>AG_20230206_7010733b2c2cc3623f9d</res:ConversationID>
</res:Header>
<res:Body>

UNITEL,S.A. - SOFTWARE APPLICATIONS DEVELOPMENT DEPARTMENT Page 23 of 98


UNITEL MONEY API INTEGRATION FOR PARTNERS

<res:ResultType>0</res:ResultType>
<res:ResultCode>3007001</res:ResultCode>
<res:ResultDesc>Your account balance is insufficient for the transaction.</res:ResultDesc>
<res:TransactionResult>
<res:TransactionID>AB630062I7</res:TransactionID>
</res:TransactionResult>
<res:ReferenceData>
<res:ReferenceItem>
<com:Key>POSDeviceID</com:Key>
<com:Value>POS234789</com:Value>
</res:ReferenceItem>
</res:ReferenceData>
</res:Body>
</api:Result>
</soapenv:Body>
</soapenv:Envelope>

<?xml version="1.0" encoding="UTF-8"?>


<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Body>
<api:Result xmlns:api="http://cps.huawei.com/cpsinterface/api_resultmgr"
xmlns:com="http://cps.huawei.com/cpsinterface/common"
xmlns:res="http://cps.huawei.com/cpsinterface/result">
<res:Header>
<res:Version>1.0</res:Version>

<res:OriginatorConversationID>PremierBet_202302070841002</res:OriginatorConversationID>
<res:ConversationID>AG_20230207_70101e3bb1c9e3c25ece</res:ConversationID>
</res:Header>

UNITEL,S.A. - SOFTWARE APPLICATIONS DEVELOPMENT DEPARTMENT Page 24 of 98


UNITEL MONEY API INTEGRATION FOR PARTNERS

<res:Body>
<res:ResultType>0</res:ResultType>
<res:ResultCode>401901</res:ResultCode>
<res:ResultDesc>You have cancelled the request.</res:ResultDesc>
<res:TransactionResult>
<res:TransactionID>10100000000001311074</res:TransactionID>
</res:TransactionResult>
<res:ReferenceData>
<res:ReferenceItem>
<com:Key>POSDeviceID</com:Key>
<com:Value>POS234789</com:Value>
</res:ReferenceItem>
</res:ReferenceData>
</res:Body>
</api:Result>
</soapenv:Body>
</soapenv:Envelope>

<?xml version="1.0" encoding="UTF-8"?>


<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Body>
<api:Result xmlns:api="http://cps.huawei.com/cpsinterface/api_resultmgr"
xmlns:com="http://cps.huawei.com/cpsinterface/common"
xmlns:res="http://cps.huawei.com/cpsinterface/result">
<res:Header>
<res:Version>1.0</res:Version>

<res:OriginatorConversationID>PremierBet_202302070841001</res:OriginatorConversationID>
<res:ConversationID>AG_20230207_70102b72bfc2e2a43263</res:ConversationID>
</res:Header>

UNITEL,S.A. - SOFTWARE APPLICATIONS DEVELOPMENT DEPARTMENT Page 25 of 98


UNITEL MONEY API INTEGRATION FOR PARTNERS

<res:Body>
<res:ResultType>0</res:ResultType>
<res:ResultCode>3013001</res:ResultCode>
<res:ResultDesc>The user name does not exist or the security credential is
incorrect.</res:ResultDesc>
<res:TransactionResult>
<res:TransactionID>10100000000001311072</res:TransactionID>
</res:TransactionResult>
<res:ReferenceData>
<res:ReferenceItem>
<com:Key>POSDeviceID</com:Key>
<com:Value>POS234789</com:Value>
</res:ReferenceItem>
</res:ReferenceData>
</res:Body>
</api:Result>
</soapenv:Body>
</soapenv:Envelope>

UNITEL,S.A. - SOFTWARE APPLICATIONS DEVELOPMENT DEPARTMENT Page 26 of 98


UNITEL MONEY API INTEGRATION FOR PARTNERS

Initiate a Goods Refund Transaction

After paying for goods bought from a merchant organization, a registered customer can
submit a refund request to the organization. An operator of the organization processes the
refund request and refunds the paid amount to the customer's Mobile Money system account.
This interface is invoked by a third party of the Mobile Money system to initiate a goods refund
service from merchant.

Figure 5 – Payments Refunds Transaction workflow

3.2.1 Synchronous Mode Interface

Request
Endpoint HTTP
https://apigateway.unitel.co.ao:8343/v1/partners/1.0.0 /goodsRefundTransaction_v2

UNITEL,S.A. - SOFTWARE APPLICATIONS DEVELOPMENT DEPARTMENT Page 27 of 98


UNITEL MONEY API INTEGRATION FOR PARTNERS

Método HTTP:
POST

Headers HTTP:
Content-Type: application/json
Accept: application/json

Body parameter JSON to request HTTP:

Parameter Type Mandatory Description Sample


or Optional
Timestamp String Mandatory Date and time of 20220113204200
transaction generated by
the merchant.
yyyyMMddHHmmss
OriginatorConversationID String Mandatory Is an ID that uniquely test_00000000004
identifies the request
message generated by
the Merchant
Initiator IdentifierType String Mandatory Indicates the type of 12 (default)
identifier of identity
Initiator Identifier String Mandatory Indicates identifier of an dstvTestOp
identity

UNITEL,S.A. - SOFTWARE APPLICATIONS DEVELOPMENT DEPARTMENT Page 28 of 98


UNITEL MONEY API INTEGRATION FOR PARTNERS

SecurityCredential String Mandatory Is the encrypted SppDoP73D9bAkPmQAa


Operator pin provided by UQEUBlXvqJKq+es0qXIdZ
Unitel cvvn2K650Bh0+c9HrjCvH
42b6oBdBOOtjROmjGTKL
KeQh7j5IzAYKjLuGsrN5DZ
DqzuPQEfkRC4v5Cl/7+Xw
tnLWqq45Dz1UvevLiyZEv
h6t10ffpPlI/nU0wJ4OZcg
R+uOrhpuhmSKVTXoZQx
VFks5dzRGSW8B1rhZ7YJt
emBxmRF/0xMz1tECsW
McFkCz8pwF6W44CySAn
8ptTlXuz1n/mrejeYJU2M
hXTCvbm9Xk97nbu6XX2u
3wQn0P5lHNb4nU1gKtJS
ECJYa7sIi+EMUssqMC630
uTLiPS0b2i0zUOAnw==

ShortCode String Mandatory Merchant Identifier 00001708


provided by Unitel
Receiver Party Identifier number Mandatory Indicates the type of 1 (default)
Type Customer identifier
Receiver Party Identifier String Mandatory Customer's Unitel Money 930300680
Number
Amount String Mandatory Transaction Amount 50.00

Currency String Mandatory Transaction Currency AOA

Key String Mandatory Reference Item Key POSDeviceID (default)

Value String Mandatory Indicates the Operator's POS234789


terminal
Remark String Mandatory remark about goods remark about goods
refund refund

UNITEL,S.A. - SOFTWARE APPLICATIONS DEVELOPMENT DEPARTMENT Page 29 of 98


UNITEL MONEY API INTEGRATION FOR PARTNERS

Sample request
curl -X 'POST' \
'https://apigateway.unitel.co.ao:8343/v1/partners/1.0.0/goodsRefundTransaction_v2' \
-H 'accept: */*' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer
eyJ4NXQiOiJOakF3TkdZMVpEUmpPV1V4WVdSaE9EZGpOMlJsTmpFMlpUSTJOVFptWmpZeVltWmh
ZekUwWlEiLCJraWQiOiJNbU15TkdVMFpERXpNV0l4WldObE9UbG1Nek5oTXpFMFpHTXdZV1UwT1
dVMU1EbGpPV0prTmpWalpEUm1OVFpsWTJWbFpUUmtORGN5T0RZd1ltTmpOd19SUzI1NiIsImFsZ
yI6IlJTMjU2In0.eyJzdWIiOiJhZG1pbiIsImF1dCI6IkFQUExJQ0FUSU9OIiwiYXVkIjoiQzZYYVZQOUtkM2F
ZMHVkUUg4b1hpaXM3eVV3YSIsIm5iZiI6MTY2OTIwMTEyNywiYXpwIjoiQzZYYVZQOUtkM2FZMHVk
UUg4b1hpaXM3eVV3YSIsInNjb3BlIjoiZGVmYXVsdCIsImlzcyI6Imh0dHBzOlwvXC9sc3ZxYXNjb250cm
9sMDFhLmludGVybmFsLnVuaXRlbC5jby5hbzoke2h0dHBzLm5pby5wb3J0fVwvb2F1dGgyXC90b2tlb
iIsImV4cCI6MTY2OTIwNDcyNywiaWF0IjoxNjY5MjAxMTI3LCJqdGkiOiJiMzc2MDI3OS01ZDdiLTRkMj
ktOGM3MC0zNjcxYzljZjQxMTAifQ.jIY_RCX2hMAfMM7yWTFGYvzVQJ9k4PPeqb2jJ10VFRnKGQUYRr
XQFXgtF0UZJEHgdW9Yn31BAr1pnzdBFgNfxOExvUMkoVZZel63t0hQ_ZcT99NcH0bxbDGH3UCbaAv
gZ8QJrU59Wa_hoNGrtJp19nu9lls-4Gvg_cOiUPk-W6_cypb9bo9rXian3yHoJE-
y5pRapMGXZbf4KnvN64oaugZqadvazIuMSBzN8QTn2vwlxyRdRYfrGevpQ83ePgAIHrJ_-
mJB1zwrhat7qE-
0ovqXyaKdOtmMm6YNKCzamjakeR3MPRYmDsi9wdmKoLPzjYks0B4BWDeDO_w1n5b13w' \
-d '{
"GoodRefTransRec": {
"Timestamp": "20220113204200",
"OriginatorConversationID": "test_0000045rtgh000003",
"IdentityRec": {
"Initiator": {
"IdentifierType": 12,
"Identifier": "dstvTestOp",
"SecurityCredential":
"eo1ws3yGLA8RF5w3LNBl3W5wERKvFQHoTQvmCVPtBpJTFAuI9Gdtns4pTj5LEjJWIrBFnT1Mk7JGi3
4VLa5MKrXNrS4myI/fVdNKZlNejZFhrTMyybCqhh7mJuW5/R3JXvNs7tPGgB4/1PMqcL/oFBzeF5mX8
IZIG61pEsG45j4FX1vmPRUovq7rScKWv6ofa9Cpv/iT2rkinbaXt46jBWjfAhR/kdAkISLlJV1BY/3w3g3ss
fxWozy2WjzziFsmNomzc0iVV1jxaAMjFk0tz+lV9irjfRPOK6c+Rtxz8zNJGQyFX91yPrLGNQYwJRyBqNs
QoCrFD5zFl9QznxbNnQ==",
"ShortCode": "00001708"
},
"ReceiverParty": {
"IdentifierType": 1,
"Identifier": 930300680
}
},

UNITEL,S.A. - SOFTWARE APPLICATIONS DEVELOPMENT DEPARTMENT Page 30 of 98


UNITEL MONEY API INTEGRATION FOR PARTNERS

"TransactionRequest": {
"Parameters": {
"Amount": "50.00",
"Currency": "AOA"
}
},
"ReferenceData": {
"ReferenceItem": [
{
"Key": "POSDeviceID",
"Value": "POS234789"
}
]
},
"Remark": "remark about goods refund"
}
}'

UNITEL,S.A. - SOFTWARE APPLICATIONS DEVELOPMENT DEPARTMENT Page 31 of 98


UNITEL MONEY API INTEGRATION FOR PARTNERS

Response
{
"GoodRefTransRs": {
"GoodRefTransRec": {
"ConversationID": "AG_20221123_7010393601d7e37b99eb",
"OriginatorConversationID": "test_0000045rtgh000003",
"ResultType": 0,
"ResultCode": 0,
"ResultDesc": "Process service request successfully.",
"TransactionResult": {
"TransactionID": "9KN2005F4S"
}
}
}
}

UNITEL,S.A. - SOFTWARE APPLICATIONS DEVELOPMENT DEPARTMENT Page 32 of 98


UNITEL MONEY API INTEGRATION FOR PARTNERS

3.2.2 Asynchronous Mode Interface

Request
Endpoint HTTP
https://apigateway.unitel.co.ao:8343/v1/partners/1.0.0 /goodsRefundTransaction_async

Método HTTP:
POST

Headers HTTP:
Content-Type: application/json
Accept: application/json

Body parameter JSON to request HTTP:

Parameter Type Mandatory Description Sample


or
Optional
Timestamp String Mandatory Date and time of 20220113204200
transaction
generated by the
merchant.
yyyyMMddHHmmss
OriginatorConversationID String Mandatory Is an ID that test_00000000004
uniquely identifies
the request
message generated
by the Merchant
Initiator IdentifierType String Mandatory Indicates the type 12 (default)
of identifier of
identity
Initiator Identifier String Mandatory Indicates identifier dstvTestOp
of an identity

UNITEL,S.A. - SOFTWARE APPLICATIONS DEVELOPMENT DEPARTMENT Page 33 of 98


UNITEL MONEY API INTEGRATION FOR PARTNERS

SecurityCredential String Mandatory Is the encrypted SppDoP73D9bAkPmQAa


Operator pin UQEUBlXvqJKq+es0qXIdZ
provided by Unitel cvvn2K650Bh0+c9HrjCvH
42b6oBdBOOtjROmjGTKL
KeQh7j5IzAYKjLuGsrN5DZ
DqzuPQEfkRC4v5Cl/7+Xw
tnLWqq45Dz1UvevLiyZEv
h6t10ffpPlI/nU0wJ4OZcg
R+uOrhpuhmSKVTXoZQx
VFks5dzRGSW8B1rhZ7YJt
emBxmRF/0xMz1tECsW
McFkCz8pwF6W44CySAn
8ptTlXuz1n/mrejeYJU2M
hXTCvbm9Xk97nbu6XX2u
3wQn0P5lHNb4nU1gKtJS
ECJYa7sIi+EMUssqMC630
uTLiPS0b2i0zUOAnw==

ShortCode String Mandatory Merchant Identifier 00001708


provided by Unitel
Receiver Party Identifier number Mandatory Indicates the type 1 (default)
Type of Organization
ShortCode
identifier
Receiver Party Identifier String Mandatory Identifies the 930300680
Organization
ShortCode
Amount String Mandatory Transaction 50.00
Amount
Currency String Mandatory Transaction AOA
Currency
Key String Mandatory Reference Item Key POSDeviceID (default)

Value String Mandatory Indicates the POS234789


Operator's terminal
Remark String Mandatory remark about remark about goods refund
goods refund

UNITEL,S.A. - SOFTWARE APPLICATIONS DEVELOPMENT DEPARTMENT Page 34 of 98


UNITEL MONEY API INTEGRATION FOR PARTNERS

Sample Request

curl -X 'POST' \
'https://apigateway.unitel.co.ao:8343/v1/partners/1.0.0/goodsRefundTransaction_async' \
-H 'accept: */*' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer
eyJ4NXQiOiJOakF3TkdZMVpEUmpPV1V4WVdSaE9EZGpOMlJsTmpFMlpUSTJOVFptWmpZeVltWmhZe
kUwWlEiLCJraWQiOiJNbU15TkdVMFpERXpNV0l4WldObE9UbG1Nek5oTXpFMFpHTXdZV1UwT1dVM
U1EbGpPV0prTmpWalpEUm1OVFpsWTJWbFpUUmtORGN5T0RZd1ltTmpOd19SUzI1NiIsImFsZyI6IlJT
MjU2In0.eyJzdWIiOiJhZG1pbiIsImF1dCI6IkFQUExJQ0FUSU9OIiwiYXVkIjoiQzZYYVZQOUtkM2FZMHVk
UUg4b1hpaXM3eVV3YSIsIm5iZiI6MTY3NTY3NDg1NiwiYXpwIjoiQzZYYVZQOUtkM2FZMHVkUUg4b1h
paXM3eVV3YSIsInNjb3BlIjoiZGVmYXVsdCIsImlzcyI6Imh0dHBzOlwvXC9sc3ZxYXNjb250cm9sMDFhLml
udGVybmFsLnVuaXRlbC5jby5hbzoke2h0dHBzLm5pby5wb3J0fVwvb2F1dGgyXC90b2tlbiIsImV4cCI6M
TY3NTY3ODQ1NiwiaWF0IjoxNjc1Njc0ODU2LCJqdGkiOiIxN2JkMDdkNy1iODJkLTQ5ZWItYWVhMi1mO
TFjNjBjMzM1YWMifQ.V-2zsw-
D0liLpRp9adtxoEfG6ega2l4NTKGfac4QMgeGlWSRaRs9lPR2evXv4lr2vGLFtTygyoHwlGmcfXetttCGPHT
DEHjzwZhhlrsI8odKkzNesrsk60yuyp5w2BBJhZYocJEfr5mBuCVkYu-5OzIq90DXcU-1RqO-
EbDArG7XKorm8dfuMCsSrPy9cgsWwwojDk9GdOL_QFfO7KM2Fq0vugSC4v_125Ed9jkExOBBDtLJb5U
52TARzM6j7aU5Pe55_hv12LTMH_LUYZ5QzlaPGP9wNA-
5hCr1Ff5aUmzd7B0pqwOvxWT6axN8djr2DTGcd5JqkvKXIPHc9wAfkQ' \
-d '{
"GoodRefTransRec": {
"Timestamp": "20220113204200",
"OriginatorConversationID": "PremierBet_202302061013001",
"IdentityRec": {
"Initiator": {
"IdentifierType": 12,
"Identifier": "ApiPremier",
"SecurityCredential":
"foPQuRW7Qu8vZo8HoTyI96iFjCWl+B0gQ+RF/cVk1BTHSpcEesLGbRz21L5N8BD2t46dvGZS4N8eaj4Q
xWt4gGnZeipTXeU1ELv4BgWMWFycko2FMxCUMU3cr+Ih6gPzr51XFE4Zce6hFPjjRLT5t1+JAlocGAMG
dIdnqQhFLOm47Bb91FFik3lgvlXqmMKRVHw24QmheWDC3J+dTPAuYjCjcEeLtvcgjRvlqvYvzFTtMPxXz
HD5UzShrgTzvX7jffoDy1nlFYEiTMcouvsZ0ZdhSavmj4IuMbrhDsopPF6ZwukRPexJ8t6EJS36PSqoVMeA
KLUoa24krGdCIAOQEw==",

UNITEL,S.A. - SOFTWARE APPLICATIONS DEVELOPMENT DEPARTMENT Page 35 of 98


UNITEL MONEY API INTEGRATION FOR PARTNERS

"ShortCode": "00001209"
},
"ReceiverParty": {
"IdentifierType": 1,
"Identifier": 930300680
}
},
"TransactionRequest": {
"Parameters": {
"Amount": 50,
"Currency": "AOA"
}
},
"ReferenceData": {
"ReferenceItem": [
{
"Key": "POSDeviceID",
"Value": "POS234789"
}
]
},
"Remark": "remark about goods refund"
}
}'
Response messages
{
"Response": {
"OriginatorConversationID": "PremierBet_202302061013001",
"ConversationID": "AG_20230206_70107b59da83a7f624d6",
"ResponseCode": 0,
"ResponseDesc": "Accept the service request successfully.",
"ServiceStatus": 0
}
}

UNITEL,S.A. - SOFTWARE APPLICATIONS DEVELOPMENT DEPARTMENT Page 36 of 98


UNITEL MONEY API INTEGRATION FOR PARTNERS

Result messages
The partner must provide an endpoint to receive this message.

UNITEL,S.A. - SOFTWARE APPLICATIONS DEVELOPMENT DEPARTMENT Page 37 of 98


UNITEL MONEY API INTEGRATION FOR PARTNERS

<?xml version="1.0" encoding="UTF-8"?>


<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Body>
<api:Result xmlns:api="http://cps.huawei.com/cpsinterface/api_resultmgr"
xmlns:com="http://cps.huawei.com/cpsinterface/common"
xmlns:res="http://cps.huawei.com/cpsinterface/result">
<res:Header>
<res:Version>1.0</res:Version>
<res:OriginatorConversationID>PremierBet_202302061013001</res:OriginatorConversationID>
<res:ConversationID>AG_20230206_70107b59da83a7f624d6</res:ConversationID>
</res:Header>
<res:Body>
<res:ResultType>0</res:ResultType>
<res:ResultCode>0</res:ResultCode>
<res:ResultDesc>Process service request successfully.</res:ResultDesc>
<res:TransactionResult>
<res:TransactionID>AB620062DG</res:TransactionID>
<res:ResultParameters>
<res:ResultParameter>
<com:Key>DebitBalance</com:Key>
<com:Value />
</res:ResultParameter>
<res:ResultParameter>
<com:Key>CreditBalance</com:Key>
<com:Value>{"total":[{"amount":"118109.59","currency":"AOA"}],"list":[{"amount":"14742.09","accountno":"10
0000000110451562","currency":"AOA","accounttypename":"Customer E-Money
Account"},{"amount":"103367.50","accountno":"100000000110481056","currency":"AOA","accounttypename":
"Customer Incentive Account"}]}</com:Value>
</res:ResultParameter>
</res:ResultParameters>
</res:TransactionResult>
<res:ReferenceData>
<res:ReferenceItem>
<com:Key>POSDeviceID</com:Key>
<com:Value>POS234789</com:Value>
</res:ReferenceItem>

UNITEL,S.A. - SOFTWARE APPLICATIONS DEVELOPMENT DEPARTMENT Page 38 of 98


UNITEL MONEY API INTEGRATION FOR PARTNERS

</res:ReferenceData>
</res:Body>
</api:Result>
</soapenv:Body>
</soapenv:Envelope>

UNITEL,S.A. - SOFTWARE APPLICATIONS DEVELOPMENT DEPARTMENT Page 39 of 98


UNITEL MONEY API INTEGRATION FOR PARTNERS

Reverse Transaction

Customers or organization operators can apply to reverse completed transactions due to some
reasons, for example, refund or incorrect recipient entered for the transaction. This interface
is invoked by a third party of the Mobile Money system to reverse the transaction according
to a specified receipt number.

Figure 6 - Reverse Transaction workflow

3.3.1 Synchronous Mode Interface

Request
Endpoint HTTP
https://apigateway.unitel.co.ao:8343/v1/partners/1.0.0/reverseTransaction_v2

UNITEL,S.A. - SOFTWARE APPLICATIONS DEVELOPMENT DEPARTMENT Page 40 of 98


UNITEL MONEY API INTEGRATION FOR PARTNERS

Método HTTP:
POST

Headers HTTP:
Content-Type: application/json
Accept: application/json

Body parameter JSON to HTTP request:

Parameter Type Mandatory Description Sample


or Optional
Timestamp String Mandatory Date and time of 20220113204200
transaction generated by
the merchant.
yyyyMMddHHmmss
OriginatorConversationID String Mandatory Is an ID that uniquely test_00000000004
identifies the request
message generated by the
Merchant
Initiator IdentifierType String Mandatory Indicates the type of 12 (default)
identifier of identity
Initiator Identifier String Mandatory Indicates identifier of an dstvTestOp
identity

UNITEL,S.A. - SOFTWARE APPLICATIONS DEVELOPMENT DEPARTMENT Page 41 of 98


UNITEL MONEY API INTEGRATION FOR PARTNERS

SecurityCredential String Mandatory Is the encrypted Operator SppDoP73D9bAkPmQAa


pin provided by Unitel UQEUBlXvqJKq+es0qXIdZ
cvvn2K650Bh0+c9HrjCvH
42b6oBdBOOtjROmjGTKL
KeQh7j5IzAYKjLuGsrN5DZ
DqzuPQEfkRC4v5Cl/7+Xw
tnLWqq45Dz1UvevLiyZEv
h6t10ffpPlI/nU0wJ4OZcg
R+uOrhpuhmSKVTXoZQx
VFks5dzRGSW8B1rhZ7YJt
emBxmRF/0xMz1tECsW
McFkCz8pwF6W44CySAn
8ptTlXuz1n/mrejeYJU2M
hXTCvbm9Xk97nbu6XX2u
3wQn0P5lHNb4nU1gKtJS
ECJYa7sIi+EMUssqMC630
uTLiPS0b2i0zUOAnw==

ShortCode String Mandatory Merchant Identifier 00001708


provided by Unitel
OriginalReceiptNumber String Mandatory Indicates the original 9KM0005EOM
receipt number of the
transaction to be reversed.
"TransactionID":
"9KM0005EOM"
Amount String Mandatory Indicates the amount to be 50.00
reversed
Currency String Mandatory Transaction Currency AOA

Remark String Mandatory remark about reverse remark about reverse

Sample request
curl -X 'POST' \
'https://apigateway.unitel.co.ao:8343/v1/partners/1.0.0/reverseTransaction_v2' \
-H 'accept: */*' \

UNITEL,S.A. - SOFTWARE APPLICATIONS DEVELOPMENT DEPARTMENT Page 42 of 98


UNITEL MONEY API INTEGRATION FOR PARTNERS

-H 'Content-Type: application/json' \
-H 'Authorization: Bearer
eyJ4NXQiOiJOakF3TkdZMVpEUmpPV1V4WVdSaE9EZGpOMlJsTmpFMlpUSTJOVFptWmpZeVltWmh
ZekUwWlEiLCJraWQiOiJNbU15TkdVMFpERXpNV0l4WldObE9UbG1Nek5oTXpFMFpHTXdZV1UwT1
dVMU1EbGpPV0prTmpWalpEUm1OVFpsWTJWbFpUUmtORGN5T0RZd1ltTmpOd19SUzI1NiIsImFsZ
yI6IlJTMjU2In0.eyJzdWIiOiJhZG1pbiIsImF1dCI6IkFQUExJQ0FUSU9OIiwiYXVkIjoiQzZYYVZQOUtkM2F
ZMHVkUUg4b1hpaXM3eVV3YSIsIm5iZiI6MTY2OTIwOTE5OSwiYXpwIjoiQzZYYVZQOUtkM2FZMHVk
UUg4b1hpaXM3eVV3YSIsInNjb3BlIjoiZGVmYXVsdCIsImlzcyI6Imh0dHBzOlwvXC9sc3ZxYXNjb250cm
9sMDFhLmludGVybmFsLnVuaXRlbC5jby5hbzoke2h0dHBzLm5pby5wb3J0fVwvb2F1dGgyXC90b2tlb
iIsImV4cCI6MTY2OTIxMjc5OSwiaWF0IjoxNjY5MjA5MTk5LCJqdGkiOiJhZjNhNDMxNy00ZTY1LTQ4N
zQtOWZiNi05MGJiZTBjOTgyMGMifQ.LnDkZiB23Gv2REUQMud8jy-
hxo8237qoeL0G8lvRLTot7ooMCMy7x4vLZyiC92R9LkGElN3wT8Y6Hbzy9HBxoxS3N3IT_kqTjjJ9fsMO
wXkgf2Q_PYCJscUJ4_NwHv8K78O5zTlXcO5vXOdB2HYfeX-tZ-WrNh3Q3kYkztxp-
i9IxoyNxZEijJIuGFKhYV8KmTf5LYP5dnH67KJnmLf-K-qQ_lJoa5ixUeMs3dO5nAl8oKrj9-
LWFskEq_UU1SV5K_hFMdgaUYRzkKebe3tj0nPcPQBkIWLHxeSOlq_woefgW4TnU6e2IVXondK2AcO
xS9DwfLYHy2hRE4XNMFIMQg' \
-d '{
"ReverseTransRec": {
"Timestamp": "20220113204200",
"OriginatorConversationID": "S_X00003e222000000154",
"IdentityRec": {
"Initiator": {
"IdentifierType": 12,
"Identifier": "dstvTestOp",
"SecurityCredential":
"eo1ws3yGLA8RF5w3LNBl3W5wERKvFQHoTQvmCVPtBpJTFAuI9Gdtns4pTj5LEjJWIrBFnT1Mk7JGi3
4VLa5MKrXNrS4myI/fVdNKZlNejZFhrTMyybCqhh7mJuW5/R3JXvNs7tPGgB4/1PMqcL/oFBzeF5mX8
IZIG61pEsG45j4FX1vmPRUovq7rScKWv6ofa9Cpv/iT2rkinbaXt46jBWjfAhR/kdAkISLlJV1BY/3w3g3ss
fxWozy2WjzziFsmNomzc0iVV1jxaAMjFk0tz+lV9irjfRPOK6c+Rtxz8zNJGQyFX91yPrLGNQYwJRyBqNs
QoCrFD5zFl9QznxbNnQ==",
"ShortCode": "00001708"
}
},
"ReverseTransRec": {
"OriginalReceiptNumber": "9KM0005EOM",

UNITEL,S.A. - SOFTWARE APPLICATIONS DEVELOPMENT DEPARTMENT Page 43 of 98


UNITEL MONEY API INTEGRATION FOR PARTNERS

"Amount": “50.00”
},
"Remark": "remark about reverse"
}
}'

Response messages
{
"ReverseTransRs": {
"ReverseTransRec": {
"ConversationID": "AG_20221123_701043b6f74485316b8d",
"OriginatorConversationID": "S_X00003e222000000154",
"ResultType": 0,
"ResultCode": 0,
"ResultDesc": "Process service request successfully.",
"ReverseTransactionResult": {
"BOCompletedTime": 20221123141412
}
}
}
}

3.3.2 Asynchronous Mode Interface

Request
Endpoint HTTP
https://apigateway.unitel.co.ao:8343/v1/partners/1.0.0/reverseTransaction_async

Método HTTP:
POST

Headers HTTP:

UNITEL,S.A. - SOFTWARE APPLICATIONS DEVELOPMENT DEPARTMENT Page 44 of 98


UNITEL MONEY API INTEGRATION FOR PARTNERS

Content-Type: application/json
Accept: application/json

Body parameter JSON to HTTP request:

Parameter Type Mandatory Description Sample


or
Optional
Timestamp String Mandatory Date and time of 20220113204200
transaction
generated by the
merchant.
yyyyMMddHHmmss
OriginatorConversationID String Mandatory Is an ID that test_00000000004
uniquely identifies
the request
message generated
by the Merchant
Initiator IdentifierType String Mandatory Indicates the type 12 (default)
of identifier of
identity
Initiator Identifier String Mandatory Indicates identifier dstvTestOp
of an identity

UNITEL,S.A. - SOFTWARE APPLICATIONS DEVELOPMENT DEPARTMENT Page 45 of 98


UNITEL MONEY API INTEGRATION FOR PARTNERS

SecurityCredential String Mandatory Is the encrypted SppDoP73D9bAkPmQAa


Operator pin UQEUBlXvqJKq+es0qXIdZ
provided by Unitel cvvn2K650Bh0+c9HrjCvH
42b6oBdBOOtjROmjGTKL
KeQh7j5IzAYKjLuGsrN5DZ
DqzuPQEfkRC4v5Cl/7+Xw
tnLWqq45Dz1UvevLiyZEv
h6t10ffpPlI/nU0wJ4OZcg
R+uOrhpuhmSKVTXoZQx
VFks5dzRGSW8B1rhZ7YJt
emBxmRF/0xMz1tECsW
McFkCz8pwF6W44CySAn
8ptTlXuz1n/mrejeYJU2M
hXTCvbm9Xk97nbu6XX2u
3wQn0P5lHNb4nU1gKtJS
ECJYa7sIi+EMUssqMC630
uTLiPS0b2i0zUOAnw==

ShortCode String Mandatory Merchant Identifier 00001708


provided by Unitel
OriginalReceiptNumber String Mandatory Indicates the 9KM0005EOM
original receipt
number of the
transaction to be
reversed.
"TransactionID":
"9KM0005EOM"
Amount String Mandatory Indicates the 50.00
amount to be
reversed
Currency String Mandatory Transaction AOA
Currency
Remark String Mandatory remark about remark about reverse
reverse

Sample request
curl -X 'POST' \
'https://apigateway.unitel.co.ao:8343/v1/partners/1.0.0/reverseTransaction_async' \
-H 'accept: */*' \
-H 'Content-Type: application/json' \

UNITEL,S.A. - SOFTWARE APPLICATIONS DEVELOPMENT DEPARTMENT Page 46 of 98


UNITEL MONEY API INTEGRATION FOR PARTNERS

-H 'Authorization: Bearer
eyJ4NXQiOiJOakF3TkdZMVpEUmpPV1V4WVdSaE9EZGpOMlJsTmpFMlpUSTJOVFp
tWmpZeVltWmhZekUwWlEiLCJraWQiOiJNbU15TkdVMFpERXpNV0l4WldObE9UbG
1Nek5oTXpFMFpHTXdZV1UwT1dVMU1EbGpPV0prTmpWalpEUm1OVFpsWTJWbF
pUUmtORGN5T0RZd1ltTmpOd19SUzI1NiIsImFsZyI6IlJTMjU2In0.eyJzdWIiOiJhZG1p
biIsImF1dCI6IkFQUExJQ0FUSU9OIiwiYXVkIjoiQzZYYVZQOUtkM2FZMHVkUUg4b
1hpaXM3eVV3YSIsIm5iZiI6MTY3NTY3ODEwMiwiYXpwIjoiQzZYYVZQOUtkM2FZ
MHVkUUg4b1hpaXM3eVV3YSIsInNjb3BlIjoiZGVmYXVsdCIsImlzcyI6Imh0dHBzOlw
vXC9sc3ZxYXNjb250cm9sMDFhLmludGVybmFsLnVuaXRlbC5jby5hbzoke2h0dHBzL
m5pby5wb3J0fVwvb2F1dGgyXC90b2tlbiIsImV4cCI6MTY3NTY4MTcwMiwiaWF0Ijox
Njc1Njc4MTAyLCJqdGkiOiIxYmM5NTgxNi1iMTllLTRjNWUtOTdkNS0zZGIzZmVjN
WViMzAifQ.iGR108AOMMVE7f6TZh4_wxseAH3hK-
COOi5O1u_iti7OvLEsoYFtg8Sj6U3zoIDu0y4Tf7Jppc8nviUkR1JTvqLH71g8trXz2DuoCf
BDLYDdSb4BThn76x4uAFgT3yYoQ6Llo0GhGvNGif9-
qGKs8MRYdWaJIcdWLly6hu1yoMImWkFerPvk6ptIz88NiS1Yz0sEPPd2du_ic0_tH9qio
FLu6k-OlSQt5smX52bcT28NjdqcqIHJGp6jbjG-
Olu8oPyhgqsiPaEspU0g6nyGOVfbOZCuDKkIU07Ocy5x9p77kgXMPkvxHW8MHvi7Yv
x2YgKrbhy2ygJq7VAM-nOCjA' \
-d '{
"ReverseTransRec": {
"Timestamp": "20220113204200",
"OriginatorConversationID": "PremierBet_202302061128001",
"IdentityRec": {
"Initiator": {
"IdentifierType": 12,
"Identifier": "ApiPremier",
"SecurityCredential":
"foPQuRW7Qu8vZo8HoTyI96iFjCWl+B0gQ+RF/cVk1BTHSpcEesLGbRz21L5N8BD2t4
6dvGZS4N8eaj4QxWt4gGnZeipTXeU1ELv4BgWMWFycko2FMxCUMU3cr+Ih6gPzr51
XFE4Zce6hFPjjRLT5t1+JAlocGAMGdIdnqQhFLOm47Bb91FFik3lgvlXqmMKRVHw24
QmheWDC3J+dTPAuYjCjcEeLtvcgjRvlqvYvzFTtMPxXzHD5UzShrgTzvX7jffoDy1nlF
YEiTMcouvsZ0ZdhSavmj4IuMbrhDsopPF6ZwukRPexJ8t6EJS36PSqoVMeAKLUoa24kr
GdCIAOQEw==",
"ShortCode": "00001209"
}
},
"ReverseTransRec": {
"OriginalReceiptNumber": "AB36006244",
"Amount": 50
},
"Remark": "remark about transaction"

UNITEL,S.A. - SOFTWARE APPLICATIONS DEVELOPMENT DEPARTMENT Page 47 of 98


UNITEL MONEY API INTEGRATION FOR PARTNERS

}
}'

Response messages
{
"Response": {
"OriginatorConversationID": "PremierBet_202302061128001",
"ConversationID": "AG_20230206_70104b415dfd99193dea",
"ResponseCode": 0,
"ResponseDesc": "Accept the service request successfully.",
"ServiceStatus": 0
}
}

Result messages

The partner must provide an endpoint to receive this message.

Sucess

UNITEL,S.A. - SOFTWARE APPLICATIONS DEVELOPMENT DEPARTMENT Page 48 of 98


UNITEL MONEY API INTEGRATION FOR PARTNERS

<?xml version="1.0" encoding="UTF-8"?>


<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Body>
<api:Result xmlns:api="http://cps.huawei.com/cpsinterface/api_resultmgr"
xmlns:res="http://cps.huawei.com/cpsinterface/result">
<res:Header>
<res:Version>1.0</res:Version>

<res:OriginatorConversationID>PremierBet_202302061128001</res:OriginatorConversationID>
<res:ConversationID>AG_20230206_70104b415dfd99193dea</res:ConversationID>
</res:Header>
<res:Body>
<res:ResultType>0</res:ResultType>
<res:ResultCode>0</res:ResultCode>
<res:ResultDesc>Process service request successfully.</res:ResultDesc>
<res:ReverseTransactionResult>
<res:BOCompletedTime>20230206112919</res:BOCompletedTime>
<res:DebitPartyPublicName>00001209 - PremierBet</res:DebitPartyPublicName>
<res:CreditPartyPublicName>244930300680 - Paulo
Mbunga</res:CreditPartyPublicName>
<res:DebitAccountBalance>Organização - Conta de dinheiro
electrónico|AOA|5957.99|5957.99|0.00|0.00</res:DebitAccountBalance>
<res:TransCompletedTime>20230206112919</res:TransCompletedTime>
<res:Amount>50.00</res:Amount>
<res:Charge>0.00</res:Charge>
<res:ReceiptNumber>AB680062FK</res:ReceiptNumber>
<res:TransactionStatus>Completed</res:TransactionStatus>
<res:OriginalAmount>100.00</res:OriginalAmount>
<res:OriginalReceiptNumber>AB36006244</res:OriginalReceiptNumber>
</res:ReverseTransactionResult>

UNITEL,S.A. - SOFTWARE APPLICATIONS DEVELOPMENT DEPARTMENT Page 49 of 98


UNITEL MONEY API INTEGRATION FOR PARTNERS

</res:Body>
</api:Result>
</soapenv:Body>
</soapenv:Envelope>

Query Transaction Status

Organization operator can query the transaction status through the API channel. The SP
operator can query the status of any transactions. By default, an organization operator can

UNITEL,S.A. - SOFTWARE APPLICATIONS DEVELOPMENT DEPARTMENT Page 50 of 98


UNITEL MONEY API INTEGRATION FOR PARTNERS

query only the status of transactions initiated by operators of the initiator's organization. The
Mobile Money system also allows an organization operator to query the transaction status of
the organization to which the operator belongs as the credit or debit party. This interface is
invoked by a third party of the Mobile Money system to query the transaction status
according to a specified OriginatorConversationID.

Figure 7 - Query Transaction Status workflow

3.4.1 Synchronous Mode Interface

Request
Endpoint HTTP

UNITEL,S.A. - SOFTWARE APPLICATIONS DEVELOPMENT DEPARTMENT Page 51 of 98


UNITEL MONEY API INTEGRATION FOR PARTNERS

https://apigateway.unitel.co.ao:8343/v1/partners/1.0.0/queryTransactionStatus_v2
Método HTTP:
POST

Headers HTTP:
Content-Type: application/json
Accept: application/json

Body parameter JSON to HTTP request:

Parameter Type Mandatory Description Sample


or Optional
Timestamp String Mandatory Date and time of 20220113204200
transaction generated by
the merchant.
yyyyMMddHHmmss
OriginatorConversationID String Mandatory Is an ID that uniquely test_00000000006
identifies the request
message generated by the
Merchant
Initiator IdentifierType String Mandatory Indicates the type of 12 (default)
identifier of identity
Initiator Identifier String Mandatory Indicates identifier of an dstvTestOp
identity

UNITEL,S.A. - SOFTWARE APPLICATIONS DEVELOPMENT DEPARTMENT Page 52 of 98


UNITEL MONEY API INTEGRATION FOR PARTNERS

SecurityCredential String Mandatory Is the encrypted Operator SppDoP73D9bAkPmQAa


pin provided by Unitel UQEUBlXvqJKq+es0qXIdZ
cvvn2K650Bh0+c9HrjCvH
42b6oBdBOOtjROmjGTKL
KeQh7j5IzAYKjLuGsrN5DZ
DqzuPQEfkRC4v5Cl/7+Xw
tnLWqq45Dz1UvevLiyZEv
h6t10ffpPlI/nU0wJ4OZcg
R+uOrhpuhmSKVTXoZQx
VFks5dzRGSW8B1rhZ7YJt
emBxmRF/0xMz1tECsW
McFkCz8pwF6W44CySAn
8ptTlXuz1n/mrejeYJU2M
hXTCvbm9Xk97nbu6XX2u
3wQn0P5lHNb4nU1gKtJS
ECJYa7sIi+EMUssqMC630
uTLiPS0b2i0zUOAnw==

ShortCode String Mandatory Merchant Identifier 00001708


provided by Unitel
OriginalConversationID String Mandatory Indicates the test_20201122124600001
OriginatorConversationID
of the transaction on which
you want the status
Remark String Mandatory remark about transaction remark about transaction

Sample request

curl -X 'POST' \
'https://apigateway.unitel.co.ao:8343/v1/partners/1.0.0/queryTransactionStatus_v2' \
-H 'accept: */*' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer
eyJ4NXQiOiJOakF3TkdZMVpEUmpPV1V4WVdSaE9EZGpOMlJsTmpFMlpUSTJOVFptWmpZeVltWmh
ZekUwWlEiLCJraWQiOiJNbU15TkdVMFpERXpNV0l4WldObE9UbG1Nek5oTXpFMFpHTXdZV1UwT1
dVMU1EbGpPV0prTmpWalpEUm1OVFpsWTJWbFpUUmtORGN5T0RZd1ltTmpOd19SUzI1NiIsImFsZ
yI6IlJTMjU2In0.eyJzdWIiOiJhZG1pbiIsImF1dCI6IkFQUExJQ0FUSU9OIiwiYXVkIjoiQzZYYVZQOUtkM2F
ZMHVkUUg4b1hpaXM3eVV3YSIsIm5iZiI6MTY2OTIxOTQyOCwiYXpwIjoiQzZYYVZQOUtkM2FZMHVk
UUg4b1hpaXM3eVV3YSIsInNjb3BlIjoiZGVmYXVsdCIsImlzcyI6Imh0dHBzOlwvXC9sc3ZxYXNjb250cm
9sMDFhLmludGVybmFsLnVuaXRlbC5jby5hbzoke2h0dHBzLm5pby5wb3J0fVwvb2F1dGgyXC90b2tlb

UNITEL,S.A. - SOFTWARE APPLICATIONS DEVELOPMENT DEPARTMENT Page 53 of 98


UNITEL MONEY API INTEGRATION FOR PARTNERS

iIsImV4cCI6MTY2OTIyMzAyOCwiaWF0IjoxNjY5MjE5NDI4LCJqdGkiOiJkYzhmNDlhMy01YzczLTQ1N
mUtODA1Mi0yMTZmYTEyYmE5MmMifQ.fRYtbHaDI91tC68KQ7gBP_MFOMTDB7rXjTANEmsX0Jt44
Asoc4-
vkrUELVQEt0eEIgdMr5U_RC0eaMUeqesYPVOqY1npPb801rK3aK9DZ73mkNzvD05DFiKKEmoxBSG9
uLkgj66_8TBTXGYPmjQuqaEXLIj6PYT3ZCNXZZmfdiEkLgdQZYkCBI7zaEWX-
dwxB7Dz1UZULQWqsMHCJRtsgaNKBvtF6DChoJB5g3CvBNIz22eaqBAig6hRsBjTzxK9d_NuNPOaHVT
-5VIWi9h950GPjP_4cXUgk18h5oUH_pku_3RMR-4fPdchppKieGdKkWW_eOxSc-1v0PPGyYp4lA' \
-d '{
"QueryTranStatusRec": {
"Timestamp": "20220113204200",
"OriginatorConversationID": "teste_202211231702001",
"IdentityRec": {
"Initiator": {
"IdentifierType": 12,
"Identifier": "dstvTestOp",
"SecurityCredential":
"eo1ws3yGLA8RF5w3LNBl3W5wERKvFQHoTQvmCVPtBpJTFAuI9Gdtns4pTj5LEjJWIrBFnT1Mk7JGi3
4VLa5MKrXNrS4myI/fVdNKZlNejZFhrTMyybCqhh7mJuW5/R3JXvNs7tPGgB4/1PMqcL/oFBzeF5mX8
IZIG61pEsG45j4FX1vmPRUovq7rScKWv6ofa9Cpv/iT2rkinbaXt46jBWjfAhR/kdAkISLlJV1BY/3w3g3ss
fxWozy2WjzziFsmNomzc0iVV1jxaAMjFk0tz+lV9irjfRPOK6c+Rtxz8zNJGQyFX91yPrLGNQYwJRyBqNs
QoCrFD5zFl9QznxbNnQ==",
"ShortCode": "00001708"
}
},
"QueryTransactionStatusRequest": {
"OriginalConversationID": "test_20201122124600001"
},
"Remark": ""
}
}'

Response

{
"QueryTransStatusRs": {
"ResultType": 0,
"ResultCode": 0,
"ResultDesc": "Process service request successfully.",
"Transaction": {
"BOCompletedTime": "20221123170426",

UNITEL,S.A. - SOFTWARE APPLICATIONS DEVELOPMENT DEPARTMENT Page 54 of 98


UNITEL MONEY API INTEGRATION FOR PARTNERS

"ReceiptNumber": "9KM2005EOO",
"TransactionStatus": "Completed"
}
}
}

{
"QueryTransStatusRs": {
"ResultType": 0,
"ResultCode": 0,
"ResultDesc": "Process service request successfully.",
"Transaction": {
"BOCompletedTime": "20221220170426",
"ReceiptNumber": "9KM2005EAA",
"TransactionStatus": "Declined"
}
}
}

{
"QueryTransStatusRs": {
"ResultType": 0,
"ResultCode": 3011,
"ResultDesc": "The historical service or associated service does not exist, or the
historical service or associated service is abnormal.",
"QueryTransactionStatusResult": {
"BOCompletedTime": "20230214071439"
}
}
}

UNITEL,S.A. - SOFTWARE APPLICATIONS DEVELOPMENT DEPARTMENT Page 55 of 98


UNITEL MONEY API INTEGRATION FOR PARTNERS

3.4.2 Asynchronous Mode Interface

Request
Endpoint HTTP
https://apigateway.unitel.co.ao:8343/v1/partners/1.0.0/queryTransactionStatus_ async
Método HTTP:
POST

Headers HTTP:
Content-Type: application/json
Accept: application/json

Body parameter JSON to HTTP request:

Parameter Type Mandatory Description Sample


or
Optional
Timestamp String Mandatory Date and time of 20220113204200
transaction generated by
the merchant.
yyyyMMddHHmmss
OriginatorConversationID String Mandatory Is an ID that uniquely test_00000000006
identifies the request
message generated by
the Merchant
Initiator IdentifierType String Mandatory Indicates the type of 12 (default)
identifier of identity
Initiator Identifier String Mandatory Indicates identifier of an dstvTestOp
identity

UNITEL,S.A. - SOFTWARE APPLICATIONS DEVELOPMENT DEPARTMENT Page 56 of 98


UNITEL MONEY API INTEGRATION FOR PARTNERS

SecurityCredential String Mandatory Is the encrypted SppDoP73D9bAkPmQAa


Operator pin provided by UQEUBlXvqJKq+es0qXIdZ
Unitel cvvn2K650Bh0+c9HrjCvH
42b6oBdBOOtjROmjGTKL
KeQh7j5IzAYKjLuGsrN5DZ
DqzuPQEfkRC4v5Cl/7+Xw
tnLWqq45Dz1UvevLiyZEv
h6t10ffpPlI/nU0wJ4OZcg
R+uOrhpuhmSKVTXoZQx
VFks5dzRGSW8B1rhZ7YJt
emBxmRF/0xMz1tECsW
McFkCz8pwF6W44CySAn
8ptTlXuz1n/mrejeYJU2M
hXTCvbm9Xk97nbu6XX2u
3wQn0P5lHNb4nU1gKtJS
ECJYa7sIi+EMUssqMC630
uTLiPS0b2i0zUOAnw==

ShortCode String Mandatory Merchant Identifier 00001708


provided by Unitel
OriginalConversationID String Mandatory Indicates the test_20201122124600001
OriginatorConversationID
of the transaction on
which you want the
status
Remark String Mandatory remark about transaction remark about transaction

Sample Request
curl -X 'POST' \
'https://apigateway.unitel.co.ao:8343/v1/partners/1.0.0/queryTransactionStatus_async' \
-H 'accept: */*' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer
eyJ4NXQiOiJOakF3TkdZMVpEUmpPV1V4WVdSaE9EZGpOMlJsTmpFMlpUSTJOVFp
tWmpZeVltWmhZekUwWlEiLCJraWQiOiJNbU15TkdVMFpERXpNV0l4WldObE9UbG
1Nek5oTXpFMFpHTXdZV1UwT1dVMU1EbGpPV0prTmpWalpEUm1OVFpsWTJWbF
pUUmtORGN5T0RZd1ltTmpOd19SUzI1NiIsImFsZyI6IlJTMjU2In0.eyJzdWIiOiJhZG1p
biIsImF1dCI6IkFQUExJQ0FUSU9OIiwiYXVkIjoiQzZYYVZQOUtkM2FZMHVkUUg4b
1hpaXM3eVV3YSIsIm5iZiI6MTY3NTY3ODEwMiwiYXpwIjoiQzZYYVZQOUtkM2FZ
MHVkUUg4b1hpaXM3eVV3YSIsInNjb3BlIjoiZGVmYXVsdCIsImlzcyI6Imh0dHBzOlw

UNITEL,S.A. - SOFTWARE APPLICATIONS DEVELOPMENT DEPARTMENT Page 57 of 98


UNITEL MONEY API INTEGRATION FOR PARTNERS

vXC9sc3ZxYXNjb250cm9sMDFhLmludGVybmFsLnVuaXRlbC5jby5hbzoke2h0dHBzL
m5pby5wb3J0fVwvb2F1dGgyXC90b2tlbiIsImV4cCI6MTY3NTY4MTcwMiwiaWF0Ijox
Njc1Njc4MTAyLCJqdGkiOiIxYmM5NTgxNi1iMTllLTRjNWUtOTdkNS0zZGIzZmVjN
WViMzAifQ.iGR108AOMMVE7f6TZh4_wxseAH3hK-
COOi5O1u_iti7OvLEsoYFtg8Sj6U3zoIDu0y4Tf7Jppc8nviUkR1JTvqLH71g8trXz2DuoCf
BDLYDdSb4BThn76x4uAFgT3yYoQ6Llo0GhGvNGif9-
qGKs8MRYdWaJIcdWLly6hu1yoMImWkFerPvk6ptIz88NiS1Yz0sEPPd2du_ic0_tH9qio
FLu6k-OlSQt5smX52bcT28NjdqcqIHJGp6jbjG-
Olu8oPyhgqsiPaEspU0g6nyGOVfbOZCuDKkIU07Ocy5x9p77kgXMPkvxHW8MHvi7Yv
x2YgKrbhy2ygJq7VAM-nOCjA' \
-d '{
"QueryTranStatusRec": {
"Timestamp": "20220113204200",
"OriginatorConversationID": "PremierBet_202302061157001",
"IdentityRec": {
"Initiator": {
"IdentifierType": 12,
"Identifier": "ApiPremier",
"SecurityCredential":
"foPQuRW7Qu8vZo8HoTyI96iFjCWl+B0gQ+RF/cVk1BTHSpcEesLGbRz21L5N8BD2t4
6dvGZS4N8eaj4QxWt4gGnZeipTXeU1ELv4BgWMWFycko2FMxCUMU3cr+Ih6gPzr51
XFE4Zce6hFPjjRLT5t1+JAlocGAMGdIdnqQhFLOm47Bb91FFik3lgvlXqmMKRVHw24
QmheWDC3J+dTPAuYjCjcEeLtvcgjRvlqvYvzFTtMPxXzHD5UzShrgTzvX7jffoDy1nlF
YEiTMcouvsZ0ZdhSavmj4IuMbrhDsopPF6ZwukRPexJ8t6EJS36PSqoVMeAKLUoa24kr
GdCIAOQEw==",
"ShortCode": "00001209"
}
},
"QueryTransactionStatusRequest": {
"OriginalConversationID": "PremierBet_202302061155001"
},
"Remark": "remark about transaction"
}
}

'

Response messages

UNITEL,S.A. - SOFTWARE APPLICATIONS DEVELOPMENT DEPARTMENT Page 58 of 98


UNITEL MONEY API INTEGRATION FOR PARTNERS

"Response": {
"OriginatorConversationID": "PremierBet_202302061157001",
"ConversationID": "AG_20230206_70102e3aedc725dc30ff",
"ResponseCode": 0,
"ResponseDesc": "Accept the service request successfully.",
"ServiceStatus": 0
}
}

Result messages
The partner must provide an endpoint to receive this message.

completed

<?xml version="1.0" encoding="UTF-8"?>


<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Body>
<api:Result xmlns:api="http://cps.huawei.com/cpsinterface/api_resultmgr"
xmlns:res="http://cps.huawei.com/cpsinterface/result">
<res:Header>
<res:Version>1.0</res:Version>

<res:OriginatorConversationID>PremierBet_202302061157001</res:OriginatorConversati
onID>
<res:ConversationID>AG_20230206_70102e3aedc725dc30ff</res:ConversationID>
</res:Header>
<res:Body>
<res:ResultType>0</res:ResultType>
<res:ResultCode>0</res:ResultCode>
<res:ResultDesc>Process service request successfully.</res:ResultDesc>
<res:QueryTransactionStatusResult>
<res:BOCompletedTime>20230206115752</res:BOCompletedTime>
<res:ReceiptNumber>AB650062HP</res:ReceiptNumber>
<res:TransactionStatus>Completed</res:TransactionStatus>
</res:QueryTransactionStatusResult>

UNITEL,S.A. - SOFTWARE APPLICATIONS DEVELOPMENT DEPARTMENT Page 59 of 98


UNITEL MONEY API INTEGRATION FOR PARTNERS

</res:Body>
</api:Result>
</soapenv:Body>
</soapenv:Envelope>

declined

<?xml version="1.0" encoding="UTF-8"?>


<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Body>
<api:Result xmlns:api="http://cps.huawei.com/cpsinterface/api_resultmgr"
xmlns:res="http://cps.huawei.com/cpsinterface/result">
<res:Header>
<res:Version>1.0</res:Version>

<res:OriginatorConversationID>PremierBet_202302061212001</res:OriginatorConversati
onID>

<res:ConversationID>AG_20230206_70102011ab2dc79da58a</res:ConversationID>
</res:Header>
<res:Body>
<res:ResultType>0</res:ResultType>
<res:ResultCode>0</res:ResultCode>
<res:ResultDesc>Process service request successfully.</res:ResultDesc>
<res:QueryTransactionStatusResult>
<res:BOCompletedTime>20230206121405</res:BOCompletedTime>
<res:ReceiptNumber>AB630062I7</res:ReceiptNumber>
<res:TransactionStatus>Declined</res:TransactionStatus>
</res:QueryTransactionStatusResult>
</res:Body>
</api:Result>
</soapenv:Body>
</soapenv:Envelope>

UNITEL,S.A. - SOFTWARE APPLICATIONS DEVELOPMENT DEPARTMENT Page 60 of 98


UNITEL MONEY API INTEGRATION FOR PARTNERS

Error result message:

<?xml version="1.0" encoding="UTF-8"?>


<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Body>
<api:Result xmlns:api="http://cps.huawei.com/cpsinterface/api_resultmgr"
xmlns:res="http://cps.huawei.com/cpsinterface/result">
<res:Header>
<res:Version>1.0</res:Version>

<res:OriginatorConversationID>PremierBet_202302061157002</res:OriginatorConversati
onID>

<res:ConversationID>AG_20230206_7010783cd925a87a586d</res:ConversationID>
</res:Header>
<res:Body>
<res:ResultType>0</res:ResultType>
<res:ResultCode>3011</res:ResultCode>
<res:ResultDesc>The historical service or associated service does not exist, or the
historical service or associated service is abnormal.</res:ResultDesc>
<res:QueryTransactionStatusResult>
<res:BOCompletedTime>20230206120254</res:BOCompletedTime>
</res:QueryTransactionStatusResult>
</res:Body>
</api:Result>
</soapenv:Body>
</soapenv:Envelope>

UNITEL,S.A. - SOFTWARE APPLICATIONS DEVELOPMENT DEPARTMENT Page 61 of 98


UNITEL MONEY API INTEGRATION FOR PARTNERS

Individual B2C Payment

The Mobile Money system supports the service of making an individual B2C payment that
allows an organization to pay for individual customers. The recipient can be a registered or
unregistered customer. A withdrawal voucher will be sent if the recipient is an unregistered
customer. The recipient (unregistered customer) can withdraw money at an agent using the
voucher. This interface is invoked by a third party of the Mobile Money system to initiate an
individual B2C payment transaction.

Figure 8 – Individual B2C Payment workflow

3.5.1 Synchronous Mode Interface

Request
Endpoint HTTP
https://apigateway.unitel.co.ao:8343/v1/partners/1.0.0/individualB2CPayment_sync
Método HTTP:

UNITEL,S.A. - SOFTWARE APPLICATIONS DEVELOPMENT DEPARTMENT Page 62 of 98


UNITEL MONEY API INTEGRATION FOR PARTNERS

POST

Headers HTTP:
Content-Type: application/json
Accept: application/json

Body parameter JSON to HTTP request:

Parameter Type Mandatory Description Sample


or Optional
Timestamp String Mandatory Date and time of 20220113204200
transaction generated by
the merchant.
yyyyMMddHHmmss
OriginatorConversationID String Mandatory Is an ID that uniquely test_00000000004
identifies the request
message generated by the
Merchant
Initiator IdentifierType String Mandatory Indicates the type of 12 (default)
identifier of identity
Initiator Identifier String Mandatory Indicates identifier of an dstvTestOp
identity
SecurityCredential String Mandatory Is the encrypted Operator SppDoP73D9bAkPmQAa
pin provided by Unitel UQEUBlXvqJKq+es0qXIdZ
cvvn2K650Bh0+c9HrjCvH
42b6oBdBOOtjROmjGTKL
KeQh7j5IzAYKjLuGsrN5DZ
DqzuPQEfkRC4v5Cl/7+Xw
tnLWqq45Dz1UvevLiyZEv
h6t10ffpPlI/nU0wJ4OZcg
R+uOrhpuhmSKVTXoZQx
VFks5dzRGSW8B1rhZ7YJt
emBxmRF/0xMz1tECsW
McFkCz8pwF6W44CySAn
8ptTlXuz1n/mrejeYJU2M
hXTCvbm9Xk97nbu6XX2u
3wQn0P5lHNb4nU1gKtJS
ECJYa7sIi+EMUssqMC630
uTLiPS0b2i0zUOAnw==

UNITEL,S.A. - SOFTWARE APPLICATIONS DEVELOPMENT DEPARTMENT Page 63 of 98


UNITEL MONEY API INTEGRATION FOR PARTNERS

ShortCode String Mandatory Merchant Identifier 00001708


provided by Unitel
Receiver Party Identifier number Mandatory Indicates the type of 1 (default)
Type Organization ShortCode
identifier
Receiver Party Identifier String Mandatory Customer's Number 930300680

Amount String Mandatory Indicates the amount to be 50.00


payment
Currency String Mandatory Transaction Currency AOA

Key String Mandatory Reference Item Key POSDeviceID (default)

Value String Mandatory Indicates the Operator's POS234789


terminal
Remark String Mandatory remark about payment remark about payment

Sample request
curl -X 'POST' \
'https://apigateway.unitel.co.ao:8343/v1/partners/1.0.0/individualB2CPayment_sync' \
-H 'accept: */*' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer
eyJ4NXQiOiJOakF3TkdZMVpEUmpPV1V4WVdSaE9EZGpOMlJsTmpFMlpUSTJOVFptWmpZeVltWmh
ZekUwWlEiLCJraWQiOiJNbU15TkdVMFpERXpNV0l4WldObE9UbG1Nek5oTXpFMFpHTXdZV1UwT1
dVMU1EbGpPV0prTmpWalpEUm1OVFpsWTJWbFpUUmtORGN5T0RZd1ltTmpOd19SUzI1NiIsImFsZ
yI6IlJTMjU2In0.eyJzdWIiOiJhZG1pbiIsImF1dCI6IkFQUExJQ0FUSU9OIiwiYXVkIjoiQzZYYVZQOUtkM2F
ZMHVkUUg4b1hpaXM3eVV3YSIsIm5iZiI6MTY3ODkyNDQ2NSwiYXpwIjoiQzZYYVZQOUtkM2FZMHV
kUUg4b1hpaXM3eVV3YSIsInNjb3BlIjoiZGVmYXVsdCIsImlzcyI6Imh0dHBzOlwvXC9sc3ZxYXNjb250c
m9sMDFhLmludGVybmFsLnVuaXRlbC5jby5hbzoke2h0dHBzLm5pby5wb3J0fVwvb2F1dGgyXC90b2t
lbiIsImV4cCI6MTY3ODkyODA2NSwiaWF0IjoxNjc4OTI0NDY1LCJqdGkiOiJkZGM5OTVmOS1jODVmLT
Q0YTctYTBhYy1hYWY5YmY2NDljNDEifQ.RFhOzDpeb8cTrPlBU0xGFtfM3Ozt1flRyBPmQgKVUq-
TpuOgKwtsEF8SLOQJtjciOUJSvEijzF6XQhC3ZdVJgJSdFXwawAZqP1g6QFsEiHp6_ML1SprUcFySmKTe

UNITEL,S.A. - SOFTWARE APPLICATIONS DEVELOPMENT DEPARTMENT Page 64 of 98


UNITEL MONEY API INTEGRATION FOR PARTNERS

sNxpgCXjpSwJnQBi6SVCJqg7mCh1EIMAQLzOHZFhYfH9267EVKVg2FNHcgJJA1OUCwzYrSKPhjYobFY
pgQEuzjZcXTDyWL5QkknID06jPzGRvl9axo_1HIA5x_z1iKhyfNcilCH2KY8VW1FNZJzefNQGNEI6oOMC
Dz3W718I-crWa5_8D8ZunzTWt9-bncZ7JWSoDPkrljEe3-7gJFkuYHoECg' \
-d '{
"IndividualB2CPayment": {

"Timestamp": "20130402152345",

"OriginatorConversationID": "Teste_2023021300277uuii8",

"Identity": {
"Initiator": {
"IdentifierType": 12,
"Identifier": "ApiPremier",
"SecurityCredential":
"foPQuRW7Qu8vZo8HoTyI96iFjCWl+B0gQ+RF/cVk1BTHSpcEesLGbRz21L5N8BD2t46dvGZS4N8eaj4
QxWt4gGnZeipTXeU1ELv4BgWMWFycko2FMxCUMU3cr+Ih6gPzr51XFE4Zce6hFPjjRLT5t1+JAlocGA
MGdIdnqQhFLOm47Bb91FFik3lgvlXqmMKRVHw24QmheWDC3J+dTPAuYjCjcEeLtvcgjRvlqvYvzFTt
MPxXzHD5UzShrgTzvX7jffoDy1nlFYEiTMcouvsZ0ZdhSavmj4IuMbrhDsopPF6ZwukRPexJ8t6EJS36PS
qoVMeAKLUoa24krGdCIAOQEw==",
"ShortCode": "00001209"
},
"ReceiverParty": {
"IdentifierType": 1,
"Identifier": "930300680"
}
},
"TransactionRequest": {
"Parameters": {
"Amount": 100,
"Currency": "AOA",

UNITEL,S.A. - SOFTWARE APPLICATIONS DEVELOPMENT DEPARTMENT Page 65 of 98


UNITEL MONEY API INTEGRATION FOR PARTNERS

}
},
"ReferenceData": {
"ReferenceItem": {
"Key": "POSDeviceID",
"Value": "POS234789"
}
},
"Remark": "remark about payment"
}

}'

Response messages
{
"Result": {
"OriginatorConversationID": "Teste_2023021300277uuii8",
"ConversationID": "AG_20230316_701031c99b0fc2af794d",
"ResultType": 0,
"ResultCode": 0,
"ResultDesc": "Process service request successfully.",
"TransactionResult": {
"TransactionID": "ACG0006MRU"
}
}
}

UNITEL,S.A. - SOFTWARE APPLICATIONS DEVELOPMENT DEPARTMENT Page 66 of 98


UNITEL MONEY API INTEGRATION FOR PARTNERS

3.5.2 Asynchronous Mode Interface

Request
Endpoint HTTP
https://apigateway.unitel.co.ao:8343/v1/partners/1.0.0/individualB2CPayment_async

Método HTTP:
POST

Headers HTTP:
Content-Type: application/json
Accept: application/json

Body parameter JSON to HTTP request:


Parameter Type Mandatory Description Sample
or Optional
Timestamp String Mandatory Date and time of 20220113204200
transaction generated by
the merchant.
yyyyMMddHHmmss
OriginatorConversationID String Mandatory Is an ID that uniquely test_00000000004
identifies the request
message generated by the
Merchant
Initiator IdentifierType String Mandatory Indicates the type of 12 (default)
identifier of identity
Initiator Identifier String Mandatory Indicates identifier of an dstvTestOp
identity

UNITEL,S.A. - SOFTWARE APPLICATIONS DEVELOPMENT DEPARTMENT Page 67 of 98


UNITEL MONEY API INTEGRATION FOR PARTNERS

SecurityCredential String Mandatory Is the encrypted Operator SppDoP73D9bAkPmQAa


pin provided by Unitel UQEUBlXvqJKq+es0qXIdZ
cvvn2K650Bh0+c9HrjCvH
42b6oBdBOOtjROmjGTKL
KeQh7j5IzAYKjLuGsrN5DZ
DqzuPQEfkRC4v5Cl/7+Xw
tnLWqq45Dz1UvevLiyZEv
h6t10ffpPlI/nU0wJ4OZcg
R+uOrhpuhmSKVTXoZQx
VFks5dzRGSW8B1rhZ7YJt
emBxmRF/0xMz1tECsW
McFkCz8pwF6W44CySAn
8ptTlXuz1n/mrejeYJU2M
hXTCvbm9Xk97nbu6XX2u
3wQn0P5lHNb4nU1gKtJS
ECJYa7sIi+EMUssqMC630
uTLiPS0b2i0zUOAnw==

ShortCode String Mandatory Merchant Identifier 00001708


provided by Unitel
Receiver Party Identifier number Mandatory Indicates the type of 1 (default)
Type Organization ShortCode
identifier
Receiver Party Identifier String Mandatory Customer's Number 930300680

Amount String Mandatory Indicates the amount to be 50.00


payment
Currency String Mandatory Transaction Currency AOA

Key String Mandatory Reference Item Key POSDeviceID (default)

Value String Mandatory Indicates the Operator's POS234789


terminal
Remark String Mandatory remark about payment remark about payment

Sample request
curl -X 'POST' \
'https://apigateway.unitel.co.ao:8343/v1/partners/1.0.0/individualB2CPayment_async' \

UNITEL,S.A. - SOFTWARE APPLICATIONS DEVELOPMENT DEPARTMENT Page 68 of 98


UNITEL MONEY API INTEGRATION FOR PARTNERS

-H 'accept: */*' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer
eyJ4NXQiOiJOakF3TkdZMVpEUmpPV1V4WVdSaE9EZGpOMlJsTmpFMlpUSTJOVFptWmpZeVltWmh
ZekUwWlEiLCJraWQiOiJNbU15TkdVMFpERXpNV0l4WldObE9UbG1Nek5oTXpFMFpHTXdZV1UwT1
dVMU1EbGpPV0prTmpWalpEUm1OVFpsWTJWbFpUUmtORGN5T0RZd1ltTmpOd19SUzI1NiIsImFsZ
yI6IlJTMjU2In0.eyJzdWIiOiJhZG1pbiIsImF1dCI6IkFQUExJQ0FUSU9OIiwiYXVkIjoiQzZYYVZQOUtkM2F
ZMHVkUUg4b1hpaXM3eVV3YSIsIm5iZiI6MTY3ODkyNDQ2NSwiYXpwIjoiQzZYYVZQOUtkM2FZMHV
kUUg4b1hpaXM3eVV3YSIsInNjb3BlIjoiZGVmYXVsdCIsImlzcyI6Imh0dHBzOlwvXC9sc3ZxYXNjb250c
m9sMDFhLmludGVybmFsLnVuaXRlbC5jby5hbzoke2h0dHBzLm5pby5wb3J0fVwvb2F1dGgyXC90b2t
lbiIsImV4cCI6MTY3ODkyODA2NSwiaWF0IjoxNjc4OTI0NDY1LCJqdGkiOiJkZGM5OTVmOS1jODVmLT
Q0YTctYTBhYy1hYWY5YmY2NDljNDEifQ.RFhOzDpeb8cTrPlBU0xGFtfM3Ozt1flRyBPmQgKVUq-
TpuOgKwtsEF8SLOQJtjciOUJSvEijzF6XQhC3ZdVJgJSdFXwawAZqP1g6QFsEiHp6_ML1SprUcFySmKTe
sNxpgCXjpSwJnQBi6SVCJqg7mCh1EIMAQLzOHZFhYfH9267EVKVg2FNHcgJJA1OUCwzYrSKPhjYobFY
pgQEuzjZcXTDyWL5QkknID06jPzGRvl9axo_1HIA5x_z1iKhyfNcilCH2KY8VW1FNZJzefNQGNEI6oOMC
Dz3W718I-crWa5_8D8ZunzTWt9-bncZ7JWSoDPkrljEe3-7gJFkuYHoECg' \
-d '{
"IndividualB2CPayment": {
"Timestamp": "20130402152345",
"OriginatorConversationID": "Teste_202302130027r21001",
"Identity": {
"Initiator": {
"IdentifierType": 12,
"Identifier": "ApiPremier",
"SecurityCredential":
"foPQuRW7Qu8vZo8HoTyI96iFjCWl+B0gQ+RF/cVk1BTHSpcEesLGbRz21L5N8BD2t46dvGZS4N8eaj4
QxWt4gGnZeipTXeU1ELv4BgWMWFycko2FMxCUMU3cr+Ih6gPzr51XFE4Zce6hFPjjRLT5t1+JAlocGA
MGdIdnqQhFLOm47Bb91FFik3lgvlXqmMKRVHw24QmheWDC3J+dTPAuYjCjcEeLtvcgjRvlqvYvzFTt
MPxXzHD5UzShrgTzvX7jffoDy1nlFYEiTMcouvsZ0ZdhSavmj4IuMbrhDsopPF6ZwukRPexJ8t6EJS36PS
qoVMeAKLUoa24krGdCIAOQEw==",
"ShortCode": "00001209"
},
"ReceiverParty": {
"IdentifierType": 1,
"Identifier": "930300680"

UNITEL,S.A. - SOFTWARE APPLICATIONS DEVELOPMENT DEPARTMENT Page 69 of 98


UNITEL MONEY API INTEGRATION FOR PARTNERS

}
},
"TransactionRequest": {
"Parameters": {
"Amount": 300,
"Currency": "AOA",
"ReasonType": "Individual B2C Payment to Registered Customer"
}
},
"ReferenceData": {
"ReferenceItem": {
"Key": "POSDeviceID",
"Value": "POS234789"
}
},
"Remark": "remark about payment"
}
}'

Response messages
{
"Response": {
"OriginatorConversationID": "Teste_202302130027r21001",
"ConversationID": "AG_20230316_7010574cd68d320d0627",
"ResponseCode": 0,
"ResponseDesc": "Accept the service request successfully.",
"ServiceStatus": 0
}
}

UNITEL,S.A. - SOFTWARE APPLICATIONS DEVELOPMENT DEPARTMENT Page 70 of 98


UNITEL MONEY API INTEGRATION FOR PARTNERS

Result messages

The partner must provide an endpoint to receive this message.

<?xml version="1.0" encoding="UTF-8"?>


<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Body>
<api:Result xmlns:api="http://cps.huawei.com/cpsinterface/api_resultmgr"
xmlns:com="http://cps.huawei.com/cpsinterface/common"
xmlns:res="http://cps.huawei.com/cpsinterface/result">
<res:Header>
<res:Version>1.0</res:Version>

<res:OriginatorConversationID>Teste_202302130027r21001</res:OriginatorConversationID>
<res:ConversationID>AG_20230316_7010574cd68d320d0627</res:ConversationID>
</res:Header>
<res:Body>
<res:ResultType>0</res:ResultType>
<res:ResultCode>0</res:ResultCode>
<res:ResultDesc>Process service request successfully.</res:ResultDesc>
<res:TransactionResult>
<res:TransactionID>ACG9006MRT</res:TransactionID>
<res:ResultParameters>
<res:ResultParameter>
<com:Key>DebitBalance</com:Key>
<com:Value/>
</res:ResultParameter>
<res:ResultParameter>

UNITEL,S.A. - SOFTWARE APPLICATIONS DEVELOPMENT DEPARTMENT Page 71 of 98


UNITEL MONEY API INTEGRATION FOR PARTNERS

<com:Key>CreditBalance</com:Key>
<com:Value>{"total":[{"amount":"907037.59","currency":"AOA"}],"list":[{"amount":"803670.09","
accountno":"100000000110451562","currency":"AOA","accounttypename":"Customer E-Money
Account"},{"amount":"103367.50","accountno":"100000000110481056","currency":"AOA","accou
nttypename":"Customer Incentive Account"}]}</com:Value>
</res:ResultParameter>
</res:ResultParameters>
</res:TransactionResult>
<res:ReferenceData>
<res:ReferenceItem>
<com:Key>POSDeviceID</com:Key>
<com:Value>POS234789</com:Value>
</res:ReferenceItem>
</res:ReferenceData>
</res:Body>
</api:Result>
</soapenv:Body>
</soapenv:Envelope>

Query Organization Balance

An organization operator can use the Self Care service provided by the Mobile Money system
to query the account balance of an organization. This interface is invoked by a third party of
the Mobile Money system to query the account balance of an organization. Authorized
organization operators can query only the account balances of their own organizations and
the child organizations.

UNITEL,S.A. - SOFTWARE APPLICATIONS DEVELOPMENT DEPARTMENT Page 72 of 98


UNITEL MONEY API INTEGRATION FOR PARTNERS

Figure 9 – Query Organization Balance workflow

3.6.1 Synchronous Mode Interface

Request
Endpoint HTTP
https://apigateway.unitel.co.ao:8343/v1/partners/1.0.0/queryOrganizationBalance_sync
Método HTTP:
POST

Headers HTTP:
Content-Type: application/json
Accept: application/json

Body parameter JSON to HTTP request:


Parameter Type Mandatory Description Sample
or Optional
Timestamp String Mandatory Date and time of 20220113204200
transaction generated by

UNITEL,S.A. - SOFTWARE APPLICATIONS DEVELOPMENT DEPARTMENT Page 73 of 98


UNITEL MONEY API INTEGRATION FOR PARTNERS

the merchant.
yyyyMMddHHmmss
OriginatorConversationID String Mandatory Is an ID that uniquely test_00000000004
identifies the request
message generated by the
Merchant
Initiator IdentifierType String Mandatory Indicates the type of 12 (default)
identifier of identity
Initiator Identifier String Mandatory Indicates identifier of an dstvTestOp
identity
SecurityCredential String Mandatory Is the encrypted Operator SppDoP73D9bAkPmQAa
pin provided by Unitel UQEUBlXvqJKq+es0qXIdZ
cvvn2K650Bh0+c9HrjCvH
42b6oBdBOOtjROmjGTKL
KeQh7j5IzAYKjLuGsrN5DZ
DqzuPQEfkRC4v5Cl/7+Xw
tnLWqq45Dz1UvevLiyZEv
h6t10ffpPlI/nU0wJ4OZcg
R+uOrhpuhmSKVTXoZQx
VFks5dzRGSW8B1rhZ7YJt
emBxmRF/0xMz1tECsW
McFkCz8pwF6W44CySAn
8ptTlXuz1n/mrejeYJU2M
hXTCvbm9Xk97nbu6XX2u
3wQn0P5lHNb4nU1gKtJS
ECJYa7sIi+EMUssqMC630
uTLiPS0b2i0zUOAnw==

ShortCode String Mandatory Merchant Identifier 00001708


provided by Unitel
Receiver Party number Mandatory Indicates the type of 4 (default)
IdentifierType Organization ShortCode
identifier
Receiver Party Identifier String Mandatory Identifies the Organization 00001708
ShortCode

UNITEL,S.A. - SOFTWARE APPLICATIONS DEVELOPMENT DEPARTMENT Page 74 of 98


UNITEL MONEY API INTEGRATION FOR PARTNERS

Sample request
curl -X 'POST' \
'https://apigateway.unitel.co.ao:8343/v1/partners/1.0.0/queryOrganizationBalance_sync' \
-H 'accept: */*' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer
eyJ4NXQiOiJOakF3TkdZMVpEUmpPV1V4WVdSaE9EZGpOMlJsTmpFMlpUSTJOVFptWmpZeVltWmh
ZekUwWlEiLCJraWQiOiJNbU15TkdVMFpERXpNV0l4WldObE9UbG1Nek5oTXpFMFpHTXdZV1UwT1
dVMU1EbGpPV0prTmpWalpEUm1OVFpsWTJWbFpUUmtORGN5T0RZd1ltTmpOd19SUzI1NiIsImFsZ
yI6IlJTMjU2In0.eyJzdWIiOiJhZG1pbiIsImF1dCI6IkFQUExJQ0FUSU9OIiwiYXVkIjoiQzZYYVZQOUtkM2F
ZMHVkUUg4b1hpaXM3eVV3YSIsIm5iZiI6MTY3ODkyNDQ2NSwiYXpwIjoiQzZYYVZQOUtkM2FZMHV
kUUg4b1hpaXM3eVV3YSIsInNjb3BlIjoiZGVmYXVsdCIsImlzcyI6Imh0dHBzOlwvXC9sc3ZxYXNjb250c
m9sMDFhLmludGVybmFsLnVuaXRlbC5jby5hbzoke2h0dHBzLm5pby5wb3J0fVwvb2F1dGgyXC90b2t
lbiIsImV4cCI6MTY3ODkyODA2NSwiaWF0IjoxNjc4OTI0NDY1LCJqdGkiOiJkZGM5OTVmOS1jODVmLT
Q0YTctYTBhYy1hYWY5YmY2NDljNDEifQ.RFhOzDpeb8cTrPlBU0xGFtfM3Ozt1flRyBPmQgKVUq-
TpuOgKwtsEF8SLOQJtjciOUJSvEijzF6XQhC3ZdVJgJSdFXwawAZqP1g6QFsEiHp6_ML1SprUcFySmKTe
sNxpgCXjpSwJnQBi6SVCJqg7mCh1EIMAQLzOHZFhYfH9267EVKVg2FNHcgJJA1OUCwzYrSKPhjYobFY
pgQEuzjZcXTDyWL5QkknID06jPzGRvl9axo_1HIA5x_z1iKhyfNcilCH2KY8VW1FNZJzefNQGNEI6oOMC
Dz3W718I-crWa5_8D8ZunzTWt9-bncZ7JWSoDPkrljEe3-7gJFkuYHoECg' \
-d '{
"QueryOrganizationBalance": {

"Timestamp": "20130402152345",
"OriginatorConversationID": "S_X2013012921001errr",
"Identity": {
"Initiator": {
"IdentifierType": 12,
"Identifier": "ApiPremier",
"SecurityCredential":
"foPQuRW7Qu8vZo8HoTyI96iFjCWl+B0gQ+RF/cVk1BTHSpcEesLGbRz21L5N8BD2t46dvGZS4N8eaj4
QxWt4gGnZeipTXeU1ELv4BgWMWFycko2FMxCUMU3cr+Ih6gPzr51XFE4Zce6hFPjjRLT5t1+JAlocGA
MGdIdnqQhFLOm47Bb91FFik3lgvlXqmMKRVHw24QmheWDC3J+dTPAuYjCjcEeLtvcgjRvlqvYvzFTt
MPxXzHD5UzShrgTzvX7jffoDy1nlFYEiTMcouvsZ0ZdhSavmj4IuMbrhDsopPF6ZwukRPexJ8t6EJS36PS
qoVMeAKLUoa24krGdCIAOQEw==",
"ShortCode": "00001209"

UNITEL,S.A. - SOFTWARE APPLICATIONS DEVELOPMENT DEPARTMENT Page 75 of 98


UNITEL MONEY API INTEGRATION FOR PARTNERS

},
"ReceiverParty": {
"IdentifierType": 4,
"Identifier": "00001209"
}
}

}
}'

Response messages
{
"Result": {
"OriginatorConversationID": "S_X2013012921001errr",
"ConversationID": "AG_20230316_70100cf9cf17cefeb6ad",
"ResultType": 0,
"ResultCode": 0,
"ResultDesc": "Process service request successfully.",
"QueryOrganizationBalanceResult": {
"BOCompletedTime": "20230316014745",
"AccountBalanceData": {
"AccountBalanceItem": {
"AccountTypeName":"Organization E-Money Account",
"AccountTypeAlias":"Organização - Conta de dinheiro electrónico",
"AccountNo" : "500000000110581107",
"AccountName": "DefaultAccount",
"AccountStatus":"Active",
"Currency": "AOA",
"AvailableBalance":"3748.16",
"ReservedBalance":"0.00",
"UnclearedBalance":"0.00",
"CurrentBalance": "3748.16"
}
}
}

UNITEL,S.A. - SOFTWARE APPLICATIONS DEVELOPMENT DEPARTMENT Page 76 of 98


UNITEL MONEY API INTEGRATION FOR PARTNERS

}
}

3.6.2 Asynchronous Mode Interface

Request
Endpoint HTTP
https://apigateway.unitel.co.ao:8343/v1/partners/1.0.0/queryOrganizationBalance_async
Método HTTP:
POST

Headers HTTP:
Content-Type: application/json
Accept: application/json

Body parameter JSON to HTTP request:


Parameter Type Mandatory Description Sample
or Optional
Timestamp String Mandatory Date and time of 20220113204200
transaction generated by
the merchant.
yyyyMMddHHmmss
OriginatorConversationID String Mandatory Is an ID that uniquely test_00000000004
identifies the request
message generated by the
Merchant
Initiator IdentifierType String Mandatory Indicates the type of 12 (default)
identifier of identity
Initiator Identifier String Mandatory Indicates identifier of an dstvTestOp
identity

UNITEL,S.A. - SOFTWARE APPLICATIONS DEVELOPMENT DEPARTMENT Page 77 of 98


UNITEL MONEY API INTEGRATION FOR PARTNERS

SecurityCredential String Mandatory Is the encrypted Operator SppDoP73D9bAkPmQAa


pin provided by Unitel UQEUBlXvqJKq+es0qXIdZ
cvvn2K650Bh0+c9HrjCvH
42b6oBdBOOtjROmjGTKL
KeQh7j5IzAYKjLuGsrN5DZ
DqzuPQEfkRC4v5Cl/7+Xw
tnLWqq45Dz1UvevLiyZEv
h6t10ffpPlI/nU0wJ4OZcg
R+uOrhpuhmSKVTXoZQx
VFks5dzRGSW8B1rhZ7YJt
emBxmRF/0xMz1tECsW
McFkCz8pwF6W44CySAn
8ptTlXuz1n/mrejeYJU2M
hXTCvbm9Xk97nbu6XX2u
3wQn0P5lHNb4nU1gKtJS
ECJYa7sIi+EMUssqMC630
uTLiPS0b2i0zUOAnw==

ShortCode String Mandatory Merchant Identifier 00001708


provided by Unitel
Receiver Party number Mandatory Indicates the type of 4 (default)
IdentifierType Organization ShortCode
identifier
Receiver Party Identifier String Mandatory Identifies the Organization 00001708
ShortCode

Sample request
curl -X 'POST' \
'https://apigateway.unitel.co.ao:8343/v1/partners/1.0.0/queryOrganizationBalance_async' \
-H 'accept: */*' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer
eyJ4NXQiOiJOakF3TkdZMVpEUmpPV1V4WVdSaE9EZGpOMlJsTmpFMlpUSTJOVFptWmpZeVltWmh
ZekUwWlEiLCJraWQiOiJNbU15TkdVMFpERXpNV0l4WldObE9UbG1Nek5oTXpFMFpHTXdZV1UwT1
dVMU1EbGpPV0prTmpWalpEUm1OVFpsWTJWbFpUUmtORGN5T0RZd1ltTmpOd19SUzI1NiIsImFsZ
yI6IlJTMjU2In0.eyJzdWIiOiJhZG1pbiIsImF1dCI6IkFQUExJQ0FUSU9OIiwiYXVkIjoiQzZYYVZQOUtkM2F
ZMHVkUUg4b1hpaXM3eVV3YSIsIm5iZiI6MTY3ODkyOTU1NCwiYXpwIjoiQzZYYVZQOUtkM2FZMHV
kUUg4b1hpaXM3eVV3YSIsInNjb3BlIjoiZGVmYXVsdCIsImlzcyI6Imh0dHBzOlwvXC9sc3ZxYXNjb250c
m9sMDFhLmludGVybmFsLnVuaXRlbC5jby5hbzoke2h0dHBzLm5pby5wb3J0fVwvb2F1dGgyXC90b2t

UNITEL,S.A. - SOFTWARE APPLICATIONS DEVELOPMENT DEPARTMENT Page 78 of 98


UNITEL MONEY API INTEGRATION FOR PARTNERS

lbiIsImV4cCI6MTY3ODkzMzE1NCwiaWF0IjoxNjc4OTI5NTU0LCJqdGkiOiJhNGU3MDU3ZC1kZGUxLT
QwNmQtYTFjZi1kMDZjNTllMTYxNWUifQ.j0pNNxbU2mgRez1zc-UG1USe_k7laN_W2kgDym-
rNIFX4_SBFArVODGHcaeNYq47GhkSj3tg-
IgRl1nVfRVjqUUdAvQd5wEQFbZcb6f3dLjQS7kprSHqTnXXxVAX_Qo7rOG6Asp0oZf947HRP-
xihCVFQrPx3jIPMYRanNv9I1hnFHnrPENlEoCyHbAgQ7B53VPGJ3Vq588sUQQ920KzVMYs_KOeVnG
DT_QIyJK-
4Ry6hMohA2Lu1ToxFIQqNgTPF9muDTYPJF8HulQq3mkgWImQWWwinBmtSAzWYzj62ZUCGInZzrrl
q2T7V2uJ3sO_5YI7AVjgwQNCPoJkDt6zGw' \
-d '{
"QueryOrganizationBalance": {
"Timestamp": "20130402152345",
"OriginatorConversationID": "S_X2013012921001qqqq",
"Identity": {
"Initiator": {
"IdentifierType": 12,
"Identifier": "ApiPremier",
"SecurityCredential":
"foPQuRW7Qu8vZo8HoTyI96iFjCWl+B0gQ+RF/cVk1BTHSpcEesLGbRz21L5N8BD2t46dvGZS4N8eaj4
QxWt4gGnZeipTXeU1ELv4BgWMWFycko2FMxCUMU3cr+Ih6gPzr51XFE4Zce6hFPjjRLT5t1+JAlocGA
MGdIdnqQhFLOm47Bb91FFik3lgvlXqmMKRVHw24QmheWDC3J+dTPAuYjCjcEeLtvcgjRvlqvYvzFTt
MPxXzHD5UzShrgTzvX7jffoDy1nlFYEiTMcouvsZ0ZdhSavmj4IuMbrhDsopPF6ZwukRPexJ8t6EJS36PS
qoVMeAKLUoa24krGdCIAOQEw==",
"ShortCode": "00001209"
},
"ReceiverParty": {
"IdentifierType": 4,
"Identifier": "00001209"
}
}
}
}'

UNITEL,S.A. - SOFTWARE APPLICATIONS DEVELOPMENT DEPARTMENT Page 79 of 98


UNITEL MONEY API INTEGRATION FOR PARTNERS

Response messages
{
"Response": {
"OriginatorConversationID": "S_X2013012921001qqqq",
"ConversationID": "AG_20230316_70100564d9b2afa98b5b",
"ResponseCode": 0,
"ResponseDesc": "Accept the service request successfully.",
"ServiceStatus": 0
}
}

Result messages

The partner must provide an endpoint to receive this message.

<?xml version="1.0" encoding="UTF-8"?>


<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Body>
<api:Result xmlns:api="http://cps.huawei.com/cpsinterface/api_resultmgr"
xmlns:res="http://cps.huawei.com/cpsinterface/result">
<res:Header>
<res:Version>1.0</res:Version>
<res:OriginatorConversationID>S_X2013012921001qqqq</res:OriginatorConversationID>
<res:ConversationID>AG_20230316_70100564d9b2afa98b5b</res:ConversationID>
</res:Header>
<res:Body>
<res:ResultType>0</res:ResultType>
<res:ResultCode>0</res:ResultCode>

UNITEL,S.A. - SOFTWARE APPLICATIONS DEVELOPMENT DEPARTMENT Page 80 of 98


UNITEL MONEY API INTEGRATION FOR PARTNERS

<res:ResultDesc>Process service request successfully.</res:ResultDesc>


<res:QueryOrganizationBalanceResult>
<res:BOCompletedTime>20230316021946</res:BOCompletedTime>
<res:AccountBalanceData>
<res:AccountBalanceItem>
<res:AccountHolderID>00001209</res:AccountHolderID>
<res:AccountHolderPublicName>00001209 -
PremierBet</res:AccountHolderPublicName>
<res:AccountTypeName>Organization E-Money Account</res:AccountTypeName>
<res:AccountTypeAlias>Organização - Conta de dinheiro
electrónico</res:AccountTypeAlias>
<res:AccountRuleProfileID/>
<res:AccountRuleProfileName/>
<res:AccountNo>500000000110571105</res:AccountNo>
<res:AccountName>DefaultAccount</res:AccountName>
<res:AccountStatus>Active</res:AccountStatus>
<res:Currency>AOA</res:Currency>
<res:AvailableBalance>3748.16</res:AvailableBalance>
<res:ReservedBalance>0.00</res:ReservedBalance>
<res:UnclearedBalance>0.00</res:UnclearedBalance>
<res:CurrentBalance>3748.16</res:CurrentBalance>
</res:AccountBalanceItem>
</res:AccountBalanceData>
</res:QueryOrganizationBalanceResult>
</res:Body>
</api:Result>
</soapenv:Body>
</soapenv:Envelope>

UNITEL,S.A. - SOFTWARE APPLICATIONS DEVELOPMENT DEPARTMENT Page 81 of 98


UNITEL MONEY API INTEGRATION FOR PARTNERS

Query Organization Statement

The Mobile Money system provides the service of querying transaction statements of an
organization' e-money account. This interface is invoked by a third party of the Mobile Money
system to query the transaction statements of an account according to a specified account
type for an organization.

Figure 10 - Query Organization Statement workflow

3.7.1 Synchronous Mode Interface

UNITEL,S.A. - SOFTWARE APPLICATIONS DEVELOPMENT DEPARTMENT Page 82 of 98


UNITEL MONEY API INTEGRATION FOR PARTNERS

3.7.2 Asynchronous Mode Interface

Request
Endpoint HTTP
https://apigateway.unitel.co.ao:8343/v1/partners/1.0.0/queryOrganizationStatement_async
Método HTTP:
POST

Headers HTTP:
Content-Type: application/json
Accept: application/json

Body parameter JSON to HTTP request:


Parameter Type Mandatory Description Sample
or Optional
Timestamp String Mandatory Date and time of 20220113204200
transaction generated by
the merchant.
yyyyMMddHHmmss
OriginatorConversationID String Mandatory Is an ID that uniquely test_00000000004
identifies the request
message generated by the
Merchant
Initiator IdentifierType String Mandatory Indicates the type of 12 (default)
identifier of identity
Initiator Identifier String Mandatory Indicates identifier of an dstvTestOp
identity

UNITEL,S.A. - SOFTWARE APPLICATIONS DEVELOPMENT DEPARTMENT Page 83 of 98


UNITEL MONEY API INTEGRATION FOR PARTNERS

SecurityCredential String Mandatory Is the encrypted Operator SppDoP73D9bAkPmQAa


pin provided by Unitel UQEUBlXvqJKq+es0qXIdZ
cvvn2K650Bh0+c9HrjCvH
42b6oBdBOOtjROmjGTKL
KeQh7j5IzAYKjLuGsrN5DZ
DqzuPQEfkRC4v5Cl/7+Xw
tnLWqq45Dz1UvevLiyZEv
h6t10ffpPlI/nU0wJ4OZcg
R+uOrhpuhmSKVTXoZQx
VFks5dzRGSW8B1rhZ7YJt
emBxmRF/0xMz1tECsW
McFkCz8pwF6W44CySAn
8ptTlXuz1n/mrejeYJU2M
hXTCvbm9Xk97nbu6XX2u
3wQn0P5lHNb4nU1gKtJS
ECJYa7sIi+EMUssqMC630
uTLiPS0b2i0zUOAnw==

ShortCode String Mandatory Merchant Identifier 00001708


provided by Unitel
Receiver Party number Mandatory Indicates the type of 4 (default)
IdentifierType Organization ShortCode
identifier
Receiver Party Identifier String Mandatory Identifies the Organization 00001708
ShortCode
StartDateTime String Mandatory Indicates the starting date 20160601093333
time for the transactions
completing time to be
queried. The format is
yyyyMMddHHmmss.
EndDateTime String Mandatory Indicates the ending date 20160916093333
time for the transactions
completing time to be
queried. The format is
yyyyMMddHHmmss.

Sample request
curl -X 'POST' \
'https://apigateway.unitel.co.ao:8343/v1/partners/1.0.0/queryOrganizationStatement_async' \
-H 'accept: */*' \

UNITEL,S.A. - SOFTWARE APPLICATIONS DEVELOPMENT DEPARTMENT Page 84 of 98


UNITEL MONEY API INTEGRATION FOR PARTNERS

-H 'Content-Type: application/json' \
-H 'Authorization: Bearer
eyJ4NXQiOiJOakF3TkdZMVpEUmpPV1V4WVdSaE9EZGpOMlJsTmpFMlpUSTJOVFptWmpZeVltWmh
ZekUwWlEiLCJraWQiOiJNbU15TkdVMFpERXpNV0l4WldObE9UbG1Nek5oTXpFMFpHTXdZV1UwT1
dVMU1EbGpPV0prTmpWalpEUm1OVFpsWTJWbFpUUmtORGN5T0RZd1ltTmpOd19SUzI1NiIsImFsZ
yI6IlJTMjU2In0.eyJzdWIiOiJhZG1pbiIsImF1dCI6IkFQUExJQ0FUSU9OIiwiYXVkIjoiQzZYYVZQOUtkM2F
ZMHVkUUg4b1hpaXM3eVV3YSIsIm5iZiI6MTY3ODkyOTU1NCwiYXpwIjoiQzZYYVZQOUtkM2FZMHV
kUUg4b1hpaXM3eVV3YSIsInNjb3BlIjoiZGVmYXVsdCIsImlzcyI6Imh0dHBzOlwvXC9sc3ZxYXNjb250c
m9sMDFhLmludGVybmFsLnVuaXRlbC5jby5hbzoke2h0dHBzLm5pby5wb3J0fVwvb2F1dGgyXC90b2t
lbiIsImV4cCI6MTY3ODkzMzE1NCwiaWF0IjoxNjc4OTI5NTU0LCJqdGkiOiJhNGU3MDU3ZC1kZGUxLT
QwNmQtYTFjZi1kMDZjNTllMTYxNWUifQ.j0pNNxbU2mgRez1zc-UG1USe_k7laN_W2kgDym-
rNIFX4_SBFArVODGHcaeNYq47GhkSj3tg-
IgRl1nVfRVjqUUdAvQd5wEQFbZcb6f3dLjQS7kprSHqTnXXxVAX_Qo7rOG6Asp0oZf947HRP-
xihCVFQrPx3jIPMYRanNv9I1hnFHnrPENlEoCyHbAgQ7B53VPGJ3Vq588sUQQ920KzVMYs_KOeVnG
DT_QIyJK-
4Ry6hMohA2Lu1ToxFIQqNgTPF9muDTYPJF8HulQq3mkgWImQWWwinBmtSAzWYzj62ZUCGInZzrrl
q2T7V2uJ3sO_5YI7AVjgwQNCPoJkDt6zGw' \
-d '{
"QueryOrganizationStatement": {
"Timestamp": "20130502152345",
"OriginatorConversationID": "S_X2013615921tt21139634",
"Identity": {
"Initiator": {
"IdentifierType": 12,
"Identifier": "ApiPremier",
"SecurityCredential":
"foPQuRW7Qu8vZo8HoTyI96iFjCWl+B0gQ+RF/cVk1BTHSpcEesLGbRz21L5N8BD2t46dvGZS4N8eaj4
QxWt4gGnZeipTXeU1ELv4BgWMWFycko2FMxCUMU3cr+Ih6gPzr51XFE4Zce6hFPjjRLT5t1+JAlocGA
MGdIdnqQhFLOm47Bb91FFik3lgvlXqmMKRVHw24QmheWDC3J+dTPAuYjCjcEeLtvcgjRvlqvYvzFTt
MPxXzHD5UzShrgTzvX7jffoDy1nlFYEiTMcouvsZ0ZdhSavmj4IuMbrhDsopPF6ZwukRPexJ8t6EJS36PS
qoVMeAKLUoa24krGdCIAOQEw==",
"ShortCode": "00001209"
},
"ReceiverParty": {
"IdentifierType": 4,

UNITEL,S.A. - SOFTWARE APPLICATIONS DEVELOPMENT DEPARTMENT Page 85 of 98


UNITEL MONEY API INTEGRATION FOR PARTNERS

"Identifier": "00001209"
}
},
"QueryOrganizationStatementRequest": {
"StartDateTime": "20230112215959",
"EndDateTime": "20230126215959"
}

}
}'

Response messages
{
"Response": {
"OriginatorConversationID": "S_X2013615921tt21139634",
"ConversationID": "AG_20230316_7010301960bf529c80da",
"ResponseCode": 0,
"ResponseDesc": "Accept the service request successfully.",
"ServiceStatus": 0
}
}

UNITEL,S.A. - SOFTWARE APPLICATIONS DEVELOPMENT DEPARTMENT Page 86 of 98


UNITEL MONEY API INTEGRATION FOR PARTNERS

Result messages

The partner must provide an endpoint to receive this message.

<?xml version="1.0" encoding="UTF-8"?>


<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Body>
<api:Result xmlns:api="http://cps.huawei.com/cpsinterface/api_resultmgr"
xmlns:res="http://cps.huawei.com/cpsinterface/result">
<res:Header>
<res:Version>1.0</res:Version>
<res:OriginatorConversationID>S_X2013615921tt21139634</res:OriginatorConversationID>
<res:ConversationID>AG_20230316_7010301960bf529c80da</res:ConversationID>
</res:Header>
<res:Body>
<res:ResultType>0</res:ResultType>
<res:ResultCode>0</res:ResultCode>
<res:ResultDesc>Process service request successfully.</res:ResultDesc>
<res:QueryOrganizationStatementResult>
<res:TransactionEntryInfo>
<res:IdentityId>201000000000071007</res:IdentityId>
<res:TransIndex>AAG3005UYJ</res:TransIndex>
<res:AccountNo>500000000110571105</res:AccountNo>
<res:TransactionEndTime>20230116150015</res:TransactionEndTime>
<res:TransactionTime>20230116150015</res:TransactionTime>
<res:AEAuditIndex>212569</res:AEAuditIndex>
<res:Details>Pagamento de IVA pela compra de bens</res:Details>
<res:ReasonTypeId>2519</res:ReasonTypeId>
<res:PaidInAmount>0</res:PaidInAmount>
<res:WithdrawalAmount>53</res:WithdrawalAmount>

UNITEL,S.A. - SOFTWARE APPLICATIONS DEVELOPMENT DEPARTMENT Page 87 of 98


UNITEL MONEY API INTEGRATION FOR PARTNERS

<res:TransIdentityMnemonic>00001209 - PremierBet</res:TransIdentityMnemonic>
<res:IdentityMnemonic>00001209 - PremierBet</res:IdentityMnemonic>
<res:AvailableBalance>191629</res:AvailableBalance>
<res:ReasonTypeAlias>Customer Buy Goods</res:ReasonTypeAlias>
</res:TransactionEntryInfo>
<res:TransactionEntryInfo>
<res:IdentityId>201000000000071007</res:IdentityId>
<res:TransIndex>AAG3005UYJ</res:TransIndex>
<res:AccountNo>500000000110571105</res:AccountNo>
<res:TransactionEndTime>20230116150015</res:TransactionEndTime>
<res:TransactionTime>20230116150015</res:TransactionTime>
<res:AEAuditIndex>212568</res:AEAuditIndex>
<res:Details>Taxa paga a MM SP pelo 00001209 - PremierBet</res:Details>
<res:ReasonTypeId>2519</res:ReasonTypeId>
<res:PaidInAmount>0</res:PaidInAmount>
<res:WithdrawalAmount>379</res:WithdrawalAmount>
<res:TransIdentityMnemonic>00001209 - PremierBet</res:TransIdentityMnemonic>
<res:IdentityMnemonic>00001209 - PremierBet</res:IdentityMnemonic>
<res:AvailableBalance>191682</res:AvailableBalance>
<res:ReasonTypeAlias>Customer Buy Goods</res:ReasonTypeAlias>
</res:TransactionEntryInfo>
<res:TransactionEntryInfo>
<res:IdentityId>201000000000071007</res:IdentityId>
<res:TransIndex>AAG3005UYJ</res:TransIndex>
<res:AccountNo>500000000110571105</res:AccountNo>
<res:TransactionEndTime>20230116150015</res:TransactionEndTime>
<res:TransactionTime>20230116150015</res:TransactionTime>
<res:AEAuditIndex>212567</res:AEAuditIndex>
<res:Details>Customer Buy Goods</res:Details>

UNITEL,S.A. - SOFTWARE APPLICATIONS DEVELOPMENT DEPARTMENT Page 88 of 98


UNITEL MONEY API INTEGRATION FOR PARTNERS

<res:ReasonTypeId>2519</res:ReasonTypeId>
<res:PaidInAmount>18950</res:PaidInAmount>
<res:WithdrawalAmount>0</res:WithdrawalAmount>
<res:TransIdentityMnemonic>00001209 - PremierBet</res:TransIdentityMnemonic>
<res:IdentityMnemonic>00001209 - PremierBet</res:IdentityMnemonic>
<res:AvailableBalance>192061</res:AvailableBalance>
<res:ReasonTypeAlias>Customer Buy Goods</res:ReasonTypeAlias>
</res:TransactionEntryInfo>
<res:TransactionEntryInfo>
<res:IdentityId>201000000000071007</res:IdentityId>
<res:TransIndex>AAG1005UYH</res:TransIndex>
<res:AccountNo>500000000110571105</res:AccountNo>
<res:TransactionEndTime>20230116145825</res:TransactionEndTime>
<res:TransactionTime>20230116145825</res:TransactionTime>
<res:AEAuditIndex>212564</res:AEAuditIndex>
<res:Details>Taxa paga a MM SP pelo 00001209 - PremierBet</res:Details>
<res:ReasonTypeId>2519</res:ReasonTypeId>
<res:PaidInAmount>0</res:PaidInAmount>
<res:WithdrawalAmount>378</res:WithdrawalAmount>
<res:TransIdentityMnemonic>00001209 - PremierBet</res:TransIdentityMnemonic>
<res:IdentityMnemonic>00001209 - PremierBet</res:IdentityMnemonic>
<res:AvailableBalance>173164</res:AvailableBalance>
<res:ReasonTypeAlias>Customer Buy Goods</res:ReasonTypeAlias>
</res:TransactionEntryInfo>
</res:QueryOrganizationStatementResult>
</res:Body>
</api:Result>
</soapenv:Body>
</soapenv:Envelope>

UNITEL,S.A. - SOFTWARE APPLICATIONS DEVELOPMENT DEPARTMENT Page 89 of 98


UNITEL MONEY API INTEGRATION FOR PARTNERS

Query Customer Information

Mobile Money system provides the function of querying customer registration information. This
interface is invoked by a third party of the Mobile Money system to request querying the customer
information.

Figure 11 - Query Customer Information workflow

Request
Endpoint HTTP
https://apigateway.unitel.co.ao:8343/v1/partners/1.0.0/queryCustomerInfo
Método HTTP:
POST

Headers HTTP:
Content-Type: application/json
Accept: application/json

UNITEL,S.A. - SOFTWARE APPLICATIONS DEVELOPMENT DEPARTMENT Page 90 of 98


UNITEL MONEY API INTEGRATION FOR PARTNERS

Body parameter JSON to HTTP request:

Parameter Type Mandatory Description Sample


or Optional
Timestamp String Mandatory Date and time of 20220113204200
transaction generated by
the merchant.
yyyyMMddHHmmss
OriginatorConversationID String Mandatory Is an ID that uniquely test_00000000004
identifies the request
message generated by
the Merchant
Initiator IdentifierType String Mandatory Indicates the type of 12 (default)
identifier of identity
Initiator Identifier String Mandatory Indicates identifier of an dstvTestOp
identity
SecurityCredential String Mandatory Is the encrypted SppDoP73D9bAkPmQAa
Operator pin provided by UQEUBlXvqJKq+es0qXIdZ
Unitel cvvn2K650Bh0+c9HrjCvH
42b6oBdBOOtjROmjGTKL
KeQh7j5IzAYKjLuGsrN5DZ
DqzuPQEfkRC4v5Cl/7+Xw
tnLWqq45Dz1UvevLiyZEv
h6t10ffpPlI/nU0wJ4OZcg
R+uOrhpuhmSKVTXoZQx
VFks5dzRGSW8B1rhZ7YJt
emBxmRF/0xMz1tECsW
McFkCz8pwF6W44CySAn
8ptTlXuz1n/mrejeYJU2M
hXTCvbm9Xk97nbu6XX2u
3wQn0P5lHNb4nU1gKtJS
ECJYa7sIi+EMUssqMC630
uTLiPS0b2i0zUOAnw==

ShortCode String Mandatory Merchant Identifier 00001708


provided by Unitel

UNITEL,S.A. - SOFTWARE APPLICATIONS DEVELOPMENT DEPARTMENT Page 91 of 98


UNITEL MONEY API INTEGRATION FOR PARTNERS

Receiver Party number Mandatory Indicates the type of 1 (default)


IdentifierType Customer identifier
Receiver Party Identifier String Mandatory Customer's Unitel Money 930300680
Number

Sample request

curl -X 'POST' \
'https://apigateway.unitel.co.ao:8343/v1/partners/1.0.0/queryCustomerInfo' \
-H 'accept: */*' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer
eyJ4NXQiOiJOakF3TkdZMVpEUmpPV1V4WVdSaE9EZGpOMlJsTmpFMlpUSTJOVFptWmpZe
VltWmhZekUwWlEiLCJraWQiOiJNbU15TkdVMFpERXpNV0l4WldObE9UbG1Nek5oTXpFMF
pHTXdZV1UwT1dVMU1EbGpPV0prTmpWalpEUm1OVFpsWTJWbFpUUmtORGN5T0RZd1lt
TmpOd19SUzI1NiIsImFsZyI6IlJTMjU2In0.eyJzdWIiOiJhZG1pbiIsImF1dCI6IkFQUExJQ0FUSU9
OIiwiYXVkIjoiQzZYYVZQOUtkM2FZMHVkUUg4b1hpaXM3eVV3YSIsIm5iZiI6MTY3NjM2OTA
1NCwiYXpwIjoiQzZYYVZQOUtkM2FZMHVkUUg4b1hpaXM3eVV3YSIsInNjb3BlIjoiZGVmYXV
sdCIsImlzcyI6Imh0dHBzOlwvXC9sc3ZxYXNjb250cm9sMDFhLmludGVybmFsLnVuaXRlbC5jb
y5hbzoke2h0dHBzLm5pby5wb3J0fVwvb2F1dGgyXC90b2tlbiIsImV4cCI6MTY3NjM3MjY1NC
wiaWF0IjoxNjc2MzY5MDU0LCJqdGkiOiJlNWYzMDdiMS0xNjIzLTQzNDgtOWMzZi0yMTYxM
WE2NGU1MzMifQ.LUKP_w1K02IAFV1V6HykD9Yt3Krp_Vieb_utwRhBBEaSldsO7_GiLRs7N
NlsxCmFcL_UcslUf0S7rAIvHMKNujqNU_gO8N2MyR8BWv_E6gz1XDbvH5HMlX1BcQq76Qv
0K9V4PjZUKdVwrOqtWbLR_qK-
Zjp0Bqbe1esA9Dhft1lQHutB_cDFTZNjdl5qONBORUF4BfO3pZPSV5C-TP_Dxp62y0o-
u_181kL84Ri37xevAkT-kPE_-rmvF9g1-GTxH53XvasbvLZq-
raxol8mC2UgguPyAQEfWCvZw3V3rg-
v72MIGnWpyRLGvjkXGcU3Xl9vX50YcPoMG2cDWYXoBw' \
-d '{
"QueryCustomerInfoRequest": {
"Timestamp": "20211102172425",
"OriginatorConversationID": "Teste_120220231tt7280tt0ed13",
"Identity": {
"Initiator": {
"IdentifierType": 12,
"Identifier": "dstvTestOp",
"SecurityCredential":
"eo1ws3yGLA8RF5w3LNBl3W5wERKvFQHoTQvmCVPtBpJTFAuI9Gdtns4pTj5LEjJWIrBFnT1
Mk7JGi34VLa5MKrXNrS4myI/fVdNKZlNejZFhrTMyybCqhh7mJuW5/R3JXvNs7tPGgB4/1PM

UNITEL,S.A. - SOFTWARE APPLICATIONS DEVELOPMENT DEPARTMENT Page 92 of 98


UNITEL MONEY API INTEGRATION FOR PARTNERS

qcL/oFBzeF5mX8IZIG61pEsG45j4FX1vmPRUovq7rScKWv6ofa9Cpv/iT2rkinbaXt46jBWjfAhR
/kdAkISLlJV1BY/3w3g3ssfxWozy2WjzziFsmNomzc0iVV1jxaAMjFk0tz+lV9irjfRPOK6c+Rtxz8z
NJGQyFX91yPrLGNQYwJRyBqNsQoCrFD5zFl9QznxbNnQ==",
"ShortCode": "00001708"
},
"ReceiverParty": {
"IdentifierType": 1,
"Identifier": "930300680"
}
}

}
}
'

Response
Customer registered in Unitel Money:

{
"Result": {
"OriginatorConversationID": "Teste_120220231tt7280tt0ed13",
"ConversationID": "AG_20230214_70103760b4d0950b4939",
"ResultType": 0,
"ResultCode": 0,
"ResultDesc": "Process service request successfully.",
"QueryCustomerInfoResult": {
"BOCompletedTime": "20230214111334",
"IdentityStatus": 3
}
}
}

UNITEL,S.A. - SOFTWARE APPLICATIONS DEVELOPMENT DEPARTMENT Page 93 of 98


UNITEL MONEY API INTEGRATION FOR PARTNERS

Where IdentityStatus can have the following values:

02: pending active;


03: Active;
04: Suspended;
05: Frozen;
06: Closed;
07: Capped;
08: Dormant.

Customer not registered in Unitel Money:

{
"Result": {
"OriginatorConversationID": "Teste_120220231tt7280tt",
"ConversationID": "AG_20230214_70104af9edd816b2d5c9",
"ResultType": 0,
"ResultCode": 3013002,
"ResultDesc": "The identity does not exist or is invalid."
}
}

Invalid customer number


Ex:. "Identifier": "930300"

{
"Result": {
"OriginatorConversationID": "Teste_120220231tt728h0tt09e",
"ConversationID": "AG_20230214_70103473664ea086e5a8",
"ResultType": 0,
"ResultCode": 3015,
"ResultDesc": "MSISDN verification failed."
}
}

UNITEL,S.A. - SOFTWARE APPLICATIONS DEVELOPMENT DEPARTMENT Page 94 of 98


UNITEL MONEY API INTEGRATION FOR PARTNERS

Error Code Reference


The external error code and description may be returned in the ResultCode and
ResponseDesc parameters in the message.

Table 1 - External error code and description list


External Error Description
Code
0 Process service request successfully.
0 Accept the service request successfully.( Only asynchronous mode)
1001 The request is invalid.
1002 The request parameter is missing.
1003 Failed to authenticate the request parameter.
1004 Failed to authenticate the duplicate request.
2001 The request identity does not exist.
2002 Failed to authenticate the identity in the request.
2006 Request processing timed out.
2007 Failed to generate the verification code.
2008 The link is in signed-out state and cannot process service requests.
3001 Failed to initialize the service.
3002 The identity status is abnormal.
3003 Failed to parse the identity.
3004 The identity does not exist.

UNITEL,S.A. - SOFTWARE APPLICATIONS DEVELOPMENT DEPARTMENT Page 95 of 98


UNITEL MONEY API INTEGRATION FOR PARTNERS

External Error Description


Code
3005 Failed to authenticate security credentials.
3006 Failed to create the identity.
3007 The account status is abnormal, the account does not exist, or the account
verification fails.
3008 Failed to verify permissions.
3009 The identity has not subscribed to the related product or service, or the
identity repeatedly subscribes to products or services.
3010 The product or service does not exist or is in incorrect state.
The historical service or associated service does not exist, or the historical
3011 service or associated service is abnormal.
3012 A service is being processed.
3013 Parameter parsing failed or parameter verification failed.
3015 MSISDN verification failed.
3016 Failed to verify the business rule.
3022 The workflow task status is abnormal or the workflow task is not enabled.
3029 Failed to verify the file or file directory.
3043 The target record cannot be found.
4001 An exception occurs in service processing.
4002 An exception occurs when the identity is modified.
4003 The account balance is abnormal.
4004 Limit verification failed.
4005 Failed to send the outbond request or outbond message.
4006 The third-party response times out, or fails, or return an error message.

UNITEL,S.A. - SOFTWARE APPLICATIONS DEVELOPMENT DEPARTMENT Page 96 of 98


UNITEL MONEY API INTEGRATION FOR PARTNERS

External Error Description


Code
4008 Failed to generate, import, export, save, or download the file.
4009 The transaction participant or approver confirms to cancel the transaction.
4010 The service processing times out.
4019 Handle the pre-warning or prompt information.
5001 An encryption or decryption exception occurs.
5002 The background database has tampering risks.
6001 The system is in the maintenance status.
6002 The system is in the maximum load.
6004 License verification failed.
6005 System data processing exception.
7001 The system configuration data is missing.
7002 The system configuration data is invalid.
8001 Communication between internal NEs is abnormal.
8002 A single NE in the system is abnormal.
8003 System service exception / Failed to invoke the internal service.

3007001 Your account balance is insufficient for the transaction.


3017004 The number is not a customer.
20061 Ussd session timeout / Request processing timed out.

3013002 MSISDN doesn’t exist in system / The identity does not exist or is invalid.

401901 Customer cancelled the transaction / You have cancelled the request.

3013001 PIN incorrect / The user name does not exist or the security credential is
incorrect.
APIG_-1 No response for the conversationID ( you must use the

UNITEL,S.A. - SOFTWARE APPLICATIONS DEVELOPMENT DEPARTMENT Page 97 of 98


UNITEL MONEY API INTEGRATION FOR PARTNERS

External Error Description


Code
QueryTransactionStatus method to find out if the transaction was completed
or not .( Only synchronous mode)
APIG_-2 Multiple entries for the same (you must use the QueryTransactionStatus
method to find out if the transaction was completed or not) .( Only
synchronous mode)
Nothing if there is no return, you must use the QueryTransactionStatus method to find
out if the transaction was completed or not

UNITEL,S.A. - SOFTWARE APPLICATIONS DEVELOPMENT DEPARTMENT Page 98 of 98

You might also like