Overview
Introduction
Welcome to the Money Transfer API reference.
This API serves as the primary gateway to facilitate money transfers through Thunes’ platform.
The Money Transfer API is organized according to REST principles and provides the following functionalities:
- Process and retrieve transaction details
- Account management services
- Discovery services
Environments
This API is available in 2 environments: production and pre-production, reachable via IPSec VPN or HTTPS.
Specific details relating to the endpoints will be provided upon account creation.
Versioning
Endpoints of the API are prefixed with a corresponding version number.
This is done to provide complete isolation between implementations and to ensure that subsequent major changes to the API will never affect existing integrations.
Endpoints of the API are prefixed with a corresponding version number. This documentation describes version 1 of the API. Documentation for version 2 of the API can be found here.
This method of versioning provides complete isolation between implementations and ensures that subsequent major changes to the API will not affect existing integrations. No breaking changes will be introduced within a major version.
Whenever possible, Thunes will not change the API contract in a non-backward compatible way, if required, a new major version of the API will be released, however Thunes reserves the right to make additive changes or any non-breaking changes to our API without releasing a new major version or notifying clients.
Clients should design their implementation to not break if new fields or other non-breaking changes are introduced
Non-breaking changes
Thunes regularly introduce backwards-compatible changes to our API to provide additional product features and capabilities. Non-breaking changes may be introduced without prior warning to users of the Thunes API. Examples of non-breaking changes would be:
- New API endpoints
- Additional new optional API request fields/parameters for existing endpoints
- Additional new optional HTTP headers in API requests for existing endpoints
- Additional new fields in API response for existing endpoints
- Additional HTTP headers in API response for existing endpoints
- Modification of text field values, for instance in error messages
- Introduction of new transaction statuses within a status class
- Introduction of new required fields linked to specific payers (list of required fields for a given payer is available by API, client implementation should rely on API response to define whether a field is mandatory)
- Increasing length of existing text field in API requests
- Adding new fields in callback endpoints
The client implementation should be designed with the above in mind, so that non-breaking changes do not adversely affect the implementation.
Breaking changes
A breaking change refers to a change that requires an application update to continue working with the API. Examples of breaking changes would be:
- Removing or renaming an API endpoint
- Changing the accepted values for an API request fields
- Adding new mandatory field to an API request body, outside of information required for processing a transaction
- Change in an API response structure (renaming of fields)
Whenever possible, a new major version will be introduced if a breaking change is introduced. In the event that a breaking change is unavoidable and a new major version in not possible (e.g., change in regulation, compliance) Thunes will contact clients in advance to ensure there is sufficient time to update the client’s application.
Headers
The endpoints of the API will respond with various header fields, such as Pagination information. All header fields in both requests and responses are case-insensitive, following the HTTP/1.1 specification (RFC 7230). It is advised not to rely on the case-sensitivity of any header fields.
Transaction states
During the course of a transfer, a transaction will undergo various status changes as illustrated.
Conditions marked as “Upon request to customer care team” pertains to reversal and/or cancellation, which must be requested through and performed by Thunes’ customer care team.
As changes in transaction status occur, updates will be sent in real-time when a callback URL is provided. In conjunction, transaction status can be queried through one of two means: via the returned id
or a provided external_id
.
The latter serves as a unique reference in the perspective of the sending partner and functions to retrieve transaction details when exceptions occur, such as when the supposed response was not received, as an example.
The numerical values within each of the illustrated states correspond to the transaction status, while the labels correspond to that of the transaction status class message.
Example Flow
As soon as a transaction is confirmed, the transfer order will be sent to the receiving partner for immediate processing.
During this time, the sending partner will receive a CONFIRMED
status for the transaction.
Callback
POST /callback HTTP/1.1
Date: Wed, 02 Nov 2016 09:17:54 GMT
Content-Type: application/json
X-TransferTo-Apikey: 00000000-0000-0000-0000-000000000000
X-TransferTo-Nonce: 1478078334
X-TransferTo-Hmac: g41AgixMSFMQj0TZgyXIK6+odCVgy76fxfGpAtWwhE8=
{
"id": 1,
"status": "70000",
"status_message": "COMPLETED",
"status_class": "7",
"status_class_message": "COMPLETED",
"external_id": "1478078339357",
"external_code": null,
"payer_transaction_reference": "SP-000-123",
"payer_transaction_code": "SP-ABC-DEF",
"creation_date": "2016-11-02T09:19:15",
"expiration_date": "2016-11-03T09:07:44",
"credit_party_identifier": {
"msisdn": "+263775892100",
"bank_account_number": "0123456789",
"swift_bic_code": "ABCDEFGH"
},
"source": {
"country_iso_code": "FRA",
"currency": "EUR",
"amount": 10
},
"destination": {
"currency": "USD",
"amount": 10.69
},
"payer": {
"id": 1,
"name": "Sample Payer",
"precision": 2,
"increment": 0.01,
"currency": "USD",
"country_iso_code": "ZWE",
"minimum_transaction_amount": 0,
"maximum_transaction_amount": null,
"credit_party_identifiers_accepted": [
[
"msisdn"
]
],
"required_sender_fields": [
[
"lastname",
"firstname"
]
],
"required_beneficiary_fields": [
[
"lastname",
"firstname"
]
],
"service": {
"id": 1,
"name": "MobileWallet"
},
"credit_party_information": {
"credit_party_identifiers_accepted": [
[]
]
},
"credit_party_verification": {
"credit_party_identifiers_accepted": [
[]
],
"required_beneficiary_fields": [
[]
]
}
},
"sender": {
"lastname": "Doe",
"lastname2": null,
"middlename": null,
"firstname": "John",
"nativename": null,
"nationality_country_iso_code": "FRA",
"code": null,
"date_of_birth": "1970-01-01",
"country_of_birth_iso_code": "FRA",
"gender": "MALE",
"address": "42 Rue des fleurs",
"postal_code": "75000",
"city": "Paris",
"country_iso_code": "FRA",
"msisdn": "33712345678",
"email": "john.doe@mail.com",
"id_type": "SOCIAL_SECURITY",
"id_country_iso_code": null,
"id_number": "502-42-0158",
"id_delivery_date": "2016-01-01",
"id_expiration_date": null,
"occupation": "Residential Advisor",
"province_state": null,
"beneficiary_relationship": null,
"source_of_funds": null,
"bank_account_number": null
},
"beneficiary": {
"lastname": "Doe",
"lastname2": null,
"middlename": null,
"firstname": "Jane",
"nativename": null,
"nationality_country_iso_code": "FRA",
"code": null,
"date_of_birth": "1971-01-01",
"country_of_birth_iso_code": "ZWE",
"gender": "MALE",
"address": "3 Norfolk Road",
"postal_code": "4581",
"city": "Harare",
"country_iso_code": "ZWE",
"msisdn": "263775892364",
"email": "jane.doe@mail.com",
"id_type": "SOCIAL_SECURITY",
"id_country_iso_code": "ZWE",
"id_number": "178027317681327",
"id_delivery_date": null,
"id_expiration_date": null,
"occupation": "Sales Executive",
"bank_account_holder_name": null,
"province_state": null
},
"callback_url": "{URL_PLACEHOLDER}",
"sent_amount": {
"currency": "EUR",
"amount": 10
},
"wholesale_fx_rate": 1.06891969534071,
"retail_rate": null,
"retail_fee": 1,
"retail_fee_currency": "EUR",
"fee": {
"currency": "EUR",
"amount": 1.88
},
"purpose_of_remittance": "FAMILY_SUPPORT",
"additional_information_1": null,
"additional_information_2": null,
"additional_information_3": null
}
As the transfer order is being processed, changes in status will be notified in realtime if a callback URL was provided.
This endpoint must be implemented by the sending partner, which should expect an HTTP POST
request containing a transaction object represented in JSON.
The same sets of credentials used to access the Money Transfer API will be used in authenticating to the callback endpoint, via digest auth.
Upon sucessful receipt of data, the callback endpoint should respond with an HTTP 2XX
. In the event that the Money Transfer platform did not receive this response, callback notifications will be retried several times, beyond which, the transaction status will have to be queried by the sending partner.
Topics
Authentication
Access to all endpoints of the API requires authentication, through one of the following means:
Basic Auth
curl https://${API_ENDPOINT}/ping \
-u "${API_KEY}:${API_SECRET}"
URL Part | Value |
---|---|
user-ID | API key |
password | API secret |
Your API keys and secrets represent your identity and authorization. Please keep and store them securely!
API credentials should not be shared or stored in clear text. Once in your possession, it is on you to keep those credentials safe.
Avoid storing your credentials in your source code, or in your version control system, like github for instance. Instead, you can use environment variables to pass secrets into your application, following the 12 factor app principles, use a vault mechanism (HashiCorp Vault, AWS Secret Manager, Secret in Kubernetes, …), or provide them through a configuration file excluded from your version control, provisioned automatically within your deployment process, only readable by the application.
Digest Auth
apikey = "XXX"
apisecret = "YYY"
url = "ZZZ"
nonce = int(time.time())
date = email.utils.formatdate(usegmt = True)
message = bytes(apikey + str(nonce) + date).encode('utf-8')
secret = bytes(apisecret).encode('utf-8')
hmac = base64.b64encode(hmac.new(secret, message, digestmod = hashlib.sha256).digest())
response = requests.get(url, headers = {
'X-TransferTo-apikey': apikey,
'X-TransferTo-nonce': nonce,
'X-TransferTo-hmac': hmac,
'Date': date
})
apikey = 'XXX'
apisecret = 'YYY'
url = 'ZZZ'
nonce = Time.now.strftime('%s').to_s
date = Time.now.httpdate
def sign(key, base_string)
digest = OpenSSL::Digest::SHA256.new
hmac = OpenSSL::HMAC.digest(digest, key, base_string)
hmac64 = Base64.encode64(hmac).chomp.gsub(/\n/, '')
return hmac64
end
hmac = sign(apisecret, apikey + nonce + date)
req = Net::HTTP::Get.new(url)
req['X-TransferTo-apikey'] = apikey
req['X-TransferTo-nonce'] = nonce
req['X-TransferTo-hmac'] = hmac
req['Date'] = date
http = Net::HTTP.start(url.hostname, url.port, :use_ssl => true)
response = http.request(req)
<?php
$api_key = 'XXX';
$api_secret = 'YYY';
$url = 'ZZZ';
$nonce = time();
$date = gmdate('D, d M Y H:i:s T');
$hmac = base64_encode(hash_hmac('sha256', $api_key.$nonce.$date, $api_secret, true ));
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
"X-TransferTo-apikey: $api_key",
"X-TransferTo-nonce: $nonce",
"X-TransferTo-hmac: $hmac",
"Date: $date"
));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
var apikey string = "XXX"
var secret string = "YYY"
var url string = "ZZZ"
var date string = time.Now().Format(time.RFC1123)
var nonce string = strconv.FormatInt(time.Now().Unix(), 10)
func main() {
digest := hmac.New(sha256.New, []byte(secret))
digest.Write([]byte(apikey + nonce + date))
hmac := base64.StdEncoding.EncodeToString(digest.Sum(nil))
request, err := http.NewRequest("GET", url, nil)
request.Header.Add("X-TransferTo-apikey", apikey)
request.Header.Add("X-TransferTo-nonce", nonce)
request.Header.Add("X-TransferTo-hmac", hmac)
request.Header.Add("Date", date)
client := &http.Client{}
response, err := client.Do(request)
}
my $api_key = 'XXX';
my $api_secret = 'YYY';
my $url = 'ZZZ';
my $nonce = time();
my $date = HTTP::Date::time2str();
my $hmac = hmac_sha256_base64($api_key, $nonce, $date, $api_secret);
$hmac .= '=' while length($hmac) % 4;
my $client = REST::Client->new;
$client->addHeader('X-TransferTo-apikey', $api_key);
$client->addHeader('X-TransferTo-nonce', $nonce);
$client->addHeader('X-TransferTo-hmac', $hmac);
$client->addHeader('Date', $date);
my $response = $client->get($url);
Header Field | Description |
---|---|
X-TransferTo-apikey |
API key |
X-TransferTo-nonce |
Unique value per request (max 64 chars) |
X-TransferTo-hmac |
HMAC-SHA-256 (Base64 Encoded) |
Date |
Current date in HTTP format |
Errors
HTTP Response
HTTP/1.1 401 Unauthorized
{
"errors": [
{
"code": "1000401",
"message": "Unauthorized"
}
]
}
Thunes uses standard HTTP response codes to indicate whether an API request is successful or not.
Status | Description |
---|---|
200 |
OK |
400 |
Bad Request: Request was malformed |
401 |
Unauthorized: Credentials missing or invalid |
404 |
Not Found: Resource doesn’t exist |
500 |
Server Error: Error occurred on Thunes |
Details will always be contained within the HTTP body.
API Error Codes
Code | Description |
---|---|
1000401 |
Unauthorized |
1000404 |
Resource not found |
1000999 |
Invalid parameter |
1000998 |
Source country not authorized |
1003001 |
Payer is inactive in your account |
1003002 |
Invalid payer |
1003007 |
Payer is currently unavailable |
1003008 |
Destination amount is invalid |
1003009 |
Parameter page is outside of the page range |
1003010 |
Destination currency not provided by payer |
1003011 |
Transaction amount below minimum of the selected payer |
1003012 |
Transaction amount over maximum of the selected payer |
1005001 |
Account is invalid |
1006001 |
Transaction amount limit exceeded |
1006002 |
Account quantity limit exceeded |
1006099 |
Limit exceeded |
1007001 |
External ID has already been used |
1007002 |
Transaction has already been confirmed |
1007003 |
Transaction can not be confirmed |
1007004 |
Transaction can no longer be confirmed, quotation has expired |
1007005 |
Transaction can not be confirmed, insufficient balance |
1007100 |
Method is not supported by this payer |
1007101 |
Method is currently unavailable |
1008002 |
Quotation not found |
1008003 |
Quotation has expired |
1008004 |
Transaction not found |
1009001 |
Unexpected error, please contact our support team |
Pagination
GET /{resource}?page=1&per_page=50 HTTP/1.1
X-Total: 1
X-Total-Pages: 1
X-Per-Page: 50
X-Page: 1
API resources supporting bulk fetches via “list” API methods will be returned in a paginated fashion.
Input Parameters
Field | Required | Type | Description |
---|---|---|---|
page |
No | Integer | Page number |
per_page |
No | Integer | Number of results per page (default 50, max 100) |
Output Headers
Field | Description |
---|---|
X-Total |
Total number of records |
X-Total-Pages |
Total number of pages |
X-Per-Page |
Number of records per page |
X-Page |
Current page number |
X-Next-Page |
Next page number (if any) |
X-Prev-Page |
Previous page number (if any) |
Endpoints
Connectivity
Ping
GET /ping HTTP/1.1
200 OK
{
"status": "up"
}
GET /ping
Query API status.
Output
Field | Type | Description |
---|---|---|
status |
String | API status |
Expected value of status
should be “up”.
Discovery
Services
GET /v1/money-transfer/services HTTP/1.1
X-Total: 1
X-Total-Pages: 1
X-Per-Page: 50
X-Page: 1
200 OK
[
{
"id": 1,
"name": "MobileWallet"
},
{
"id": 2,
"name": "BankAccount"
},
{
"id": 3,
"name": "CashPickup"
}
]
GET /v1/money-transfer/services
Retrieve list of all available services.
Input
Field | Required | Type | Description |
---|---|---|---|
page |
No | Integer | Page number |
per_page |
No | Integer | Number of results per page (default 50, max 100) |
country_iso_code |
No | String | Country code in ISO 3166-1 alpha-3 format |
Output
Array of service objects in a paginated fashion.
Payers
GET /v1/money-transfer/payers HTTP/1.1
X-Total: 1
X-Total-Pages: 1
X-Per-Page: 50
X-Page: 1
200 OK
[
{
"id": 1,
"name": "MobileWallet Payer",
"precision": 2,
"increment": 0.01,
"currency": "USD",
"country_iso_code": "USA",
"minimum_transaction_amount": 0,
"maximum_transaction_amount": null,
"service": {
"id": 1,
"name": "MobileWallet"
},
"credit_party_identifiers_accepted": [
[
"msisdn"
]
],
"required_sender_fields": [
[
"firstname",
"lastname",
"date_of_birth"
]
],
"required_beneficiary_fields": [
[
"firstname",
"lastname"
]
],
"credit_party_information": {
"credit_party_identifiers_accepted": [
[]
]
},
"credit_party_verification": {
"credit_party_identifiers_accepted": [
[]
],
"required_beneficiary_fields": [
[]
]
}
},
{
"id": 2,
"name": "CashPickup Payer",
"precision": 2,
"increment": 0.01,
"currency": "PHP",
"country_iso_code": "PHL",
"minimum_transaction_amount": 0,
"maximum_transaction_amount": null,
"service": {
"name": "CashPickup",
"id": 3
},
"credit_party_identifiers_accepted": [
[
"msisdn"
]
],
"required_sender_fields": [
[
"firstname",
"lastname",
"date_of_birth"
]
],
"required_beneficiary_fields": [
[
"firstname",
"lastname"
]
],
"credit_party_information": {
"credit_party_identifiers_accepted": [
[]
]
},
"credit_party_verification": {
"credit_party_identifiers_accepted": [
[]
],
"required_beneficiary_fields": [
[]
]
}
}
]
GET /v1/money-transfer/payers
Retrieve information for all payers available for a given account, optionally filtered based on specified parameters.
Input
Field | Required | Type | Description |
---|---|---|---|
page |
No | Integer | Page number |
per_page |
No | Integer | Number of results per page (default 50, max 100) |
service_id |
No | Integer | Service ID |
country_iso_code |
No | String | Country code in ISO 3166-1 alpha-3 format |
currency |
No | String | Currency in ISO 4217 format |
Output
Array of payer objects in a paginated fashion.
–
GET /v1/money-transfer/payers/3 HTTP/1.1
200 OK
{
"id": 3,
"name": "Sample Payer",
"precision": 0,
"increment": 0.01,
"currency": "IDR",
"country_iso_code": "IDN",
"minimum_transaction_amount": 0,
"maximum_transaction_amount": null,
"service": {
"id": 1,
"name": "MobileWallet"
},
"credit_party_identifiers_accepted": [
[
"msisdn"
]
],
"required_sender_fields": [
[
"firstname",
"date_of_birth",
"lastname"
]
],
"required_beneficiary_fields": [
[
"firstname",
"lastname"
]
],
"credit_party_information": {
"credit_party_identifiers_accepted": [
[]
]
},
"credit_party_verification": {
"credit_party_identifiers_accepted": [
[]
],
"required_beneficiary_fields": [
[]
]
}
}
GET /v1/money-transfer/payers/{id}
Retrieve information for a given payer.
Output
Payer object.
Payer Rates
GET /v1/money-transfer/payers/362/rates HTTP/1.1
200 OK
{
"destination_currency": "CUC",
"rates": {
"EUR": [
{
"source_amount_min": 0,
"source_amount_max": 88,
"wholesale_fx_rate": 1.10847692409526
},
{
"source_amount_min": 88,
"source_amount_max": 8800,
"wholesale_fx_rate": 1.10847692409526
}
]
}
}
GET /v1/money-transfer/payers/{id}/rates
Retrieve rates under a given payer.
Output
Field | Type | Description |
---|---|---|
destination_currency |
String | Currency in ISO 4217 format |
rates |
Object | Rates information |
Countries
GET /v1/money-transfer/countries HTTP/1.1
X-Total: 1
X-Total-Pages: 1
X-Per-Page: 50
X-Page: 1
200 OK
[
{
"iso_code": "KEN",
"name": "Kenya"
}
]
GET /v1/money-transfer/countries
Retrieve list of countries for all money transfer services available for a given account.
Input
Field | Required | Type | Description |
---|---|---|---|
page |
No | Integer | Page number |
per_page |
No | Integer | Number of results per page (default 50, max 100) |
Output
Array of country objects in a paginated fashion.
Administrative Divisions
GET /v1/money-transfer/countries/CUB/administrative-division-categories HTTP/1.1
X-Total: 2
X-Total-Pages: 1
X-Per-Page: 50
X-Page: 1
200 OK
[
{
"id": 1,
"name": "Province"
},
{
"id": 2,
"name": "Municipality"
}
]
GET /v1/money-transfer/countries/{iso_code}/administrative-division-categories
Retrieve list of all administrative division categories available for a given account.
Input
Field | Required | Type | Description |
---|---|---|---|
page |
No | Integer | Page number |
per_page |
No | Integer | Number of results per page (default 50, max 100) |
Output
Array of administrative division category objects in a paginated fashion.
–
GET /v1/money-transfer/countries/CUB/administrative-divisions HTTP/1.1
X-Total: 16
X-Total-Pages: 1
X-Per-Page: 50
X-Page: 1
200 OK
[
{
"category": {
"id": 1,
"name": "Province"
},
"id": 1,
"depth": 1,
"name": "Artemisa Province",
"parent_id": null
},
{
"category": {
"id": 1,
"name": "Province"
},
"id": 13,
"depth": 1,
"name": "Camagüey Province",
"parent_id": null
},
{
"category": {
"id": 1,
"name": "Province"
},
"id": 27,
"depth": 1,
"name": "Ciego de Ávila Province",
"parent_id": null
},
{
"category": {
"id": 1,
"name": "Province"
},
"id": 38,
"depth": 1,
"name": "Cienfuegos Province",
"parent_id": null
},
{
"category": {
"id": 1,
"name": "Province"
},
"id": 47,
"depth": 1,
"name": "Granma Province",
"parent_id": null
},
{
"category": {
"id": 1,
"name": "Province"
},
"id": 61,
"depth": 1,
"name": "Guantánamo Province",
"parent_id": null
},
{
"category": {
"id": 1,
"name": "Province"
},
"id": 72,
"depth": 1,
"name": "Havana",
"parent_id": null
},
{
"category": {
"id": 1,
"name": "Province"
},
"id": 88,
"depth": 1,
"name": "Holguín Province",
"parent_id": null
},
{
"category": {
"id": 1,
"name": "Province"
},
"id": 103,
"depth": 1,
"name": "Isla de la Juventud",
"parent_id": null
},
{
"category": {
"id": 1,
"name": "Province"
},
"id": 105,
"depth": 1,
"name": "Las Tunas Province",
"parent_id": null
},
{
"category": {
"id": 1,
"name": "Province"
},
"id": 114,
"depth": 1,
"name": "Matanzas Province",
"parent_id": null
},
{
"category": {
"id": 1,
"name": "Province"
},
"id": 128,
"depth": 1,
"name": "Mayabeque Province",
"parent_id": null
},
{
"category": {
"id": 1,
"name": "Province"
},
"id": 140,
"depth": 1,
"name": "Pinar del Río Province",
"parent_id": null
},
{
"category": {
"id": 1,
"name": "Province"
},
"id": 152,
"depth": 1,
"name": "Sancti Spíritus Province",
"parent_id": null
},
{
"category": {
"id": 1,
"name": "Province"
},
"id": 161,
"depth": 1,
"name": "Santiago de Cuba Province",
"parent_id": null
},
{
"category": {
"id": 1,
"name": "Province"
},
"id": 171,
"depth": 1,
"name": "Villa Clara Province",
"parent_id": null
}
]
GET /v1/money-transfer/countries/{iso_code}/administrative-divisions
Retrieve list of all administrative divisions available for a given account.
Input
Field | Required | Type | Description |
---|---|---|---|
page |
No | Integer | Page number |
per_page |
No | Integer | Number of results per page (default 50, max 100) |
Output
Array of administrative division objects in a paginated fashion.
–
GET /v1/money-transfer/administrative-divisions/1 HTTP/1.1
200 OK
{
"id": 1,
"depth": 1,
"name": "Artemisa Province",
"parent_id": null,
"category": {
"id": 1,
"name": "Province"
}
}
GET /v1/money-transfer/administrative-divisions/{id}
Retrieve information for a given administrative division.
Output
Administrative division object.
–
GET /v1/money-transfer/administrative-divisions/1/administrative-divisions HTTP/1.1
X-Total: 11
X-Total-Pages: 1
X-Per-Page: 50
X-Page: 1
200 OK
[
{
"category": {
"id": 2,
"name": "Municipality"
},
"id": 2,
"depth": 2,
"name": "Alquízar",
"parent_id": 1
},
{
"category": {
"id": 2,
"name": "Municipality"
},
"id": 3,
"depth": 2,
"name": "Artemisa",
"parent_id": 1
},
{
"category": {
"id": 2,
"name": "Municipality"
},
"id": 4,
"depth": 2,
"name": "Bahía Honda",
"parent_id": 1
},
{
"category": {
"id": 2,
"name": "Municipality"
},
"id": 5,
"depth": 2,
"name": "Bauta",
"parent_id": 1
},
{
"category": {
"id": 2,
"name": "Municipality"
},
"id": 6,
"depth": 2,
"name": "Caimito",
"parent_id": 1
},
{
"category": {
"id": 2,
"name": "Municipality"
},
"id": 7,
"depth": 2,
"name": "Candelaria",
"parent_id": 1
},
{
"category": {
"id": 2,
"name": "Municipality"
},
"id": 8,
"depth": 2,
"name": "Guanajay",
"parent_id": 1
},
{
"category": {
"id": 2,
"name": "Municipality"
},
"id": 9,
"depth": 2,
"name": "Güira de Melena",
"parent_id": 1
},
{
"category": {
"id": 2,
"name": "Municipality"
},
"id": 10,
"depth": 2,
"name": "Mariel",
"parent_id": 1
},
{
"category": {
"id": 2,
"name": "Municipality"
},
"id": 11,
"depth": 2,
"name": "San Antonio de los Baños",
"parent_id": 1
},
{
"category": {
"id": 2,
"name": "Municipality"
},
"id": 12,
"depth": 2,
"name": "San Cristóbal",
"parent_id": 1
}
]
GET /v1/money-transfer/administrative-divisions/{id}/administrative-divisions
Retrieve information for all administrative divisions under a given administrative division.
Input
Field | Required | Type | Description |
---|---|---|---|
page |
No | Integer | Page number |
per_page |
No | Integer | Number of results per page (default 50, max 100) |
Output
Array of administrative division objects in a paginated fashion.
Entities
GET /v1/money-transfer/countries/IND/entity-categories HTTP/1.1
X-Total: 2
X-Total-Pages: 1
X-Per-Page: 50
X-Page: 1
200 OK
[
{
"id": 1,
"name": "Bank"
},
{
"id": 2,
"name": "Branch"
}
]
GET /v1/money-transfer/countries/{iso_code}/entity-categories
Retrieve information for all entity categories under a given country.
Input
Field | Required | Type | Description |
---|---|---|---|
page |
No | Integer | Page number |
per_page |
No | Integer | Number of results per page (default 50, max 100) |
Output
Array of entity category objects in a paginated fashion.
–
GET /v1/money-transfer/countries/IND/entity-identifiers HTTP/1.1
X-Total: 1
X-Total-Pages: 1
X-Per-Page: 50
X-Page: 1
200 OK
[
{
"id": 2,
"code": "IFS_CODE"
}
]
GET /v1/money-transfer/countries/{iso_code}/entity-identifiers
Retrieve list of entity identifiers under a given country.
Input
Field | Required | Type | Description |
---|---|---|---|
page |
No | Integer | Page number |
per_page |
No | Integer | Number of results per page (default 50, max 100) |
Output
Array of entity identifier objects in a paginated fashion.
–
GET /v1/money-transfer/countries/IND/payment-systems HTTP/1.1
X-Total: 1
X-Total-Pages: 1
X-Per-Page: 50
X-Page: 1
200 OK
[
{
"id": 2,
"code": "NEFT"
}
]
GET /v1/money-transfer/countries/{iso_code}/payment-systems
Retrieve information for all entity payment systems under a given country.
Input
Field | Required | Type | Description |
---|---|---|---|
page |
No | Integer | Page number |
per_page |
No | Integer | Number of results per page (default 50, max 100) |
Output
Array of entity payment system objects in a paginated fashion.
–
GET /v1/money-transfer/countries/IND/entities HTTP/1.1
X-Total: 1
X-Total-Pages: 1
X-Per-Page: 50
X-Page: 1
200 OK
[
{
"id": 328,
"name": "DBS",
"address": null,
"administrative_division": {
"id": 315,
"name": "Delhi",
"category": {
"id": 5,
"name": "Union Territory"
},
"depth": 1,
"parent_id": null
},
"category": {
"id": 1,
"name": "Bank"
},
"country_iso_code": "IND",
"depth": 1,
"identifiers": [],
"parent_id": null,
"payers": [
{
"id": 358,
"name": "All Banks",
"currency": "INR"
}
],
"payment_systems": []
}
]
GET /v1/money-transfer/countries/{iso_code}/entities
Retrieve information for all entities under a given country.
Input
Field | Required | Type | Description |
---|---|---|---|
page |
No | Integer | Page number |
per_page |
No | Integer | Number of results per page (default 50, max 100) |
category_id |
No | Integer | Entity category to filter results by |
service_id |
No | Integer | Entity service to filter results by |
payer_id |
No | Integer | Entity payer to filter results by |
Output
Array of entity objects in a paginated fashion.
–
GET /v1/money-transfer/entities HTTP/1.1
X-Total: 2
X-Total-Pages: 1
X-Per-Page: 50
X-Page: 1
200 OK
[
{
"id": 2,
"name": "Banco Metropolitano",
"address": null,
"administrative_division": {
"id": 84,
"name": "Playa",
"category": {
"id": 2,
"name": "Municipality"
},
"depth": 2,
"parent_id": 72
},
"category": {
"id": 1,
"name": "Bank"
},
"country_iso_code": "CUB",
"depth": 1,
"identifiers": [],
"parent_id": null,
"payers": [
{
"id": 364,
"name": "Cash Pickup Network",
"currency": "CUC"
}
],
"payment_systems": []
},
{
"id": 328,
"name": "DBS",
"address": null,
"administrative_division": {
"id": 315,
"name": "Delhi",
"category": {
"id": 5,
"name": "Union Territory"
},
"depth": 1,
"parent_id": null
},
"category": {
"id": 1,
"name": "Bank"
},
"country_iso_code": "IND",
"depth": 1,
"identifiers": [],
"parent_id": null,
"payers": [
{
"id": 358,
"name": "All Banks",
"currency": "INR"
}
],
"payment_systems": []
}
]
GET /v1/money-transfer/entities
Retrieve information for all entities available for a given account.
Input
Field | Required | Type | Description |
---|---|---|---|
page |
No | Integer | Page number |
per_page |
No | Integer | Number of results per page (default 50, max 100) |
country_iso_code |
No | String | Country code in ISO 3166-1 alpha-3 format |
category_id |
No | Integer | Entity category to filter results by |
service_id |
No | Integer | Entity service to filter results by |
payer_id |
No | Integer | Entity payer to filter results by |
Output
Array of entity objects in a paginated fashion.
–
GET /v1/money-transfer/entities/2 HTTP/1.1
200 OK
{
"id": 2,
"name": "Banco Metropolitano",
"address": null,
"administrative_division": {
"id": 84,
"name": "Playa",
"category": {
"id": 2,
"name": "Municipality"
},
"depth": 2,
"parent_id": 72
},
"category": {
"id": 1,
"name": "Bank"
},
"country_iso_code": "CUB",
"depth": 1,
"identifiers": [],
"parent_id": null,
"payers": [
{
"id": 364,
"name": "Cash Pickup Network",
"currency": "CUC"
}
],
"payment_systems": []
}
GET /v1/money-transfer/entities/{id}
Retrieve information for a given entity.
Output
Entity object.
–
GET /v1/money-transfer/entities/2/entities HTTP/1.1
X-Total: 2
X-Total-Pages: 1
X-Per-Page: 50
X-Page: 1
200 OK
[
{
"id": 15,
"name": "10 DE OCT.",
"address": "10 DE OCT. #415 10 DE OCT. Y LUYANO 10 DE OCT.",
"administrative_division": {
"id": 78,
"name": "Diez de Octubre",
"category": {
"id": 2,
"name": "Municipality"
},
"depth": 2,
"parent_id": 72
},
"category": {
"id": 2,
"name": "Branch"
},
"country_iso_code": "CUB",
"depth": 2,
"identifiers": [],
"parent_id": 2,
"payers": [
{
"id": 364,
"name": "Cash Pickup Network",
"currency": "CUC"
}
],
"payment_systems": []
},
{
"id": 21,
"name": "ALTAHABANA",
"address": "CALLE L NRO.15802.ALTAHABANA.BOYEROS.",
"administrative_division": {
"id": 74,
"name": "Boyeros",
"category": {
"id": 2,
"name": "Municipality"
},
"depth": 2,
"parent_id": 72
},
"category": {
"id": 2,
"name": "Branch"
},
"country_iso_code": "CUB",
"depth": 2,
"identifiers": [],
"parent_id": 2,
"payers": [
{
"id": 364,
"name": "Cash Pickup Network",
"currency": "CUC"
}
],
"payment_systems": []
}
]
GET /v1/money-transfer/entities/{id}/entities
Retrieve information for all entities under a given entity.
Input
Field | Required | Type | Description |
---|---|---|---|
page |
No | Integer | Page number |
per_page |
No | Integer | Number of results per page (default 50, max 100) |
Output
Array of entity objects in a paginated fashion.
Account
Balances
GET /v1/money-transfer/balances HTTP/1.1
X-Total: 1
X-Total-Pages: 1
X-Per-Page: 50
X-Page: 1
200 OK
[
{
"id": 1,
"currency": "EUR",
"balance": 10000000,
"available_balance": 10000000,
"credit_facility": 0
}
]
GET /v1/money-transfer/balances
Retrieve information for all account balances per currency.
available_balance
= balance
- total amount of pending transactions
Input
Field | Required | Type | Description |
---|---|---|---|
page |
No | Integer | Page number |
per_page |
No | Integer | Number of results per page (default 50, max 100) |
Output
Array of balance objects.
Credit Parties
Information
POST /v1/money-transfer/payers/1/credit-party-information HTTP/1.1
200 OK
{
"credit_party_identifier": {
"msisdn": "263775892364"
}
}
{
"lastname": "Doe",
"lastname2": null,
"middlename": null,
"firstname": "Jane",
"nativename": null,
"nationality_country_iso_code": "FRA",
"code": null,
"date_of_birth": "1971-01-01",
"country_of_birth_iso_code": "ZWE",
"gender": "MALE",
"address": "3 Norfolk Road",
"postal_code": "4581",
"city": "Harare",
"country_iso_code": "ZWE",
"msisdn": "263775892364",
"email": "jane.doe@mail.com",
"id_type": "SOCIAL_SECURITY",
"id_country_iso_code": "ZWE",
"id_number": "178027317681327",
"id_delivery_date": null,
"id_expiration_date": null,
"occupation": "Sales Executive",
"bank_account_holder_name": null,
"province_state": null
}
POST /v1/money-transfer/payers/{id}/credit-party-information
Retrieve beneficiary information based on account details under a given payer.
Input
Field | Required | Type | Description |
---|---|---|---|
credit_party_identifier |
Yes | Object | Credit party identifier information |
Output
Beneficiary object.
Verification
POST /v1/money-transfer/payers/1/credit-party-verification HTTP/1.1
200 OK
{
"credit_party_identifier": {
"msisdn": "263775892364"
}
}
{
"id": 31,
"account_status": "AVAILABLE"
}
POST /v1/money-transfer/payers/{id}/credit-party-verification
Validate status of an account under a given payer.
Input
Field | Required | Type | Description |
---|---|---|---|
credit_party_identifier |
Yes | Object | Credit party identifier information |
beneficiary |
No | Object | Beneficiary information |
†: Requiredness will depend on the payer configuration
Output
Field | Type | Description |
---|---|---|
id |
Integer | Verification request ID |
account_status |
String | Account status |
Transfers
Quotations
POST /v1/money-transfer/quotations HTTP/1.1
201 Created
{
"external_id": "1481184321405",
"payer_id": "1",
"mode": "SOURCE_AMOUNT",
"source": {
"amount": "10",
"currency": "EUR",
"country_iso_code": "FRA"
},
"destination": {
"amount": null,
"currency": "USD"
}
}
{
"id": 1,
"external_id": "1481184321405",
"payer": {
"id": 1,
"name": "Sample Payer",
"precision": 2,
"increment": 0.01,
"currency": "USD",
"country_iso_code": "ZWE",
"minimum_transaction_amount": 0,
"maximum_transaction_amount": null,
"service": {
"id": 1,
"name": "MobileWallet"
},
"credit_party_identifiers_accepted": [
[
"msisdn"
]
],
"required_sender_fields": [
[
"lastname",
"firstname"
]
],
"required_beneficiary_fields": [
[
"lastname",
"firstname"
]
],
"credit_party_information": {
"credit_party_identifiers_accepted": [
[]
]
},
"credit_party_verification": {
"credit_party_identifiers_accepted": [
[]
],
"required_beneficiary_fields": [
[]
]
}
},
"mode": "SOURCE_AMOUNT",
"source": {
"country_iso_code": "FRA",
"currency": "EUR",
"amount": 10
},
"destination": {
"currency": "USD",
"amount": 10.69
},
"sent_amount": {
"currency": "EUR",
"amount": 10
},
"wholesale_fx_rate": 1.06891969534071,
"fee": {
"currency": "EUR",
"amount": 1.88
},
"creation_date": "2016-11-02T09:07:44",
"expiration_date": "2016-11-03T09:07:44"
}
POST /v1/money-transfer/quotations
Creates a new quotation for a given source or destination value.
Input
Field | Required | Type | Description |
---|---|---|---|
external_id |
Yes | String | External reference ID |
payer_id |
Yes | Integer | Payer ID |
mode |
Yes | String | Quotation mode |
source |
Yes | Object | Source information |
destination |
Yes | Object | Destination information |
Depending on the mode
, amount is optional in either Source or Destination object.
Output
Quotation object.
–
GET /v1/money-transfer/quotations/1 HTTP/1.1
200 OK
{
"id": 1,
"external_id": "1481184321405",
"payer": {
"id": 1,
"name": "Sample Payer",
"precision": 2,
"increment": 0.01,
"currency": "USD",
"country_iso_code": "ZWE",
"minimum_transaction_amount": 0,
"maximum_transaction_amount": null,
"service": {
"id": 1,
"name": "MobileWallet"
},
"credit_party_identifiers_accepted": [
[
"msisdn"
]
],
"required_sender_fields": [
[
"lastname",
"firstname"
]
],
"required_beneficiary_fields": [
[
"lastname",
"firstname"
]
],
"credit_party_information": {
"credit_party_identifiers_accepted": [
[]
]
},
"credit_party_verification": {
"credit_party_identifiers_accepted": [
[]
],
"required_beneficiary_fields": [
[]
]
}
},
"mode": "SOURCE_AMOUNT",
"source": {
"country_iso_code": "FRA",
"currency": "EUR",
"amount": 10
},
"destination": {
"currency": "USD",
"amount": 10.69
},
"sent_amount": {
"currency": "EUR",
"amount": 10
},
"wholesale_fx_rate": 1.06891969534071,
"fee": {
"currency": "EUR",
"amount": 1.88
},
"creation_date": "2016-11-02T09:07:44",
"expiration_date": "2016-11-03T09:07:44"
}
GET /v1/money-transfer/quotations/{id}
Retrieve information for a given quotation.
Output
Quotation object.
–
GET /v1/money-transfer/quotations/ext-1481184321405 HTTP/1.1
200 OK
{
"id": 1,
"external_id": "1481184321405",
"payer": {
"id": 1,
"name": "Sample Payer",
"precision": 2,
"increment": 0.01,
"currency": "USD",
"country_iso_code": "ZWE",
"minimum_transaction_amount": 0,
"maximum_transaction_amount": null,
"service": {
"id": 1,
"name": "MobileWallet"
},
"credit_party_identifiers_accepted": [
[
"msisdn"
]
],
"required_sender_fields": [
[
"lastname",
"firstname"
]
],
"required_beneficiary_fields": [
[
"lastname",
"firstname"
]
],
"credit_party_information": {
"credit_party_identifiers_accepted": [
[]
]
},
"credit_party_verification": {
"credit_party_identifiers_accepted": [
[]
],
"required_beneficiary_fields": [
[]
]
}
},
"mode": "SOURCE_AMOUNT",
"source": {
"country_iso_code": "FRA",
"currency": "EUR",
"amount": 10
},
"destination": {
"currency": "USD",
"amount": 10.69
},
"sent_amount": {
"currency": "EUR",
"amount": 10
},
"wholesale_fx_rate": 1.06891969534071,
"fee": {
"currency": "EUR",
"amount": 1.88
},
"creation_date": "2016-11-02T09:07:44",
"expiration_date": "2016-11-03T09:07:44"
}
GET /v1/money-transfer/quotations/ext-{external_id}
Retrieve information for a given quotation through an external reference ID.
Output
Quotation object.
Transactions
POST /v1/money-transfer/quotations/1/transactions HTTP/1.1
201 Created
{
"credit_party_identifier": {
"msisdn": "+263775892100",
"bank_account_number": "0123456789",
"swift_bic_code": "ABCDEFGH"
},
"sender": {
"lastname": "Doe",
"firstname": "John",
"nationality_country_iso_code": "FRA",
"date_of_birth": "1970-01-01",
"country_of_birth_iso_code": "FRA",
"gender": "MALE",
"address": "42 Rue des fleurs",
"postal_code": "75000",
"city": "Paris",
"country_iso_code": "FRA",
"msisdn": "33712345678",
"email": "john.doe@mail.com",
"id_type": "SOCIAL_SECURITY",
"id_number": "502-42-0158",
"id_delivery_date": "2016-01-01",
"occupation": "Residential Advisor"
},
"beneficiary": {
"lastname": "Doe",
"firstname": "Jane",
"nationality_country_iso_code": "FRA",
"date_of_birth": "1971-01-01",
"country_of_birth_iso_code": "ZWE",
"gender": "MALE",
"address": "3 Norfolk Road",
"postal_code": "4581",
"city": "Harare",
"country_iso_code": "ZWE",
"msisdn": "263775892364",
"email": "jane.doe@mail.com",
"id_type": "SOCIAL_SECURITY",
"id_country_iso_code": "ZWE",
"id_number": "178027317681327",
"occupation": "Sales Executive"
},
"external_id": "1478078339357",
"retail_fee": 1,
"retail_fee_currency": "EUR",
"purpose_of_remittance": "FAMILY_SUPPORT",
"callback_url": "{URL_PLACEHOLDER}"
}
{
"id": 1,
"status": "10000",
"status_message": "CREATED",
"status_class": "1",
"status_class_message": "CREATED",
"external_id": "1478078339357",
"external_code": null,
"payer_transaction_reference": null,
"payer_transaction_code": null,
"creation_date": "2016-11-02T09:19:15",
"expiration_date": "2016-11-03T09:07:44",
"credit_party_identifier": {
"msisdn": "+263775892100",
"bank_account_number": "0123456789",
"swift_bic_code": "ABCDEFGH"
},
"source": {
"country_iso_code": "FRA",
"currency": "EUR",
"amount": 10
},
"destination": {
"currency": "USD",
"amount": 10.69
},
"payer": {
"id": 1,
"name": "Sample Payer",
"precision": 2,
"increment": 0.01,
"currency": "USD",
"country_iso_code": "ZWE",
"minimum_transaction_amount": 0,
"maximum_transaction_amount": null,
"service": {
"id": 1,
"name": "MobileWallet"
},
"credit_party_identifiers_accepted": [
[
"msisdn"
]
],
"required_sender_fields": [
[
"lastname",
"firstname"
]
],
"required_beneficiary_fields": [
[
"lastname",
"firstname"
]
],
"credit_party_information": {
"credit_party_identifiers_accepted": [
[]
]
},
"credit_party_verification": {
"credit_party_identifiers_accepted": [
[]
],
"required_beneficiary_fields": [
[]
]
}
},
"sender": {
"lastname": "Doe",
"lastname2": null,
"middlename": null,
"firstname": "John",
"nativename": null,
"nationality_country_iso_code": "FRA",
"code": null,
"date_of_birth": "1970-01-01",
"country_of_birth_iso_code": "FRA",
"gender": "MALE",
"address": "42 Rue des fleurs",
"postal_code": "75000",
"city": "Paris",
"country_iso_code": "FRA",
"msisdn": "33712345678",
"email": "john.doe@mail.com",
"id_type": "SOCIAL_SECURITY",
"id_country_iso_code": null,
"id_number": "502-42-0158",
"id_delivery_date": "2016-01-01",
"id_expiration_date": null,
"occupation": "Residential Advisor",
"province_state": null,
"beneficiary_relationship": null,
"source_of_funds": null,
"bank_account_number": null
},
"beneficiary": {
"lastname": "Doe",
"lastname2": null,
"middlename": null,
"firstname": "Jane",
"nativename": null,
"nationality_country_iso_code": "FRA",
"code": null,
"date_of_birth": "1971-01-01",
"country_of_birth_iso_code": "ZWE",
"gender": "MALE",
"address": "3 Norfolk Road",
"postal_code": "4581",
"city": "Harare",
"country_iso_code": "ZWE",
"msisdn": "263775892364",
"email": "jane.doe@mail.com",
"id_type": "SOCIAL_SECURITY",
"id_country_iso_code": "ZWE",
"id_number": "178027317681327",
"id_delivery_date": null,
"id_expiration_date": null,
"occupation": "Sales Executive",
"bank_account_holder_name": null,
"province_state": null
},
"callback_url": "{URL_PLACEHOLDER}",
"sent_amount": {
"currency": "EUR",
"amount": 10
},
"wholesale_fx_rate": 1.06891969534071,
"retail_rate": null,
"retail_fee": 1,
"retail_fee_currency": "EUR",
"fee": {
"currency": "EUR",
"amount": 1.88
},
"purpose_of_remittance": "FAMILY_SUPPORT",
"additional_information_1": null,
"additional_information_2": null,
"additional_information_3": null
}
POST /v1/money-transfer/quotations/{id}/transactions
Create a new transaction with transfer values specified from a given quotation.
Input
Field | Required | Type | Description |
---|---|---|---|
credit_party_identifier |
Yes | Object | Credit party identifier |
retail_rate |
No | Number | Retail rate |
retail_fee |
No | Number | Retail fee |
retail_fee_currency |
No | String | Retail fee currency in ISO 4217 format |
sender |
Yes | Object | Sender information |
beneficiary |
Yes | Object | Beneficiary information |
external_id |
Yes | String | External ID |
external_code |
No | String | External reference code |
callback_url |
No | String | Callback URL |
purpose_of_remittance |
Yes | String | Purpose of the remittance |
additional_information_1 |
No | String | Additional information |
additional_information_2 |
No | String | Additional information |
additional_information_3 |
No | String | Additional information |
Output
Transaction object.
–
POST /v1/money-transfer/quotations/ext-1481184321405/transactions HTTP/1.1
201 Created
{
"credit_party_identifier": {
"msisdn": "+263775892100",
"bank_account_number": "0123456789",
"swift_bic_code": "ABCDEFGH"
},
"sender": {
"lastname": "Doe",
"firstname": "John",
"nationality_country_iso_code": "FRA",
"date_of_birth": "1970-01-01",
"country_of_birth_iso_code": "FRA",
"gender": "MALE",
"address": "42 Rue des fleurs",
"postal_code": "75000",
"city": "Paris",
"country_iso_code": "FRA",
"msisdn": "33712345678",
"email": "john.doe@mail.com",
"id_type": "SOCIAL_SECURITY",
"id_number": "502-42-0158",
"id_delivery_date": "2016-01-01",
"occupation": "Residential Advisor"
},
"beneficiary": {
"lastname": "Doe",
"firstname": "Jane",
"nationality_country_iso_code": "FRA",
"date_of_birth": "1971-01-01",
"country_of_birth_iso_code": "ZWE",
"gender": "MALE",
"address": "3 Norfolk Road",
"postal_code": "4581",
"city": "Harare",
"country_iso_code": "ZWE",
"msisdn": "263775892364",
"email": "jane.doe@mail.com",
"id_type": "SOCIAL_SECURITY",
"id_country_iso_code": "ZWE",
"id_number": "178027317681327",
"occupation": "Sales Executive"
},
"external_id": "1478078339357",
"retail_fee": 1,
"retail_fee_currency": "EUR",
"purpose_of_remittance": "FAMILY_SUPPORT",
"callback_url": "{URL_PLACEHOLDER}"
}
{
"id": 1,
"status": "10000",
"status_message": "CREATED",
"status_class": "1",
"status_class_message": "CREATED",
"external_id": "1478078339357",
"external_code": null,
"payer_transaction_reference": null,
"payer_transaction_code": null,
"creation_date": "2016-11-02T09:19:15",
"expiration_date": "2016-11-03T09:07:44",
"credit_party_identifier": {
"msisdn": "+263775892100",
"bank_account_number": "0123456789",
"swift_bic_code": "ABCDEFGH"
},
"source": {
"country_iso_code": "FRA",
"currency": "EUR",
"amount": 10
},
"destination": {
"currency": "USD",
"amount": 10.69
},
"payer": {
"id": 1,
"name": "Sample Payer",
"precision": 2,
"increment": 0.01,
"currency": "USD",
"country_iso_code": "ZWE",
"minimum_transaction_amount": 0,
"maximum_transaction_amount": null,
"service": {
"id": 1,
"name": "MobileWallet"
},
"credit_party_identifiers_accepted": [
[
"msisdn"
]
],
"required_sender_fields": [
[
"lastname",
"firstname"
]
],
"required_beneficiary_fields": [
[
"lastname",
"firstname"
]
],
"credit_party_information": {
"credit_party_identifiers_accepted": [
[]
]
},
"credit_party_verification": {
"credit_party_identifiers_accepted": [
[]
],
"required_beneficiary_fields": [
[]
]
}
},
"sender": {
"lastname": "Doe",
"lastname2": null,
"middlename": null,
"firstname": "John",
"nativename": null,
"nationality_country_iso_code": "FRA",
"code": null,
"date_of_birth": "1970-01-01",
"country_of_birth_iso_code": "FRA",
"gender": "MALE",
"address": "42 Rue des fleurs",
"postal_code": "75000",
"city": "Paris",
"country_iso_code": "FRA",
"msisdn": "33712345678",
"email": "john.doe@mail.com",
"id_type": "SOCIAL_SECURITY",
"id_country_iso_code": null,
"id_number": "502-42-0158",
"id_delivery_date": "2016-01-01",
"id_expiration_date": null,
"occupation": "Residential Advisor",
"province_state": null,
"beneficiary_relationship": null,
"source_of_funds": null,
"bank_account_number": null
},
"beneficiary": {
"lastname": "Doe",
"lastname2": null,
"middlename": null,
"firstname": "Jane",
"nativename": null,
"nationality_country_iso_code": "FRA",
"code": null,
"date_of_birth": "1971-01-01",
"country_of_birth_iso_code": "ZWE",
"gender": "MALE",
"address": "3 Norfolk Road",
"postal_code": "4581",
"city": "Harare",
"country_iso_code": "ZWE",
"msisdn": "263775892364",
"email": "jane.doe@mail.com",
"id_type": "SOCIAL_SECURITY",
"id_country_iso_code": "ZWE",
"id_number": "178027317681327",
"id_delivery_date": null,
"id_expiration_date": null,
"occupation": "Sales Executive",
"bank_account_holder_name": null,
"province_state": null
},
"callback_url": "{URL_PLACEHOLDER}",
"sent_amount": {
"currency": "EUR",
"amount": 10
},
"wholesale_fx_rate": 1.06891969534071,
"retail_rate": null,
"retail_fee": 1,
"retail_fee_currency": "EUR",
"fee": {
"currency": "EUR",
"amount": 1.88
},
"purpose_of_remittance": "FAMILY_SUPPORT",
"additional_information_1": null,
"additional_information_2": null,
"additional_information_3": null
}
POST /v1/money-transfer/quotations/ext-{external_id}/transactions
Create a new transaction with transfer values specified from a given quotation based on the external ID.
Input
Field | Required | Type | Description |
---|---|---|---|
credit_party_identifier |
Yes | Object | Credit party identifier |
retail_rate |
No | Number | Retail rate |
retail_fee |
No | Number | Retail fee |
retail_fee_currency |
No | String | Retail fee currency in ISO 4217 format |
sender |
Yes | Object | Sender information |
beneficiary |
Yes | Object | Beneficiary information |
external_id |
Yes | String | External ID |
external_code |
No | String | External reference code |
callback_url |
No | String | Callback URL |
purpose_of_remittance |
Yes | String | Purpose of the remittance |
additional_information_1 |
No | String | Additional information |
additional_information_2 |
No | String | Additional information |
additional_information_3 |
No | String | Additional information |
Output
Transaction object.
–
POST /v1/money-transfer/transactions/1/confirm HTTP/1.1
200 OK
{
"id": 1,
"status": "20000",
"status_message": "CONFIRMED",
"status_class": "2",
"status_class_message": "CONFIRMED",
"external_id": "1478078339357",
"external_code": null,
"payer_transaction_reference": null,
"payer_transaction_code": null,
"creation_date": "2016-11-02T09:19:15",
"expiration_date": "2016-11-03T09:07:44",
"credit_party_identifier": {
"msisdn": "+263775892100",
"bank_account_number": "0123456789",
"swift_bic_code": "ABCDEFGH"
},
"source": {
"country_iso_code": "FRA",
"currency": "EUR",
"amount": 10
},
"destination": {
"currency": "USD",
"amount": 10.69
},
"payer": {
"id": 1,
"name": "Sample Payer",
"precision": 2,
"increment": 0.01,
"currency": "USD",
"country_iso_code": "ZWE",
"minimum_transaction_amount": 0,
"maximum_transaction_amount": null,
"service": {
"id": 1,
"name": "MobileWallet"
},
"credit_party_identifiers_accepted": [
[
"msisdn"
]
],
"required_sender_fields": [
[
"lastname",
"firstname"
]
],
"required_beneficiary_fields": [
[
"lastname",
"firstname"
]
],
"credit_party_information": {
"credit_party_identifiers_accepted": [
[]
]
},
"credit_party_verification": {
"credit_party_identifiers_accepted": [
[]
],
"required_beneficiary_fields": [
[]
]
}
},
"sender": {
"lastname": "Doe",
"lastname2": null,
"middlename": null,
"firstname": "John",
"nativename": null,
"nationality_country_iso_code": "FRA",
"code": null,
"date_of_birth": "1970-01-01",
"country_of_birth_iso_code": "FRA",
"gender": "MALE",
"address": "42 Rue des fleurs",
"postal_code": "75000",
"city": "Paris",
"country_iso_code": "FRA",
"msisdn": "33712345678",
"email": "john.doe@mail.com",
"id_type": "SOCIAL_SECURITY",
"id_country_iso_code": null,
"id_number": "502-42-0158",
"id_delivery_date": "2016-01-01",
"id_expiration_date": null,
"occupation": "Residential Advisor",
"province_state": null,
"beneficiary_relationship": null,
"source_of_funds": null,
"bank_account_number": null
},
"beneficiary": {
"lastname": "Doe",
"lastname2": null,
"middlename": null,
"firstname": "Jane",
"nativename": null,
"nationality_country_iso_code": "FRA",
"code": null,
"date_of_birth": "1971-01-01",
"country_of_birth_iso_code": "ZWE",
"gender": "MALE",
"address": "3 Norfolk Road",
"postal_code": "4581",
"city": "Harare",
"country_iso_code": "ZWE",
"msisdn": "263775892364",
"email": "jane.doe@mail.com",
"id_type": "SOCIAL_SECURITY",
"id_country_iso_code": "ZWE",
"id_number": "178027317681327",
"id_delivery_date": null,
"id_expiration_date": null,
"occupation": "Sales Executive",
"bank_account_holder_name": null,
"province_state": null
},
"callback_url": "{URL_PLACEHOLDER}",
"sent_amount": {
"currency": "EUR",
"amount": 10
},
"wholesale_fx_rate": 1.06891969534071,
"retail_rate": null,
"retail_fee": 1,
"retail_fee_currency": "EUR",
"fee": {
"currency": "EUR",
"amount": 1.88
},
"purpose_of_remittance": "FAMILY_SUPPORT",
"additional_information_1": null,
"additional_information_2": null,
"additional_information_3": null
}
POST /v1/money-transfer/transactions/{id}/confirm
Confirm a previously-created transaction to initiate processing.
Output
Transaction object.
–
POST /v1/money-transfer/transactions/ext-1478078339357/confirm HTTP/1.1
200 OK
{
"id": 1,
"status": "20000",
"status_message": "CONFIRMED",
"status_class": "2",
"status_class_message": "CONFIRMED",
"external_id": "1478078339357",
"external_code": null,
"payer_transaction_reference": null,
"payer_transaction_code": null,
"creation_date": "2016-11-02T09:19:15",
"expiration_date": "2016-11-03T09:07:44",
"credit_party_identifier": {
"msisdn": "+263775892100",
"bank_account_number": "0123456789",
"swift_bic_code": "ABCDEFGH"
},
"source": {
"country_iso_code": "FRA",
"currency": "EUR",
"amount": 10
},
"destination": {
"currency": "USD",
"amount": 10.69
},
"payer": {
"id": 1,
"name": "Sample Payer",
"precision": 2,
"increment": 0.01,
"currency": "USD",
"country_iso_code": "ZWE",
"minimum_transaction_amount": 0,
"maximum_transaction_amount": null,
"service": {
"id": 1,
"name": "MobileWallet"
},
"credit_party_identifiers_accepted": [
[
"msisdn"
]
],
"required_sender_fields": [
[
"lastname",
"firstname"
]
],
"required_beneficiary_fields": [
[
"lastname",
"firstname"
]
],
"credit_party_information": {
"credit_party_identifiers_accepted": [
[]
]
},
"credit_party_verification": {
"credit_party_identifiers_accepted": [
[]
],
"required_beneficiary_fields": [
[]
]
}
},
"sender": {
"lastname": "Doe",
"lastname2": null,
"middlename": null,
"firstname": "John",
"nativename": null,
"nationality_country_iso_code": "FRA",
"code": null,
"date_of_birth": "1970-01-01",
"country_of_birth_iso_code": "FRA",
"gender": "MALE",
"address": "42 Rue des fleurs",
"postal_code": "75000",
"city": "Paris",
"country_iso_code": "FRA",
"msisdn": "33712345678",
"email": "john.doe@mail.com",
"id_type": "SOCIAL_SECURITY",
"id_country_iso_code": null,
"id_number": "502-42-0158",
"id_delivery_date": "2016-01-01",
"id_expiration_date": null,
"occupation": "Residential Advisor",
"province_state": null,
"beneficiary_relationship": null,
"source_of_funds": null,
"bank_account_number": null
},
"beneficiary": {
"lastname": "Doe",
"lastname2": null,
"middlename": null,
"firstname": "Jane",
"nativename": null,
"nationality_country_iso_code": "FRA",
"code": null,
"date_of_birth": "1971-01-01",
"country_of_birth_iso_code": "ZWE",
"gender": "MALE",
"address": "3 Norfolk Road",
"postal_code": "4581",
"city": "Harare",
"country_iso_code": "ZWE",
"msisdn": "263775892364",
"email": "jane.doe@mail.com",
"id_type": "SOCIAL_SECURITY",
"id_country_iso_code": "ZWE",
"id_number": "178027317681327",
"id_delivery_date": null,
"id_expiration_date": null,
"occupation": "Sales Executive",
"bank_account_holder_name": null,
"province_state": null
},
"callback_url": "{URL_PLACEHOLDER}",
"sent_amount": {
"currency": "EUR",
"amount": 10
},
"wholesale_fx_rate": 1.06891969534071,
"retail_rate": null,
"retail_fee": 1,
"retail_fee_currency": "EUR",
"fee": {
"currency": "EUR",
"amount": 1.88
},
"purpose_of_remittance": "FAMILY_SUPPORT",
"additional_information_1": null,
"additional_information_2": null,
"additional_information_3": null
}
POST /v1/money-transfer/transactions/ext-{external_id}/confirm
Confirm a previously-created transaction, through an external ID, to initiate processing.
Output
Transaction object.
–
GET /v1/money-transfer/transactions/1 HTTP/1.1
200 OK
{
"id": 1,
"status": "50000",
"status_message": "SUBMITTED",
"status_class": "5",
"status_class_message": "SUBMITTED",
"external_id": "1478078339357",
"external_code": null,
"payer_transaction_reference": null,
"payer_transaction_code": null,
"creation_date": "2016-11-02T09:19:15",
"expiration_date": "2016-11-03T09:07:44",
"credit_party_identifier": {
"msisdn": "+263775892100",
"bank_account_number": "0123456789",
"swift_bic_code": "ABCDEFGH"
},
"source": {
"country_iso_code": "FRA",
"currency": "EUR",
"amount": 10
},
"destination": {
"currency": "USD",
"amount": 10.69
},
"payer": {
"id": 1,
"name": "Sample Payer",
"precision": 2,
"increment": 0.01,
"currency": "USD",
"country_iso_code": "ZWE",
"minimum_transaction_amount": 0,
"maximum_transaction_amount": null,
"service": {
"id": 1,
"name": "MobileWallet"
},
"credit_party_identifiers_accepted": [
[
"msisdn"
]
],
"required_sender_fields": [
[
"lastname",
"firstname"
]
],
"required_beneficiary_fields": [
[
"lastname",
"firstname"
]
],
"credit_party_information": {
"credit_party_identifiers_accepted": [
[]
]
},
"credit_party_verification": {
"credit_party_identifiers_accepted": [
[]
],
"required_beneficiary_fields": [
[]
]
}
},
"sender": {
"lastname": "Doe",
"lastname2": null,
"middlename": null,
"firstname": "John",
"nativename": null,
"nationality_country_iso_code": "FRA",
"code": null,
"date_of_birth": "1970-01-01",
"country_of_birth_iso_code": "FRA",
"gender": "MALE",
"address": "42 Rue des fleurs",
"postal_code": "75000",
"city": "Paris",
"country_iso_code": "FRA",
"msisdn": "33712345678",
"email": "john.doe@mail.com",
"id_type": "SOCIAL_SECURITY",
"id_country_iso_code": null,
"id_number": "502-42-0158",
"id_delivery_date": "2016-01-01",
"id_expiration_date": null,
"occupation": "Residential Advisor",
"province_state": null,
"beneficiary_relationship": null,
"source_of_funds": null,
"bank_account_number": null
},
"beneficiary": {
"lastname": "Doe",
"lastname2": null,
"middlename": null,
"firstname": "Jane",
"nativename": null,
"nationality_country_iso_code": "FRA",
"code": null,
"date_of_birth": "1971-01-01",
"country_of_birth_iso_code": "ZWE",
"gender": "MALE",
"address": "3 Norfolk Road",
"postal_code": "4581",
"city": "Harare",
"country_iso_code": "ZWE",
"msisdn": "263775892364",
"email": "jane.doe@mail.com",
"id_type": "SOCIAL_SECURITY",
"id_country_iso_code": "ZWE",
"id_number": "178027317681327",
"id_delivery_date": null,
"id_expiration_date": null,
"occupation": "Sales Executive",
"bank_account_holder_name": null,
"province_state": null
},
"callback_url": "{URL_PLACEHOLDER}",
"sent_amount": {
"currency": "EUR",
"amount": 10
},
"wholesale_fx_rate": 1.06891969534071,
"retail_rate": null,
"retail_fee": 1,
"retail_fee_currency": "EUR",
"fee": {
"currency": "EUR",
"amount": 1.88
},
"purpose_of_remittance": "FAMILY_SUPPORT",
"additional_information_1": null,
"additional_information_2": null,
"additional_information_3": null
}
GET /v1/money-transfer/transactions/{id}
Retrieve information for a given transaction.
Output
Transaction object.
–
GET /v1/money-transfer/transactions/ext-1478078339357 HTTP/1.1
200 OK
{
"id": 1,
"status": "50000",
"status_message": "SUBMITTED",
"status_class": "5",
"status_class_message": "SUBMITTED",
"external_id": "1478078339357",
"external_code": null,
"payer_transaction_reference": null,
"payer_transaction_code": null,
"creation_date": "2016-11-02T09:19:15",
"expiration_date": "2016-11-03T09:07:44",
"credit_party_identifier": {
"msisdn": "+263775892100",
"bank_account_number": "0123456789",
"swift_bic_code": "ABCDEFGH"
},
"source": {
"country_iso_code": "FRA",
"currency": "EUR",
"amount": 10
},
"destination": {
"currency": "USD",
"amount": 10.69
},
"payer": {
"id": 1,
"name": "Sample Payer",
"precision": 2,
"increment": 0.01,
"currency": "USD",
"country_iso_code": "ZWE",
"minimum_transaction_amount": 0,
"maximum_transaction_amount": null,
"service": {
"id": 1,
"name": "MobileWallet"
},
"credit_party_identifiers_accepted": [
[
"msisdn"
]
],
"required_sender_fields": [
[
"lastname",
"firstname"
]
],
"required_beneficiary_fields": [
[
"lastname",
"firstname"
]
],
"credit_party_information": {
"credit_party_identifiers_accepted": [
[]
]
},
"credit_party_verification": {
"credit_party_identifiers_accepted": [
[]
],
"required_beneficiary_fields": [
[]
]
}
},
"sender": {
"lastname": "Doe",
"lastname2": null,
"middlename": null,
"firstname": "John",
"nativename": null,
"nationality_country_iso_code": "FRA",
"code": null,
"date_of_birth": "1970-01-01",
"country_of_birth_iso_code": "FRA",
"gender": "MALE",
"address": "42 Rue des fleurs",
"postal_code": "75000",
"city": "Paris",
"country_iso_code": "FRA",
"msisdn": "33712345678",
"email": "john.doe@mail.com",
"id_type": "SOCIAL_SECURITY",
"id_country_iso_code": null,
"id_number": "502-42-0158",
"id_delivery_date": "2016-01-01",
"id_expiration_date": null,
"occupation": "Residential Advisor",
"province_state": null,
"beneficiary_relationship": null,
"source_of_funds": null,
"bank_account_number": null
},
"beneficiary": {
"lastname": "Doe",
"lastname2": null,
"middlename": null,
"firstname": "Jane",
"nativename": null,
"nationality_country_iso_code": "FRA",
"code": null,
"date_of_birth": "1971-01-01",
"country_of_birth_iso_code": "ZWE",
"gender": "MALE",
"address": "3 Norfolk Road",
"postal_code": "4581",
"city": "Harare",
"country_iso_code": "ZWE",
"msisdn": "263775892364",
"email": "jane.doe@mail.com",
"id_type": "SOCIAL_SECURITY",
"id_country_iso_code": "ZWE",
"id_number": "178027317681327",
"id_delivery_date": null,
"id_expiration_date": null,
"occupation": "Sales Executive",
"bank_account_holder_name": null,
"province_state": null
},
"callback_url": "{URL_PLACEHOLDER}",
"sent_amount": {
"currency": "EUR",
"amount": 10
},
"wholesale_fx_rate": 1.06891969534071,
"retail_rate": null,
"retail_fee": 1,
"retail_fee_currency": "EUR",
"fee": {
"currency": "EUR",
"amount": 1.88
},
"purpose_of_remittance": "FAMILY_SUPPORT",
"additional_information_1": null,
"additional_information_2": null,
"additional_information_3": null
}
GET /v1/money-transfer/transactions/ext-{external_id}
Retrieve information for a given transaction from an external ID.
Output
Transaction object.
Resources
Resources
Designed around REST principles, data interchanged on various endpoints of the API are in terms of resources. These resources are expressed as objects in JSON.
Service
{
"id": 1,
"name": "MobileWallet"
}
Represents the various money transfer services enabled for a given account.
Field | Type | Description |
---|---|---|
id |
Integer | Service ID |
name |
String | Service name |
Payer
{
"id": 3,
"name": "Sample Payer",
"precision": 0,
"increment": 1,
"currency": "IDR",
"country_iso_code": "IDN",
"minimum_transaction_amount": 0,
"maximum_transaction_amount": null,
"service": {
"id": 1,
"name": "MobileWallet"
},
"credit_party_identifiers_accepted": [
[
"msisdn"
]
],
"required_sender_fields": [
[
"firstname",
"date_of_birth",
"lastname"
]
],
"required_beneficiary_fields": [
[
"firstname",
"lastname"
]
],
"credit_party_information": {
"credit_party_identifiers_accepted": [
[]
]
},
"credit_party_verification": {
"credit_party_identifiers_accepted": [
[]
],
"required_beneficiary_fields": [
[]
]
}
}
Represents payer information.
Field | Type | Description |
---|---|---|
id |
Integer | Payer ID |
name |
String | Payer name |
precision |
Integer | Number of digits after decimal point |
increment |
Number | Unit of increment for transaction amounts |
currency |
String | Currency in ISO-4217 format |
country_iso_code |
String | Country in ISO 3166-1 alpha-3 format |
minimum_transaction_amount |
Number | Minimum transaction amount |
maximum_transaction_amount |
Number | Maximum transaction amount |
service |
Object | Service information |
credit_party_identifiers_accepted |
Array | List of accepted credit party identifiers |
required_sender_fields |
Array | List of required sender information |
required_beneficiary_fields |
Array | List of required beneficiary information |
credit_party_information |
Object | Required credit party information |
credit_party_verification |
Object | Required credit party verification information |
Rates
{
"EUR": [
{
"source_amount_min": 0,
"source_amount_max": 88,
"wholesale_fx_rate": 1.10847692409526
},
{
"source_amount_min": 88,
"source_amount_max": 8800,
"wholesale_fx_rate": 1.10847692409526
}
]
}
Represents all rate information under a given payer.
Field | Type | Description |
---|---|---|
{currency} |
Array | List of payer rate information |
Rate
{
"source_amount_min": 0,
"source_amount_max": 88,
"wholesale_fx_rate": 1.10847692409526
}
Represents an individual rate information under a given payer.
Field | Type | Description |
---|---|---|
source_amount_min |
Number | Minimum source amount value |
source_amount_max |
Number | Maximum source amount value |
wholesale_fx_rate |
Number | Wholesale FX rate |
Balance
{
"id": 1,
"currency": "EUR",
"balance": 10000000,
"available_balance": 10000000,
"credit_facility": 0
}
Represents account balance for a given currency.
available_balance
= balance
- total amount of pending transactions
Field | Type | Description |
---|---|---|
id |
Integer | Balance ID |
currency |
String | Currency in ISO 4217 format |
balance |
Number | Current balance |
available_balance |
Number | Available balance |
credit_facility |
Number | Credit facility |
Quotation
{
"id": 1,
"external_id": "1481184321405",
"payer": {
"id": 1,
"name": "Sample Payer",
"precision": 2,
"increment": 0.01,
"currency": "USD",
"country_iso_code": "ZWE",
"minimum_transaction_amount": 0,
"maximum_transaction_amount": null,
"service": {
"id": 1,
"name": "MobileWallet"
},
"credit_party_identifiers_accepted": [
[
"msisdn"
]
],
"required_sender_fields": [
[
"lastname",
"firstname"
]
],
"required_beneficiary_fields": [
[
"lastname",
"firstname"
]
],
"credit_party_information": {
"credit_party_identifiers_accepted": [
[]
]
},
"credit_party_verification": {
"credit_party_identifiers_accepted": [
[]
],
"required_beneficiary_fields": [
[]
]
}
},
"mode": "SOURCE_AMOUNT",
"source": {
"country_iso_code": "FRA",
"currency": "EUR",
"amount": 10
},
"destination": {
"currency": "USD",
"amount": 10.69
},
"sent_amount": {
"currency": "EUR",
"amount": 10
},
"wholesale_fx_rate": 1.06891969534071,
"fee": {
"currency": "EUR",
"amount": 1.88
},
"creation_date": "2016-11-02T09:07:44",
"expiration_date": "2016-11-03T09:07:44"
}
Represents quotation information used to create transactions.
Field | Type | Description |
---|---|---|
id |
Integer | Quotation ID |
external_id |
String | External reference ID |
payer |
Object | Payer information |
mode |
String | Quotation mode |
source |
Object | Source information |
destination |
Object | Destination information |
sent_amount |
Object | Sent amount information |
wholesale_fx_rate |
Number | Wholesale FX rate |
fee |
Object | Fee information |
creation_date |
String | Creation date in HTTP format |
expiration_date |
String | Expiration date in HTTP format |
Transaction
{
"id": 1,
"status": "10000",
"status_message": "CREATED",
"status_class": "1",
"status_class_message": "CREATED",
"external_id": "1478078339357",
"external_code": null,
"payer_transaction_reference": null,
"payer_transaction_code": null,
"creation_date": "2016-11-02T09:19:15",
"expiration_date": "2016-11-03T09:07:44",
"credit_party_identifier": {
"msisdn": "+263775892100",
"bank_account_number": "0123456789",
"swift_bic_code": "ABCDEFGH"
},
"source": {
"country_iso_code": "FRA",
"currency": "EUR",
"amount": 10
},
"destination": {
"currency": "USD",
"amount": 10.69
},
"payer": {
"id": 1,
"name": "Sample Payer",
"precision": 2,
"increment": 0.01,
"currency": "USD",
"country_iso_code": "ZWE",
"minimum_transaction_amount": 0,
"maximum_transaction_amount": null,
"service": {
"id": 1,
"name": "MobileWallet"
},
"credit_party_identifiers_accepted": [
[
"msisdn"
]
],
"required_sender_fields": [
[
"lastname",
"firstname"
]
],
"required_beneficiary_fields": [
[
"lastname",
"firstname"
]
],
"credit_party_information": {
"credit_party_identifiers_accepted": [
[]
]
},
"credit_party_verification": {
"credit_party_identifiers_accepted": [
[]
],
"required_beneficiary_fields": [
[]
]
}
},
"sender": {
"lastname": "Doe",
"lastname2": null,
"middlename": null,
"firstname": "John",
"nativename": null,
"nationality_country_iso_code": "FRA",
"code": null,
"date_of_birth": "1970-01-01",
"country_of_birth_iso_code": "FRA",
"gender": "MALE",
"address": "42 Rue des fleurs",
"postal_code": "75000",
"city": "Paris",
"country_iso_code": "FRA",
"msisdn": "33712345678",
"email": "john.doe@mail.com",
"id_type": "SOCIAL_SECURITY",
"id_country_iso_code": null,
"id_number": "502-42-0158",
"id_delivery_date": "2016-01-01",
"id_expiration_date": null,
"occupation": "Residential Advisor",
"province_state": null,
"beneficiary_relationship": null,
"source_of_funds": null,
"bank_account_number": null
},
"beneficiary": {
"lastname": "Doe",
"lastname2": null,
"middlename": null,
"firstname": "Jane",
"nativename": null,
"nationality_country_iso_code": "FRA",
"code": null,
"date_of_birth": "1971-01-01",
"country_of_birth_iso_code": "ZWE",
"gender": "MALE",
"address": "3 Norfolk Road",
"postal_code": "4581",
"city": "Harare",
"country_iso_code": "ZWE",
"msisdn": "263775892364",
"email": "jane.doe@mail.com",
"id_type": "SOCIAL_SECURITY",
"id_country_iso_code": "ZWE",
"id_number": "178027317681327",
"id_delivery_date": null,
"id_expiration_date": null,
"occupation": "Sales Executive",
"bank_account_holder_name": null,
"province_state": null
},
"callback_url": "{URL_PLACEHOLDER}",
"sent_amount": {
"currency": "EUR",
"amount": 10
},
"wholesale_fx_rate": 1.06891969534071,
"retail_rate": null,
"retail_fee": 1,
"retail_fee_currency": "EUR",
"fee": {
"currency": "EUR",
"amount": 1.88
},
"purpose_of_remittance": "FAMILY_SUPPORT",
"additional_information_1": null,
"additional_information_2": null,
"additional_information_3": null
}
Represents transaction information for a transfer request.
Field | Type | Description |
---|---|---|
id |
Integer | Transaction ID |
status |
String | Transaction status code |
status_message |
String | Transaction status description |
status_class |
String | Transaction status class |
status_class_message |
String | Transaction status class description |
external_id |
String | External ID |
external_code |
String | External reference code |
payer_transaction_reference |
String | Payer transaction reference |
payer_transaction_code |
String | Payer transaction code |
creation_date |
String | Creation date in HTTP format |
expiration_date |
String | Expiration date in HTTP format |
credit_party_identifier |
Object | Credit party information |
source |
Object | Source information |
destination |
Object | Destination information |
payer |
Object | Payer information |
sender |
Object | Sender information |
beneficiary |
Object | Beneficiary information |
callback_url |
String | Callback URL |
sent_amount |
Object | Sent amount information |
wholesale_fx_rate |
Number | Wholesale FX rate |
retail_rate |
Number | Retail rate |
retail_fee |
Number | Retail fee |
retail_fee_currency |
String | Retail fee currency in ISO 4217 format |
fee |
Object | Fee information |
purpose_of_remittance |
String | Purpose of remittance |
additional_information_1 |
String | Additional information |
additional_information_2 |
String | Additional information |
additional_information_3 |
String | Additional information |
Source
{
"country_iso_code": "FRA",
"currency": "EUR",
"amount": 10
}
Represents source amount details for a given transaction.
Field | Required | Type | Description |
---|---|---|---|
country_iso_code |
Yes | String | Country code in ISO 3166-1 alpha-3 format |
currency |
Yes | String | Source currency in ISO 4217 format |
amount |
Yes† | Number | Source amount |
† : Required when chosen mode is SOURCE_AMOUNT
Destination
{
"currency": "USD",
"amount": 10
}
Represents destination amount details for a given transaction.
Field | Required | Type | Description |
---|---|---|---|
currency |
Yes | String | Destination currency in ISO 4217 format |
amount |
Yes† | Number | Destination amount |
†: Required when chosen mode is DESTINATION_AMOUNT
Credit Party Identifier
{
"msisdn": "263775892100",
"bank_account_number": "0123456789",
"swift_bic_code": "ABCDEFGH"
}
Represents identification details for a given credit party.
Field | Required | Type | Description |
---|---|---|---|
msisdn |
No† | String | MSISDN in international format |
bank_account_number |
No† | String | Bank account number |
iban |
No† | String | Bank account number in IBAN format |
clabe |
No† | String | Bank account number in CLABE format |
cbu |
No† | String | Bank account number in CBU format |
cbu_alias |
No† | String | Bank account number in CBU ALIAS format |
swift_bic_code |
No† | String | SWIFT-BIC code |
bik_code |
No† | String | Russian BIK code |
ifs_code |
No† | String | IFSC code |
sort_code |
No† | String | Sort code |
aba_routing_number |
No† | String | ABA Routing Transfer Number |
bsb_number |
No† | String | BSB number |
branch_number |
No† | String | Branch number |
routing_code |
No† | String | Routing code |
entity_tt_id |
No† | Int | Entity ID |
account_type |
No† | String | Account type |
account_number |
No† | String | Account number |
email |
No† | String | Email address |
card_number |
No† | String | Card Number |
†: Requiredness will depend on the payer configuration
Required Credit Party Information
{
"credit_party_identifiers_accepted": [
[
"msisdn"
]
]
}
Represents required credit party identifiers to perform a credit party information request.
Field | Required | Type | Description |
---|---|---|---|
credit_party_identifiers_accepted |
Yes | Array | List of credit party identifier fields |
Required Credit Party Verification
{
"credit_party_verification": {
"credit_party_identifiers_accepted": [
[
"msisdn"
]
],
"required_beneficiary_fields": [
[
"msisdn",
"firstname",
"lastname"
]
]
}
}
Represents required credit party identifiers to perform a credit party verification request.
Field | Required | Type | Description |
---|---|---|---|
credit_party_identifiers_accepted |
Yes | Array | List of credit party identifier fields |
required_beneficiary_fields |
Yes | Array | List of required beneficiary information |
Sender
{
"lastname": "Doe",
"lastname2": null,
"middlename": null,
"firstname": "John",
"nativename": null,
"nationality_country_iso_code": "FRA",
"code": null,
"date_of_birth": "1970-01-01",
"country_of_birth_iso_code": "FRA",
"gender": "MALE",
"address": "42 Rue des fleurs",
"postal_code": "75000",
"city": "Paris",
"country_iso_code": "FRA",
"msisdn": "33712345678",
"email": "john.doe@mail.com",
"id_type": "SOCIAL_SECURITY",
"id_country_iso_code": null,
"id_number": "502-42-0158",
"id_delivery_date": "2016-01-01",
"id_expiration_date": null,
"occupation": "Residential Advisor",
"province_state": null,
"beneficiary_relationship": null,
"source_of_funds": null,
"bank_account_number": null
}
Represents sender information for a given transaction.
Field | Required | Type | Description |
---|---|---|---|
lastname |
No† | String | Last name |
lastname2 |
No† | String | Additional last name(s) |
middlename |
No† | String | Middle name |
firstname |
No† | String | First name |
nativename |
No† | String | Full name in native characters |
nationality_country_iso_code |
No† | String | Nationality in ISO 3166-1 alpha-3 format |
code |
No† | String | Sender identification code |
date_of_birth |
No† | String | Date of birth in ISO 8601 format |
country_of_birth_iso_code |
No† | String | Country of birth in ISO 3166-1 alpha-3 format |
gender |
No† | String | Gender |
address |
No† | String | Address |
postal_code |
No† | String | Postal code |
city |
No† | String | City |
country_iso_code |
No† | String | Address country in ISO 3166-1 alpha-3 format |
msisdn |
No† | String | MSISDN in international format |
email |
No† | String | Email address |
id_type |
No† | String | Presented identification type |
id_country_iso_code |
No† | String | ID country in ISO 3166-1 alpha-3 format |
id_number |
No† | String | Presented identification number |
id_delivery_date |
No† | String | ID delivery date in ISO 8601 format |
id_expiration_date |
No† | String | ID expiration date in ISO 8601 format |
occupation |
No† | String | Occupation |
bank_account_number |
No† | String | Bank account number |
province_state |
No† | String | Address province/state |
beneficiary_relationship |
No† | String | Relationship to beneficiary |
source_of_funds |
No† | String | Source of funds |
†: Requiredness will depend on payer configuration
Beneficiary
{
"lastname": "Doe",
"lastname2": null,
"middlename": null,
"firstname": "Jane",
"nativename": null,
"nationality_country_iso_code": "FRA",
"code": null,
"date_of_birth": "1971-01-01",
"country_of_birth_iso_code": "ZWE",
"gender": "MALE",
"address": "3 Norfolk Road",
"postal_code": "4581",
"city": "Harare",
"country_iso_code": "ZWE",
"msisdn": "263775892364",
"email": "jane.doe@mail.com",
"id_type": "SOCIAL_SECURITY",
"id_country_iso_code": "ZWE",
"id_number": "178027317681327",
"id_delivery_date": null,
"id_expiration_date": null,
"occupation": "Sales Executive",
"bank_account_holder_name": null,
"province_state": null
}
Represents beneficiary information for a given transaction.
Field | Required | Type | Description |
---|---|---|---|
lastname |
No† | String | Last name |
lastname2 |
No† | String | Additional last name(s) |
middlename |
No† | String | Middle name |
firstname |
No† | String | First name |
nativename |
No† | String | Full name in native characters |
nationality_country_i |
No† | String | Nationality in ISO 3166-1 alpha-3 format so_code |
code |
No† | String | Beneficiary identification code |
date_of_birth |
No† | String | Date of birth in ISO 8601 format |
country_of_birth_iso_code |
No† | String | Country of birth in ISO 3166-1 alpha-3 format |
gender |
No† | String | Gender |
address |
No† | String | Address |
postal_code |
No† | String | Postal code |
city |
No† | String | City |
country_iso_code |
No† | String | Address country in ISO 3166-1 alpha-3 format |
msisdn |
No† | String | MSISDN in international format |
email |
No† | String | Email address |
id_type |
No† | String | Presented identification type |
id_country_iso_code |
No† | String | ID country in ISO 3166-1 alpha-3 format |
id_number |
No† | String | Presented identification number |
id_delivery_date |
No† | String | ID delivery date in ISO 8601 format |
id_expiration_date |
No† | String | ID expiration date in ISO 8601 format |
occupation |
No† | String | Occupation |
bank_account_holder_name |
No† | String | Bank account holder name |
province_state |
No† | String | Address province/state |
†: Requiredness will depend on payer configuration
Sent Amount
{
"currency": "EUR",
"amount": 10
}
Represent sent amount details for a given transaction.
Field | Type | Description |
---|---|---|
currency |
String | Sent amount currency in ISO 4217 format |
amount |
Number | Sent amount value |
Value within these fields will correspond to values in source amount.
Fee
{
"currency": "EUR",
"amount": 1.50
}
Represents fee information for a given transaction.
Field | Type | Description |
---|---|---|
currency |
String | Fee amount currency in ISO 4217 format |
amount |
Number | Fee amount value |
Country
{
"iso_code": "SGP",
"name": "Singapore"
}
Represents country information.
Field | Type | Description |
---|---|---|
iso_code |
String | Country in ISO 3166-1 alpha-3 format |
name |
String | Country name |
Administrative Division Category
{
"id": 1,
"name": "Province"
}
Represents administrative division category information.
Field | Type | Description |
---|---|---|
id |
Integer | Category ID |
name |
String | Category name |
Administrative Division
{
"id": 1,
"name": "Artemisa Province",
"depth": 1,
"parent_id": null,
"category": {
"id": 1,
"name": "Province"
}
}
Represents administrative division information.
Field | Type | Description |
---|---|---|
id |
Integer | Division ID |
name |
String | Division name |
depth |
Integer | Depth relative to hierarchy |
parent_id |
Integer | Division parent (if any) |
category |
Object | Administrative division category information |
Entity
{
"id": 328,
"name": "DBS",
"depth": 1,
"address": null,
"country_iso_code": "IND",
"parent_id": null,
"identifiers": [],
"payment_systems": [],
"payers": [
{
"id": 358,
"name": "All Banks",
"currency": "INR"
}
],
"category": {
"id": 1,
"name": "Bank"
},
"administrative_division": {
"id": 315,
"name": "Delhi",
"depth": 1,
"parent_id": null,
"category": {
"id": 5,
"name": "Union Territory"
}
}
}
Represents entity information.
Field | Type | Description |
---|---|---|
id |
Integer | Entity ID |
name |
String | Entity name |
depth |
Integer | Depth relative to hierarchy |
address |
String | Registered address |
country_iso_code |
String | Address country in ISO 3166-1 alpha-3 format |
parent_id |
Integer | Division parent (if any) |
identifiers |
Array | List of entity identifier objects |
payment_systems |
Array | List of entity payment system objects |
payers |
Array | List of entity payer objects |
category |
Object | Entity category information |
administrative_division |
Object | Administrative division information |
Entity Identifier
{
"id": 2,
"code": "IFS_CODE",
"values": [
"SBIN0007336"
]
}
Represents entity identifier information.
Field | Type | Description |
---|---|---|
id |
Integer | Entity identifier ID |
code |
String | Entity identifier code |
values |
Array | List of entity identifier values |
Entity Payment System
{
"id": 2,
"code": "IFS_CODE",
"values": [
"SBIN0007336"
]
}
Represents entity identifier information.
Field | Type | Description |
---|---|---|
id |
Integer | Entity identifier ID |
code |
String | Entity identifier code |
values |
Array | List of entity identifier values |
Entity Payer
{
"id": 358,
"name": "All Banks",
"currency": "INR"
}
Represents entity payer information.
Field | Type | Description |
---|---|---|
id |
Integer | Entity payer ID |
name |
String | Entity payer name |
currency |
String | Currency in ISO-4217 format |
Entity Category
{
"id": 1,
"name": "Bank"
}
Represents entity category information.
Field | Type | Description |
---|---|---|
id |
Integer | Entity category ID |
name |
String | Entity category name |
Enumerations
Enumerations
A number of resource fields will only accept a list of known values, as outlined in this section.
Quotation Mode
Mode | Description |
---|---|
SOURCE_AMOUNT |
Quotation created by specifying desired source |
DESTINATION_AMOUNT |
Quotation created by specifying desired destination |
Gender
Gender | Description |
---|---|
MALE |
Male |
FEMALE |
Female |
Transaction Status Class
Status Class | Message |
---|---|
1 |
CREATED |
2 |
CONFIRMED |
3 |
REJECTED |
4 |
CANCELLED |
5 |
SUBMITTED |
6 |
AVAILABLE |
7 |
COMPLETED |
8 |
REVERSED |
9 |
DECLINED |
Transaction Status
Status | Message | Details |
---|---|---|
10000 |
CREATED | The transaction is created. |
20000 |
CONFIRMED | The transaction is confirmed. |
20110 |
CONFIRMED-UNDER-REVIEW-SLS | The transaction is under sanctions list screening for sender or beneficiary. |
20150 |
CONFIRMED-WAITING-FOR-PICKUP | The transaction is available for cash pick up by the beneficiary. Applicable for universal cash pick up only. |
30000 |
REJECTED | The transaction is rejected. |
30110 |
REJECTED-SLS-SENDER | The transaction is rejected as the sender failed the sanctions list screening. |
30120 |
REJECTED-SLS-BENEFICIARY | The transaction is rejected as the beneficiary failed the sanctions list screening. |
30200 |
REJECTED-INVALID-BENEFICIARY | The transaction is rejected as the beneficiary account is invalid. |
30201 |
REJECTED-BARRED-BENEFICIARY | The transaction is rejected as the beneficiary is blacklisted. |
30202 |
REJECTED-BARRED-SENDER | The transaction is rejected as the sender is blacklisted. |
30210 |
REJECTED-INVALID-BENEFICIARY-DETAILS | The transaction is rejected as the beneficiary details are invalid, e.g. name, email, phone number. |
30305 |
REJECTED-LIMITATIONS-ON-TRANSACTION-VALUE | The transaction is rejected as the transaction value exceeds the transaction value limit. |
30310 |
REJECTED-LIMITATIONS-ON-SENDER-VALUE | The transaction is rejected as the transaction value exceeds the value that the sender can send. |
30320 |
REJECTED-LIMITATIONS-ON-BENEFICIARY-VALUE | The transaction is rejected as the transaction value exceeds the value that the beneficiary can receive. |
30330 |
REJECTED-LIMITATIONS-ON-ACCOUNT-VALUE | The transaction is rejected as the transaction value exceeds the value that the account can receive. |
30350 |
REJECTED-LIMITATIONS-ON-SENDER-QUANTITY | The transaction is rejected as the sender exceeded the number of transactions that the sender can send. |
30360 |
REJECTED-LIMITATIONS-ON-BENEFICIARY-QUANTITY | The transaction is rejected as the beneficiary exceeded the number of transactions that the beneficiary can receive. |
30370 |
REJECTED-LIMITATIONS-ON-ACCOUNT-QUANTITY | The transaction is rejected as the account exceeded the number of transactions that the account can receive. |
30392 |
REJECTED-COMPLIANCE-REASON | The transaction is rejected due to compliance reason. |
30400 |
REJECTED-PAYER-CURRENTLY-UNAVAILABLE | The transaction is rejected as the payer is either under payer maintenance or currently unavailable. |
30500 |
REJECTED-INSUFFICIENT-BALANCE | The transaction is rejected due to insufficient balance on the pay-in partner’s account. |
40000 |
CANCELLED | The transaction is cancelled upon request. |
50000 |
SUBMITTED | The transaction is submitted to the pay-out partner for processing. |
60000 |
AVAILABLE | The transaction is available for cash pick up by the beneficiary. |
70000 |
COMPLETED | The transaction is completed and payout has been made to the beneficiary. |
80000 |
REVERSED | The transaction is reversed. |
90000 |
DECLINED | The transaction is declined by the pay-out partner. |
90110 |
DECLINED-SLS-SENDER | The transaction is declined by the pay-out partner as the sender failed the sanctions list screening. |
90120 |
DECLINED-SLS-BENEFICIARY | The transaction is declined by the pay-out partner as the beneficiary failed the sanctions list screening. |
90200 |
DECLINED-INVALID-BENEFICIARY | The transaction is declined by the pay-out partner due to invalid beneficiary, e.g. bank account number. |
90201 |
DECLINED-BARRED-BENEFICIARY | The transaction is declined by the pay-out partner as the beneficiary is blacklisted. |
90202 |
DECLINED-UNSUPPORTED-BENEFICIARY | The transaction is declined by the pay-out partner as the beneficary does not allow overseas transaction or payer is unavailable for pay out. |
90210 |
DECLINED-INVALID-BENEFICIARY-DETAILS | The transaction is declined by the pay-out partner as the beneficiary’s details is invalid, e.g. name or address. |
90211 |
DECLINED-INVALID-SENDER-DETAILS | The transaction is declined by the pay-out partner as the sender details is in wrong format per pay-out partners’ rules on sender. eg: character type length. |
90305 |
DECLINED-LIMITATIONS-ON-TRANSACTION-VALUE | The transaction is declined by the pay-out partner as the value exceeds the amount allowed per transaction. |
90310 |
DECLINED-LIMITATIONS-ON-SENDER-VALUE | The transaction is declined by the pay-out partner as the transaction value exceeds the value that the sender can send per transaction. |
90320 |
DECLINED-LIMITATIONS-ON-BENEFICIARY-VALUE | The transaction is declined by the pay-out partner as the transaction value exceeds the total value that the beneficiary can receive. |
90330 |
DECLINED-LIMITATIONS-ON-ACCOUNT-VALUE | The transaction is declined by the pay-out partner as the transaction value exceeds the total value that the beneficiary can receive per account. |
90331 |
DECLINED-LIMITATIONS-ON-ACCOUNT-VALUE-DAILY | The transaction is declined by the pay-out partner as the transaction value exceeds the total value that the beneficiary can receive per day. |
90332 |
DECLINED-LIMITATIONS-ON-ACCOUNT-VALUE-WEEKLY | The transaction is been declined by the pay-out partner as the transaction value exceeds the total value that the beneficiary can receive per week. |
90333 |
DECLINED-LIMITATIONS-ON-ACCOUNT-VALUE-MONTHLY | The transaction is declined by the pay-out partner as the transaction value exceeds the total value that the beneficiary can receive per month. |
90334 |
DECLINED-LIMITATIONS-ON-ACCOUNT-VALUE-YEARLY | The transaction is declined by the pay-out partner as the transaction value exceeds the total value that the beneficiary can receive per year. |
90350 |
DECLINED-LIMITATIONS-ON-SENDER-QUANTITY | The transaction is declined by the pay-out partner as the sender has exceeded the number of transactions that the sender can send. |
90360 |
DECLINED-LIMITATIONS-ON-BENEFICIARY-QUANTITY | The transaction is declined by the pay-out partner as the beneficiary exceeds the total number of transactions that the beneficiary can receive. |
90370 |
DECLINED-LIMITATIONS-ON-ACCOUNT-QUANTITY | The transaction is declined by the pay-out partner as the beneficiary’s account exceeds the total number of transactions that the account can receive. |
90380 |
DECLINED-DUPLICATED-TRANSACTION | The transaction is declined by the pay-out partner due to duplication in the transaction. |
90390 |
DECLINED-CANCELLED | The transaction is declined by the pay-out partner as the pay-in partner contacted support and asked for the transaction to be cancelled (this can only happen during the beneficiary registration time). |
90391 |
DECLINED-REFUSED | The transaction is declined by the pay-out partner as the beneficiary has actively refused to perform the required onboarding, the time has elapsed or the beneficiary was unresponsive. |
90392 |
DECLINED-COMPLIANCE-REASON | The transaction is declined by the pay-out partner due to compliance reason. |
90393 |
DECLINED-INVALID-PURPOSE-OF-REMITTANCE | The transaction is declined by the pay-out partner due to invalid purpose of remittance, e.g. pay-out partner does not allow gifts/donations. |
90400 |
DECLINED-PAYER-CURRENTLY-UNAVAILABLE | The transaction is declined by the pay-out partner as their system are not available. |
Account Status
Status | Message |
---|---|
AVAILABLE |
Credit party account is available and can receive a transfer |
UNREGISTERED |
Credit party account is not registered but can still receive a transfer |
UNAVAILABLE |
Credit party account is not available and will not receive a transfer |
UNAVAILABLE-BENEFICIARY-MISMATCH |
Credit party account does not match the beneficiary details |
UNAVAILABLE-INVALID-ACCOUNT |
Credit party account number is invalid |
UNAVAILABLE-BARRED-ACCOUNT |
Credit party account number is barred |
Beneficiary Relationship
Relationship | Description |
---|---|
AUNT |
Aunt |
BROTHER |
Brother |
BROTHER_IN_LAW |
Brother-in-law |
COUSIN |
Cousin |
DAUGHTER |
Daughter |
FATHER |
Father |
FATHER_IN_LAW |
Father-in-law |
FRIEND |
Friend |
GRAND_FATHER |
Grandfather |
GRAND_MOTHER |
Grandmother |
HUSBAND |
Husband |
MOTHER |
Mother |
MOTHER_IN_LAW |
Mother-in-law |
NEPHEW |
Nephew |
NIECE |
Niece |
SELF |
Self (i.e. the sender, himself) |
SISTER |
Sister |
SISTER_IN_LAW |
Sister-in-law |
SON |
Son |
UNCLE |
Uncle |
WIFE |
Wife |
OTHER |
Others not listed |
Source of Funds
Source | Description |
---|---|
CASH |
Cash |
BUSINESS |
Business |
GIFT |
Gift |
SALARY |
Salary |
LOTTERY |
Lottery |
SAVINGS |
Savings |
OTHER |
Others not listed |
ID Type
Type | Description |
---|---|
PASSPORT |
Passport |
NATIONAL_ID |
National Identification Card |
DRIVING_LICENSE |
Driving License |
SOCIAL_SECURITY |
Social Security Card/Number |
TAX_ID |
Tax Payer Identification Card/Number |
SENIOR_CITIZEN_ID |
Senior Citizen Identification Card |
BIRTH_CERTIFICATE |
Birth Certificate |
VILLAGE_ELDER_ID |
Village Elder Identification Card |
RESIDENT_CARD |
Permanent Residency Identification Card |
ALIEN_REGISTRATION |
Alien Registration Certificate/Card |
PAN_CARD |
PAN Card |
VOTERS_ID |
Voter’s Identification Card |
HEALTH_CARD |
Health Insurance Card/Number |
EMPLOYER_ID |
Employer Identification Card |
OTHER |
Others not listed |
Purpose of Remittance
Purpose | Description |
---|---|
COMPUTER_SERVICES |
Computer service |
FAMILY_SUPPORT |
Family support |
EDUCATION |
Education |
GIFT_AND_DONATION |
Gift and other donations |
MEDICAL_TREATMENT |
Medical treatment |
MAINTENANCE_EXPENSES |
Maintenance or other expenses |
TRAVEL |
Travel |
SMALL_VALUE_REMITTANCE |
Small value remittance |
LIBERALIZED_REMITTANCE |
Liberalized remittance |
CONSTRUCTION_EXPENSES |
Construction expenses |
HOTEL_ACCOMMODATION |
Hotel accommodation |
ADVERTISING_EXPENSES |
Advertising and/or public relations related expenses |
ADVISORY_FEES |
Fees for advisory or consulting service |
BUSINESS_INSURANCE |
Business related insurance payment |
INSURANCE_CLAIMS |
Insurance claims payment |
DELIVERY_FEES |
Delivery fees |
EXPORTED_GOODS |
Payments for exported goods |
SERVICE_CHARGES |
Payment for services |
LOAN_PAYMENT |
Payment of loans |
OFFICE_EXPENSES |
Office expenses |
PROPERTY_PURCHASE |
Residential property purchase |
PROPERTY_RENTAL |
Property rental payment |
ROYALTY_FEES |
Royalty, trademark, patent and copyright fees |
SHARES_INVESTMENT |
Investment in shares |
FUND_INVESTMENT |
Fund investment |
TAX_PAYMENT |
Tax payment |
TRANSPORTATION_FEES |
Transportation fees |
UTILITY_BILLS |
Utility bills |
PERSONAL_TRANSFER |
Personal transfer |
SALARY_PAYMENT |
Payment of salary |
REWARD_PAYMENT |
Payment of rewards |
INFLUENCER_PAYMENT |
Payment of Influencer |
OTHER_FEES |
Broker, commitment, guarantee and other fees |
OTHER |
Other purposes |
Bank Account Type
Value | Description |
---|---|
CHECKING |
Checking Account |
SAVINGS |
Savings Account |
DEPOSIT |
Deposit Account |
OTHERS |
Other type of account |