Welcome

Welcome to ATL Money Transfer’s API Documentation. If you’re interested about our apis please send your request to integration@atlmoneytransfer.com. we will come back to you within 2 working days.

Getting Started

The ATL Money Transfer API referred here as ATLMT API is organized around REST. Our API has predictable, resource-oriented URLs, and uses HTTP response codes to indicate API errors. We use built-in HTTP features, like HTTP authentication and HTTP verbs, which are understood by off-the-shelf HTTP clients. We support cross-origin resource sharing, allowing you to interact securely with our API from a client-side web application (though you should never expose your secret API key in any public website’s client-side code). JSON is returned by all API responses, including errors, although our API libraries convert responses to appropriate language-specific objects.

To make the API as explorable as possible, accounts have test mode and live mode API keys. There is no “switch” for changing between modes, just use the appropriate key to perform a live or test transaction. Requests made with test mode credentials never hit the banking networks and incur no cost.

Example HTTP Request

GET /api HTTP/1.1
Host: www.atlmoneytransfer.com
Authorization: Bearer sandbox_5ba9df637e1cd5baxxxxxxxxxx

Response

{
  "message": "Server is Reachable",
  "mode": "sandbox"
}

Authentication

Authentication to the API is performed via bearer auth (e.g., for a cross-origin request), use header

Authorization: Bearer sandbox_5ba9df637e1cd5baxxxxxxxxxx

All API requests must be made over HTTPS. Calls made over plain HTTP will fail. API requests without authentication will also fail.

Errors

ATLMT uses conventional HTTP response codes to indicate the success or failure of an API request. In general: Codes in the 2xx range indicate success. Codes in the 4xx range indicate an error that failed given the information provided (e.g., a required parameter was omitted, a transaction failed, etc.). Codes in the 5xx range indicate an error with ATLMT’s servers (these are rare).

Some 4xx errors that could be handled programmatically (e.g., an invalid account number) include an error code that briefly explains the error reported.

HTTP status code summary

HTTP Status Code Description
200 Everything worked as expected.
201 A new resource was created.
400 The request was unacceptable, often due to missing a required parameter.
401 No valid API key provided.
402 The parameters were valid but the request failed.
403 You are not allowed to access this resource.
404 The requested resource doesn’t exist.
405 The request method is not allowed for invoked endpoint.
500 Something went wrong on ATLMT’s end. (These are rare.)

Error Types

Type Description
api_connection_error Failure to connect to ATLMT’s API.
api_error
API errors cover any other type of problem (e.g., a temporary
problem with ATLMT’s or 3rd Party’s servers), and are extremely uncommon.
authentication_error Failure to properly authenticate yourself in the request.
authorization_error Trying to access restricted resource.
invalid_request_error Invalid request errors arise when your request has invalid parameters.

Handling Errors

Our API raise exceptions for many reasons, such as a failed transfer, invalid parameters, authentication errors, and network unavailability. We recommend writing code that gracefully handles all possible API exceptions.

Attribute Description
type Failure to connect to ATLMT’s API.
code
For some errors that could be handled programmatically.
A short string indicating the error code reported. See Error Codes section.
message A human-readable message providing more details about the error.
param
If the error is parameter-specific, the parameter related to the error.
For example, you can use this to display a message near the correct form field.

Error Codes

Some 4xx errors that could be handled programmatically (e.g., request contains invalid parameter) include an error code—a short string with a brief explanation—as a value for code. Below is a list of possible error codes that can be returned.

Code Description
parameter_missing One or more required parameters are missing.
parameter_empty One or more required fields contain empty value.
parameter_invalid One or more required values are invalid.
amount_too_large
The specified amount is greater than the maximum amount allowed.
Use a lower amount and try again.
amount_too_small
The specified amount is less than the minimum amount allowed.
Use a higher amount and try again.
transaction_already_cancelled Transaction is already in Cancelled state.
transaction_already_paid Transaction is already in Paid state.
transaction_cancel_not_allowed Transaction cancellation is not allowed.
country_unsupported Provided country is not supported.
currency_unsupported Provided currency is not supported.
processing_error An error occurred while processing the request.
insufficient_funds Insufficient funds to perform the transaction.
sandbox_transactions_only
Your account has not been activated for live transactions.
Contact your account manager.
tls_version_unsupported
Your integration is using an older version of TLS that is unsupported.
You must be using TLS 1.2 or above.

Settlement Rates

Endpoint: https://www.atlmoneytransfer.com/api/settlement-rates

Method: GET

Request

GET /api/settlement-rates HTTP/1.1
Host: www.atlmoneytransfer.com
Authorization: Bearer sandbox_5ba9df637e1cd5baxxxxxxxxxx

Response

{
    "message": "success",
    "rates": [
        {
            "from": "GBP",
            "to": "CAD",
            "rate": 1.703422
        },
        {
            "from": "GBP",
            "to": "DKK",
            "rate": 8.328481
        },
        {
            "from": "GBP",
            "to": "EUR",
            "rate": 1.116487
        },
        {
            "from": "GBP",
            "to": "GHS",
            "rate": 6.42274
        },
        {
            "from": "GBP",
            "to": "NGN",
            "rate": 455
        },
        {
            "from": "GBP",
            "to": "SLL",
            "rate": 10500
        },
        {
            "from": "GBP",
            "to": "USD",
            "rate": 1.313538
        },
        {
            "from": "GBP",
            "to": "XAF",
            "rate": 730
        },
        {
            "from": "GBP",
            "to": "XOF",
            "rate": 730
        }
    ]
}

Balance

Endpoint: https://www.atlmoneytransfer.com/api/balances

Method: GET

Get balance in all currencies

Request

GET /api/balances HTTP/1.1
Host: www.atlmoneytransfer.com
Authorization: Bearer sandbox_5ba9df637e1cd5baxxxxxxxxxx

Response

{
  "message": "success",
  "balances": {
      "GBP": "5000.00",
      "EUR": "10000.00"
  }
}

Get balance for specific currency

Request

GET /api/balances/GBP HTTP/1.1
Host: www.atlmoneytransfer.com
Authorization: Bearer sandbox_5ba9df637e1cd5baxxxxxxxxxx

Response

{
  "message": "success",
  "balance": "5000.00"
}

Account Statement

Endpoint: https://www.atlmoneytransfer.com/api/statement/:currency

Method: GET

Param Mandatory Description
page No Page number of result set.
start No Start date of statement in YYYY-MM-DD format
end No End date of statement in YYYY-MM-DD format.

Request

GET /api/statement/GBP HTTP/1.1
Host: www.atlmoneytransfer.com
Authorization: Bearer sandbox_5ba9df637e1cd5baxxxxxxxxxx

Response

{
  "message": "success",
  "entries": [
      {
          "id": "04341ac2-6304-4ad4-9e13-fd4ba7575f2e",
          "transaction_number": "",
          "delivery_reference": "",
          "narration": "Initial Funding",
          "amount": "5000.00",
          "commission": "0.00",
          "created": "2018-09-19T14:19:16+00:00"
      }
  ],
  "current_entries": 1,
  "total_entries": 1,
  "page": 1,
  "total_pages": 1
}

Response Description

Field Description
entries.{n}.id Unique Identifier for statement record.
entries.{n}.transaction_number Transaction number on ATL Money Transfer Platform
entries.{n}.delivery_reference Delivery reference or collection pin for transaction.
entries.{n}.narration Narration for statement record.
entries.{n}.amount Amount involved in operation.
entries.{n}.commission ATL Money Transfer’s commission.
entries.{n}.created Record creation date.

Payout Methods

ATL Money Transfer provides various payout methods.

Code Title Description
AC Account Transfer Amount will be credited to recipient’s bank account.
CP Cash Pickup Recipient will collect money from our cash collection locations.
HD Home Delivery Amount will be home delivered to recipient.
MW Mobile Wallet Amount will be created to recipient’s mobile wallet account.

Banks

Endpoint: https://www.atlmoneytransfer.com/api/banks

Method: GET

Param Mandatory Description
country Yes Country code for which list of banks should be retrieved.

Request

GET /api/banks?country=GH HTTP/1.1
Host: www.atlmoneytransfer.com
Authorization: Bearer sandbox_5ba9df637e1cd5baxxxxxxxxxx

Response

{
  "message": "success",
  "banks": [
      {
          "code": "44f18ca3-c3b1-4c3a-bebb-ade97ef335c7",
          "title": "Access Bank (AB)"
      },
      {
          "code": "a3ebb603-e2d6-45d2-babe-37bfb89bd270",
          "title": "Agricultural Development Bank of Ghana (ADB)"
      },
      {
          "code": "c6bdda4b-d3be-4c46-b8fc-4fa0823396cd",
          "title": "CAL Bank (CAL)"
      },
      {
          "code": "82215df8-b4df-44da-923e-1ddd7896bec7",
          "title": "Capital Bank"
      },
      {
          "code": "2e40651c-061e-48f1-97ab-84952bbbf9ef",
          "title": "Ecobank Ghana (Eco)"
      },
      {
          "code": "63cb76e7-c989-42b5-9122-c3b10f93d36a",
          "title": "Energy Bank (EB)"
      },
      {
          "code": "95e45c4a-87ae-4aae-be33-762362797db6",
          "title": "Fidelity Bank"
      },
      {
          "code": "b5c66e26-95de-4c9d-9bae-4361b632583e",
          "title": "Ghana Commercial Bank (GCB)"
      },
      {
          "code": "877dd227-3419-43b0-8562-8497b9868410",
          "title": "GN Bank Ghana (GN)"
      },
      {
          "code": "aed84bb7-9e12-47b9-b7d5-75c1ff646fad",
          "title": "Guaranty Trust Bank (GTB)"
      },
      {
          "code": "f670239d-c4f1-4c82-a87f-3b80e9d35d0d",
          "title": "HFC Bank (HFC)"
      },
      {
          "code": "15184286-3ecc-46ab-872d-740f32e11d9c",
          "title": "National Investment Bank (NIB)"
      },
      {
          "code": "f9c9d22b-afa2-4e92-9e4e-55f8df50f1a5",
          "title": "Prudential Bank (PB)"
      },
      {
          "code": "e836bdf7-3f95-4c02-bdd9-9170b52d634f",
          "title": "Stanbic Bank (SB)"
      },
      {
          "code": "c73896d7-3042-4641-af69-e4021d3c44b8",
          "title": "Standard Chartered Ghana (SCG)"
      },
      {
          "code": "4d06644d-690e-4d00-8a02-c5051c9c3f56",
          "title": "The Royal Bank (TRB)"
      },
      {
          "code": "5a16d3da-7970-40d1-b209-f5b729d6df2f",
          "title": "United Bank for Africa (UBA)"
      },
      {
          "code": "e6de9773-ef3f-4a62-8edd-58cb7c9366e0",
          "title": "Universal Merchant Bank (UMB)"
      },
      {
          "code": "a54de746-2c38-46c6-bf72-140b970d885b",
          "title": "Zenith Bank (ZB)"
      }
  ]
}

Cash Collection Points

Get list of all payout partners in country

Endpoint: https://www.atlmoneytransfer.com/api/cash-collection-partners

Method: GET

Param Mandatory Description
country Yes Country code for which list of partners should be retrieved.

Request

GET /api/cash-collection-partners?country=CI HTTP/1.1
Host: www.atlmoneytransfer.com
Authorization: Bearer sandbox_5ba9df637e1cd5baxxxxxxxxxx

Response

{
    "message": "success",
    "partners": [
        {
            "code": "ATLCI",
            "title": "ATL Money Transfer, CI",
            "information": "Partner can payout any ATL network transaction within the country."
        },
        {
            "code": "GTBCI",
            "title": "GT Bank, CI",
            "information": "Partner can payout any ATL network transaction within the country."
        },
        {
            "code": "SOFIN",
            "title": "SOFINTEC",
            "information": "Partner can payout any ATL network transaction within the country."
        },
        {
            "code": "SRFIN",
            "title": "SERFIN",
            "information": "Partner can payout any ATL network transaction within the country."
        },
        {
            "code": "WARI",
            "title": "Wari",
            "information": "Partner can only payout transactions which are explicitly sent to this partner."
        }
    ]
}

Get list of all collection points for partner in country

Endpoint: https://www.atlmoneytransfer.com/api/cash-points

Method: GET

Param Mandatory Description
country Yes Country code for which list of collection points should be retrieved.
partner Yes Partner code for which list of collection points should be retrieved.

Request

GET /api/collection-points?country=CI&partner=GTBCI HTTP/1.1
Host: www.atlmoneytransfer.com
Authorization: Bearer sandbox_5ba9df637e1cd5baxxxxxxxxxx

Response

{
    "message": "success",
    "locations": [
        {
            "name": "GTBank - Adjame",
            "address": "Boulevard Nangui Abrogoua, Face à la mosquée",
            "city": "Abidjan",
            "region": "",
            "postcode": "",
            "emails": [],
            "contacts": [
                "+225 20311500"
            ],
            "information": "",
            "business_hours": {
                "monday": {
                    "opens": "09:00 AM",
                    "closes": "04:00 PM"
                },
                "tuesday": {
                    "opens": "09:00 AM",
                    "closes": "04:00 PM"
                },
                "wednesday": {
                    "opens": "09:00 AM",
                    "closes": "04:00 PM"
                },
                "thursday": {
                    "opens": "09:00 AM",
                    "closes": "04:00 PM"
                },
                "friday": {
                    "opens": "09:00 AM",
                    "closes": "04:00 PM"
                },
                "saturday": {
                    "opens": "10:00 AM",
                    "closes": "01:00 PM"
                },
                "sunday": {
                    "opens": "Closed",
                    "closes": "Closed"
                }
            }
        }
    ]
}

Delivery Options

To retrieve delivery options such as Mobile Operators, Utility Billers

Endpoint: https://www.atlmoneytransfer.com/api/delivery-options

Method: GET

Param Mandatory Description
country Yes Country code for which list of delivery options should be retrieved.
payoutMethod Yes Payout method for which list of delivery options should be retrieved.

Request

GET /api/delivery-options?country=GH&payoutMethod=MW HTTP/1.1
Host: www.atlmoneytransfer.com
Authorization: Bearer sandbox_5ba9df637e1cd5baxxxxxxxxxx

Response

{
  "message": "success",
  "delivery_options": [
      {
          "code": "03b2584b-7d04-4c5d-a0ba-3d2576c601f2",
          "title": "Airtel",
          "customer_identifier_label": "Mobile Number"
      },
      {
          "code": "20e22bc1-50f5-11e7-9651-0ac5f86965eb",
          "title": "MTN Mobile Money",
          "customer_identifier_label": "Mobile Number"
      },
      {
          "code": "66f176e2-a41f-400d-8246-976949912d3f",
          "title": "Tigo",
          "customer_identifier_label": "Mobile Number"
      },
      {
          "code": "f473e504-17bb-4198-9d42-fa0641c75c37",
          "title": "Vodafone",
          "customer_identifier_label": "Mobile Number"
      }
  ]
}

Response Description

Field Description
delivery_options.{n}.code Unique Identifier for delivery option.
delivery_options.{n}.title Title of the delivery option.
delivery_options.{n}.customer_identifier_label Label for customer identifier field.

Payout Network

Country Account Transfer Cash Pickup Mobile Wallet
Austria Yes No No
Belgium Yes No No
Benin Yes Yes No
Burkina Faso Yes Yes No
Cameroon Yes Yes No
Canada Yes No No
Central African Republic Yes No No
Chad Yes Yes No
Congo Yes No No
Côte d’Ivoire Yes Yes Yes
Cyprus Yes No No
Democratic Republic of the Congo No Yes No
Denmark Yes Yes No
Equatorial Guinea Yes No No
Estonia Yes No No
Finland Yes No No
France Yes Yes No
Gabon Yes Yes No
Gambia No Yes No
Germany Yes No No
Ghana Yes Yes Yes
Greece Yes No No
Guinea No Yes No
Guinea-Bissau Yes Yes No
Ireland Yes No No
Italy Yes No No
Latvia Yes No No
Lithuania Yes No No
Luxembourg Yes No No
Mali Yes Yes No
Malta Yes No No
Netherlands Yes No No
Niger Yes Yes No
Nigeria Yes No No
Portugal Yes No No
Senegal Yes Yes No
Sierra Leone Yes Yes No
Slovakia Yes No No
Slovenia Yes No No
Spain Yes No No
Togo Yes Yes No
United Kingdom Yes Yes No
United States Yes No No

Country Payout Configuration

Austria

Account Transfer to Austria

Parameter Mandatory Description
first_name Conditional First name of the recipient as it appears of their bank account.
last_name Conditional Last name of the recipient as it appears of their bank account.
business_name Conditional
If recipient is company, name of the business as it appears
on their bank account.
bank Yes Complete bank name with no abbreviation.
iban Yes IBAN of the bank account.
mobile_number No Mobile number of the recipient if available.

Note

first_name and last_name are required for individual recipients.
business_name is required when recipient is a company or an organization.

Belgium

Account Transfer to Belgium

Parameter Mandatory Description
first_name Conditional First name of the recipient as it appears of their bank account.
last_name Conditional Last name of the recipient as it appears of their bank account.
business_name Conditional
If recipient is company, name of the business as it appears
on their bank account.
bank Yes Complete bank name with no abbreviation.
iban Yes IBAN of the bank account.
mobile_number No Mobile number of the recipient if available.

Note

first_name and last_name are required for individual recipients.
business_name is required when recipient is a company or an organization.

Benin

Account Transfer to Benin

Parameter Mandatory Description
first_name Conditional First name of the recipient as it appears of their bank account.
last_name Conditional Last name of the recipient as it appears of their bank account.
business_name Conditional
If recipient is company, name of the business as it appears
on their bank account.
bank Yes Bank code. See Banks section for codes.
branch_code Yes Account’s branch code.
account_number Yes Account number of the recipient.
rib_key Yes RIB Key
mobile_number No Mobile number of recipient, if available

Note

first_name and last_name are required for individual recipients.
business_name is required when recipient is a company or an organization.

Cash Pickup to Benin

Caution

Cash Pickup service is only limited to individual recipients.

Parameter Mandatory Description
first_name Yes First name of the recipient as it appears of recipient’s ID.
last_name Yes Last name of the recipient as it appears of recipient’s ID.
address Yes Address of the recipient.
city Yes City where recipient is located.
region No Province/County/State/Region where recipient is located.
postcode No Postal code of area where recipient is located.
mobile_number Yes Mobile number of the recipient.
email No Email address of recipient, if available.

Burkina Faso

Account Transfer to Burkina Faso

Parameter Mandatory Description
first_name Conditional First name of the recipient as it appears of their bank account.
last_name Conditional Last name of the recipient as it appears of their bank account.
business_name Conditional
If recipient is company, name of the business as it appears
on their bank account.
bank Yes Bank code. See Banks section for codes.
branch_code Yes Account’s branch code.
account_number Yes Account number of the recipient.
rib_key Yes RIB Key
mobile_number No Mobile number of recipient, if available

Note

first_name and last_name are required for individual recipients.
business_name is required when recipient is a company or an organization.

Cash Pickup to Burkina Faso

Caution

Cash Pickup service is only limited to individual recipients.

Parameter Mandatory Description
first_name Yes First name of the recipient as it appears of recipient’s ID.
last_name Yes Last name of the recipient as it appears of recipient’s ID.
address Yes Address of the recipient.
city Yes City where recipient is located.
region No Province/County/State/Region where recipient is located.
postcode No Postal code of area where recipient is located.
mobile_number Yes Mobile number of the recipient.
email No Email address of recipient, if available.

Cameroon

Account Transfer to Cameroon

Parameter Mandatory Description
first_name Conditional First name of the recipient as it appears of their bank account.
last_name Conditional Last name of the recipient as it appears of their bank account.
business_name Conditional
If recipient is company, name of the business as it appears
on their bank account.
bank Yes Complete bank name with no abbreviation.
bank_code Yes Bank’s code.
branch_code Yes Account’s branch code.
account_number Yes Account number of the recipient.
rib_key Yes RIB Key
mobile_number No Mobile number of recipient, if available

Note

first_name and last_name are required for individual recipients.
business_name is required when recipient is a company or an organization.

Cash Pickup to Cameroon

Caution

Cash Pickup service is only limited to individual recipients.

Parameter Mandatory Description
first_name Yes First name of the recipient as it appears of recipient’s ID.
last_name Yes Last name of the recipient as it appears of recipient’s ID.
address Yes Address of the recipient.
city Yes City where recipient is located.
region No Province/County/State/Region where recipient is located.
postcode No Postal code of area where recipient is located.
mobile_number Yes Mobile number of the recipient.
email No Email address of recipient, if available.

Canada

Account Transfer to Canada

Parameter Mandatory Description
first_name Conditional First name of the recipient as it appears of their bank account.
last_name Conditional Last name of the recipient as it appears of their bank account.
business_name Conditional
If recipient is company, name of the business as it appears
on their bank account.
bank Yes Complete bank name with no abbreviation.
institution_number Yes Institution number of account.
transit_number Yes Transit number of account.
account_number Yes Account number of account.
swift_code Yes SWIFT of account.
account_type Yes Either SAVINGS or CHECKING

Note

first_name and last_name are required for individual recipients.
business_name is required when recipient is a company or an organization.

Central African Republic

Account Transfer to Central African Republic

Parameter Mandatory Description
first_name Conditional First name of the recipient as it appears of their bank account.
last_name Conditional Last name of the recipient as it appears of their bank account.
business_name Conditional
If recipient is company, name of the business as it appears
on their bank account.
bank Yes Complete bank name with no abbreviation.
bank_code Yes Bank’s code.
branch_code Yes Account’s branch code.
account_number Yes Account number of the recipient.
rib_key Yes RIB Key
mobile_number No Mobile number of recipient, if available

Note

first_name and last_name are required for individual recipients.
business_name is required when recipient is a company or an organization.

Chad

Account Transfer to Chad

Parameter Mandatory Description
first_name Conditional First name of the recipient as it appears of their bank account.
last_name Conditional Last name of the recipient as it appears of their bank account.
business_name Conditional
If recipient is company, name of the business as it appears
on their bank account.
bank Yes Complete bank name with no abbreviation.
bank_code Yes Bank’s code.
branch_code Yes Account’s branch code.
account_number Yes Account number of the recipient.
rib_key Yes RIB Key
mobile_number No Mobile number of recipient, if available

Note

first_name and last_name are required for individual recipients.
business_name is required when recipient is a company or an organization.

Cash Pickup to Chad

Caution

Cash Pickup service is only limited to individual recipients.

Parameter Mandatory Description
first_name Yes First name of the recipient as it appears of recipient’s ID.
last_name Yes Last name of the recipient as it appears of recipient’s ID.
address Yes Address of the recipient.
city Yes City where recipient is located.
region No Province/County/State/Region where recipient is located.
postcode No Postal code of area where recipient is located.
mobile_number Yes Mobile number of the recipient.
email No Email address of recipient, if available.

Congo

Account Transfer to Congo

Parameter Mandatory Description
first_name Conditional First name of the recipient as it appears of their bank account.
last_name Conditional Last name of the recipient as it appears of their bank account.
business_name Conditional
If recipient is company, name of the business as it appears
on their bank account.
bank Yes Complete bank name with no abbreviation.
bank_code Yes Bank’s code.
branch_code Yes Account’s branch code.
account_number Yes Account number of the recipient.
rib_key Yes RIB Key
mobile_number No Mobile number of recipient, if available

Note

first_name and last_name are required for individual recipients.
business_name is required when recipient is a company or an organization.

Côte d’Ivoire

Account Transfer to Côte d’Ivoire

Parameter Mandatory Description
first_name Conditional First name of the recipient as it appears of their bank account.
last_name Conditional Last name of the recipient as it appears of their bank account.
business_name Conditional
If recipient is company, name of the business as it appears
on their bank account.
bank Yes Bank code. See Banks section for codes.
branch_code Yes Account’s branch code.
account_number Yes Account number of the recipient.
rib_key Yes RIB Key
mobile_number No Mobile number of recipient, if available

Note

first_name and last_name are required for individual recipients.
business_name is required when recipient is a company or an organization.

Cash Pickup to Côte d’Ivoire

Caution

Cash Pickup service is only limited to individual recipients.

Parameter Mandatory Description
first_name Yes First name of the recipient as it appears of recipient’s ID.
last_name Yes Last name of the recipient as it appears of recipient’s ID.
address Yes Address of the recipient.
city Yes City where recipient is located.
region No Province/County/State/Region where recipient is located.
postcode No Postal code of area where recipient is located.
mobile_number Yes Mobile number of the recipient.
email No Email address of recipient, if available.

Mobile Wallet to Côte d’Ivoire

Caution

Mobile Wallet to Côte d’Ivoire service is only limited to individual recipients.

Parameter Mandatory Description
first_name Yes First name of the recipient as it appears of recipient’s ID.
last_name Yes Last name of the recipient as it appears of recipient’s ID.
mobile_number Yes Mobile number of the recipient.
mobile_operator Yes Operate of mobile number. See Delivery Options section.

Cyprus

Account Transfer to Cyprus

Parameter Mandatory Description
first_name Conditional First name of the recipient as it appears of their bank account.
last_name Conditional Last name of the recipient as it appears of their bank account.
business_name Conditional
If recipient is company, name of the business as it appears
on their bank account.
bank Yes Complete bank name with no abbreviation.
iban Yes IBAN of the bank account.
mobile_number No Mobile number of the recipient if available.

Note

first_name and last_name are required for individual recipients.
business_name is required when recipient is a company or an organization.

Democratic Republic of the Congo

Cash Pickup to Democratic Republic of the Congo

Caution

Cash Pickup service is only limited to individual recipients.

Parameter Mandatory Description
first_name Yes First name of the recipient as it appears of recipient’s ID.
last_name Yes Last name of the recipient as it appears of recipient’s ID.
address Yes Address of the recipient.
city Yes City where recipient is located.
region No Province/County/State/Region where recipient is located.
postcode No Postal code of area where recipient is located.
mobile_number Yes Mobile number of the recipient.
email No Email address of recipient, if available.

Denmark

Account Transfer to Denmark

Parameter Mandatory Description
first_name Conditional First name of the recipient as it appears of their bank account.
last_name Conditional Last name of the recipient as it appears of their bank account.
business_name Conditional
If recipient is company, name of the business as it appears
on their bank account.
registration_number Yes Registration Number.
account_number Yes Account number of the recipient.

Note

first_name and last_name are required for individual recipients.
business_name is required when recipient is a company or an organization.

Cash Pickup to Denmark

Caution

Cash Pickup service is only limited to individual recipients.

Parameter Mandatory Description
first_name Yes First name of the recipient as it appears of recipient’s ID.
last_name Yes Last name of the recipient as it appears of recipient’s ID.
address Yes Address of the recipient.
city Yes City where recipient is located.
region No Province/County/State/Region where recipient is located.
postcode No Postal code of area where recipient is located.
mobile_number Yes Mobile number of the recipient.
email No Email address of recipient, if available.

Equatorial Guinea

Account Transfer to Equatorial Guinea

Parameter Mandatory Description
first_name Conditional First name of the recipient as it appears of their bank account.
last_name Conditional Last name of the recipient as it appears of their bank account.
business_name Conditional
If recipient is company, name of the business as it appears
on their bank account.
bank Yes Complete bank name with no abbreviation.
bank_code Yes Bank’s code.
branch_code Yes Account’s branch code.
account_number Yes Account number of the recipient.
rib_key Yes RIB Key
mobile_number No Mobile number of recipient, if available

Note

first_name and last_name are required for individual recipients.
business_name is required when recipient is a company or an organization.

Estonia

Account Transfer to Estonia

Parameter Mandatory Description
first_name Conditional First name of the recipient as it appears of their bank account.
last_name Conditional Last name of the recipient as it appears of their bank account.
business_name Conditional
If recipient is company, name of the business as it appears
on their bank account.
bank Yes Complete bank name with no abbreviation.
iban Yes IBAN of the bank account.
mobile_number No Mobile number of the recipient if available.

Note

first_name and last_name are required for individual recipients.
business_name is required when recipient is a company or an organization.

Finland

Account Transfer to Finland

Parameter Mandatory Description
first_name Conditional First name of the recipient as it appears of their bank account.
last_name Conditional Last name of the recipient as it appears of their bank account.
business_name Conditional
If recipient is company, name of the business as it appears
on their bank account.
bank Yes Complete bank name with no abbreviation.
iban Yes IBAN of the bank account.
mobile_number No Mobile number of the recipient if available.

Note

first_name and last_name are required for individual recipients.
business_name is required when recipient is a company or an organization.

France

Account Transfer to France

Parameter Mandatory Description
first_name Conditional First name of the recipient as it appears of their bank account.
last_name Conditional Last name of the recipient as it appears of their bank account.
business_name Conditional
If recipient is company, name of the business as it appears
on their bank account.
bank Yes Complete bank name with no abbreviation.
iban Yes IBAN of the bank account.
mobile_number No Mobile number of the recipient if available.

Note

first_name and last_name are required for individual recipients.
business_name is required when recipient is a company or an organization.

Cash Pickup to France

Caution

Cash Pickup service is only limited to individual recipients.

Parameter Mandatory Description
first_name Yes First name of the recipient as it appears of recipient’s ID.
last_name Yes Last name of the recipient as it appears of recipient’s ID.
address Yes Address of the recipient.
city Yes City where recipient is located.
region No Province/County/State/Region where recipient is located.
postcode No Postal code of area where recipient is located.
mobile_number Yes Mobile number of the recipient.
email No Email address of recipient, if available.

Gabon

Account Transfer in Gabon

Parameter Mandatory Description
first_name Conditional First name of the recipient as it appears of their bank account.
last_name Conditional Last name of the recipient as it appears of their bank account.
business_name Conditional
If recipient is company, name of the business as it appears
on their bank account.
bank Yes Complete bank name with no abbreviation.
bank_code Yes Bank’s code.
branch_code Yes Account’s branch code.
account_number Yes Account number of the recipient.
rib_key Yes RIB Key
mobile_number No Mobile number of recipient, if available

Note

first_name and last_name are required for individual recipients.
business_name is required when recipient is a company or an organization.

Cash Pickup to Gabon

Caution

Cash Pickup service is only limited to individual recipients.

Parameter Mandatory Description
first_name Yes First name of the recipient as it appears of recipient’s ID.
last_name Yes Last name of the recipient as it appears of recipient’s ID.
address Yes Address of the recipient.
city Yes City where recipient is located.
region No Province/County/State/Region where recipient is located.
postcode No Postal code of area where recipient is located.
mobile_number Yes Mobile number of the recipient.
email No Email address of recipient, if available.

Gambia

Cash Pickup to Gambia

Caution

Cash Pickup service is only limited to individual recipients.

Parameter Mandatory Description
first_name Yes First name of the recipient as it appears of recipient’s ID.
last_name Yes Last name of the recipient as it appears of recipient’s ID.
address Yes Address of the recipient.
city Yes City where recipient is located.
region No Province/County/State/Region where recipient is located.
postcode No Postal code of area where recipient is located.
mobile_number Yes Mobile number of the recipient.
email No Email address of recipient, if available.

Germany

Account Transfer to Germany

Parameter Mandatory Description
first_name Conditional First name of the recipient as it appears of their bank account.
last_name Conditional Last name of the recipient as it appears of their bank account.
business_name Conditional
If recipient is company, name of the business as it appears
on their bank account.
bank Yes Complete bank name with no abbreviation.
iban Yes IBAN of the bank account.
mobile_number No Mobile number of the recipient if available.

Note

first_name and last_name are required for individual recipients.
business_name is required when recipient is a company or an organization.

Ghana

Account Transfer in Ghana

Parameter Mandatory Description
first_name Conditional First name of the recipient as it appears of their bank account.
last_name Conditional Last name of the recipient as it appears of their bank account.
business_name Conditional
If recipient is company, name of the business as it appears
on their bank account.
bank Yes Bank code. See Banks section.
account_number Yes Account number of the recipient.
sort_code No Sort code of recipient’s bank account.
mobile_number No Mobile number of the recipient if available.

Note

first_name and last_name are required for individual recipients.
business_name is required when recipient is a company or an organization.

Cash Pickup to Ghana

Caution

Cash Pickup service is only limited to individual recipients.

Parameter Mandatory Description
first_name Yes First name of the recipient as it appears of recipient’s ID.
last_name Yes Last name of the recipient as it appears of recipient’s ID.
address Yes Address of the recipient.
city Yes City where recipient is located.
region No Province/County/State/Region where recipient is located.
postcode No Postal code of area where recipient is located.
mobile_number Yes Mobile number of the recipient.
email No Email address of recipient, if available.

Mobile Wallet in Ghana

Caution

Mobile Wallet to Ghana service is only limited to individual recipients.

Parameter Mandatory Description
first_name Yes First name of the recipient as it appears of recipient’s ID.
last_name Yes Last name of the recipient as it appears of recipient’s ID.
mobile_number Yes Mobile number of the recipient.
mobile_operator Yes Operate of mobile number. See Delivery Options section.

Greece

Account Transfer to Greece

Parameter Mandatory Description
first_name Conditional First name of the recipient as it appears of their bank account.
last_name Conditional Last name of the recipient as it appears of their bank account.
business_name Conditional
If recipient is company, name of the business as it appears
on their bank account.
bank Yes Complete bank name with no abbreviation.
iban Yes IBAN of the bank account.
mobile_number No Mobile number of the recipient if available.

Note

first_name and last_name are required for individual recipients.
business_name is required when recipient is a company or an organization.

Guinea

Cash Pickup to Guinea

Caution

Cash Pickup service is only limited to individual recipients.

Parameter Mandatory Description
first_name Yes First name of the recipient as it appears of recipient’s ID.
last_name Yes Last name of the recipient as it appears of recipient’s ID.
address Yes Address of the recipient.
city Yes City where recipient is located.
region No Province/County/State/Region where recipient is located.
postcode No Postal code of area where recipient is located.
mobile_number Yes Mobile number of the recipient.
email No Email address of recipient, if available.

Guinea-Bissau

Account Transfer to Guinea-Bissau

Parameter Mandatory Description
first_name Conditional First name of the recipient as it appears of their bank account.
last_name Conditional Last name of the recipient as it appears of their bank account.
business_name Conditional
If recipient is company, name of the business as it appears
on their bank account.
bank Yes Bank code. See Banks section for codes.
branch_code Yes Account’s branch code.
account_number Yes Account number of the recipient.
rib_key Yes RIB Key
mobile_number No Mobile number of recipient, if available

Note

first_name and last_name are required for individual recipients.
business_name is required when recipient is a company or an organization.

Cash Pickup to Guinea-Bissau

Caution

Cash Pickup service is only limited to individual recipients.

Parameter Mandatory Description
first_name Yes First name of the recipient as it appears of recipient’s ID.
last_name Yes Last name of the recipient as it appears of recipient’s ID.
address Yes Address of the recipient.
city Yes City where recipient is located.
region No Province/County/State/Region where recipient is located.
postcode No Postal code of area where recipient is located.
mobile_number Yes Mobile number of the recipient.
email No Email address of recipient, if available.

Ireland

Account Transfer to Ireland

Parameter Mandatory Description
first_name Conditional First name of the recipient as it appears of their bank account.
last_name Conditional Last name of the recipient as it appears of their bank account.
business_name Conditional
If recipient is company, name of the business as it appears
on their bank account.
bank Yes Complete bank name with no abbreviation.
iban Yes IBAN of the bank account.
mobile_number No Mobile number of the recipient if available.

Note

first_name and last_name are required for individual recipients.
business_name is required when recipient is a company or an organization.

Italy

Account Transfer to Italy

Parameter Mandatory Description
first_name Conditional First name of the recipient as it appears of their bank account.
last_name Conditional Last name of the recipient as it appears of their bank account.
business_name Conditional
If recipient is company, name of the business as it appears
on their bank account.
bank Yes Complete bank name with no abbreviation.
iban Yes IBAN of the bank account.
mobile_number No Mobile number of the recipient if available.

Note

first_name and last_name are required for individual recipients.
business_name is required when recipient is a company or an organization.

Latvia

Account Transfer in Latvia

Parameter Mandatory Description
first_name Conditional First name of the recipient as it appears of their bank account.
last_name Conditional Last name of the recipient as it appears of their bank account.
business_name Conditional
If recipient is company, name of the business as it appears
on their bank account.
bank Yes Complete bank name with no abbreviation.
iban Yes IBAN of the bank account.
mobile_number No Mobile number of the recipient if available.

Note

first_name and last_name are required for individual recipients.
business_name is required when recipient is a company or an organization.

Lithuania

Account Transfer in Lithuania

Parameter Mandatory Description
first_name Conditional First name of the recipient as it appears of their bank account.
last_name Conditional Last name of the recipient as it appears of their bank account.
business_name Conditional
If recipient is company, name of the business as it appears
on their bank account.
bank Yes Complete bank name with no abbreviation.
iban Yes IBAN of the bank account.
mobile_number No Mobile number of the recipient if available.

Note

first_name and last_name are required for individual recipients.
business_name is required when recipient is a company or an organization.

Luxembourg

Account Transfer in Luxembourg

Parameter Mandatory Description
first_name Conditional First name of the recipient as it appears of their bank account.
last_name Conditional Last name of the recipient as it appears of their bank account.
business_name Conditional
If recipient is company, name of the business as it appears
on their bank account.
bank Yes Complete bank name with no abbreviation.
iban Yes IBAN of the bank account.
mobile_number No Mobile number of the recipient if available.

Note

first_name and last_name are required for individual recipients.
business_name is required when recipient is a company or an organization.

Mali

Account Transfer to Mali

Parameter Mandatory Description
first_name Conditional First name of the recipient as it appears of their bank account.
last_name Conditional Last name of the recipient as it appears of their bank account.
business_name Conditional
If recipient is company, name of the business as it appears
on their bank account.
bank Yes Bank code. See Banks section for codes.
branch_code Yes Account’s branch code.
account_number Yes Account number of the recipient.
rib_key Yes RIB Key
mobile_number No Mobile number of recipient, if available

Note

first_name and last_name are required for individual recipients.
business_name is required when recipient is a company or an organization.

Cash Pickup to Mali

Caution

Cash Pickup service is only limited to individual recipients.

Parameter Mandatory Description
first_name Yes First name of the recipient as it appears of recipient’s ID.
last_name Yes Last name of the recipient as it appears of recipient’s ID.
address Yes Address of the recipient.
city Yes City where recipient is located.
region No Province/County/State/Region where recipient is located.
postcode No Postal code of area where recipient is located.
mobile_number Yes Mobile number of the recipient.
email No Email address of recipient, if available.

Malta

Account Transfer in Malta

Parameter Mandatory Description
first_name Conditional First name of the recipient as it appears of their bank account.
last_name Conditional Last name of the recipient as it appears of their bank account.
business_name Conditional
If recipient is company, name of the business as it appears
on their bank account.
bank Yes Complete bank name with no abbreviation.
iban Yes IBAN of the bank account.
mobile_number No Mobile number of the recipient if available.

Note

first_name and last_name are required for individual recipients.
business_name is required when recipient is a company or an organization.

Netherlands

Account Transfer in Netherlands

Parameter Mandatory Description
first_name Conditional First name of the recipient as it appears of their bank account.
last_name Conditional Last name of the recipient as it appears of their bank account.
business_name Conditional
If recipient is company, name of the business as it appears
on their bank account.
bank Yes Complete bank name with no abbreviation.
iban Yes IBAN of the bank account.
mobile_number No Mobile number of the recipient if available.

Note

first_name and last_name are required for individual recipients.
business_name is required when recipient is a company or an organization.

Niger

Account Transfer to Niger

Parameter Mandatory Description
first_name Conditional First name of the recipient as it appears of their bank account.
last_name Conditional Last name of the recipient as it appears of their bank account.
business_name Conditional
If recipient is company, name of the business as it appears
on their bank account.
bank Yes Bank code. See Banks section for codes.
branch_code Yes Account’s branch code.
account_number Yes Account number of the recipient.
rib_key Yes RIB Key
mobile_number No Mobile number of recipient, if available

Note

first_name and last_name are required for individual recipients.
business_name is required when recipient is a company or an organization.

Cash Pickup to Niger

Caution

Cash Pickup service is only limited to individual recipients.

Parameter Mandatory Description
first_name Yes First name of the recipient as it appears of recipient’s ID.
last_name Yes Last name of the recipient as it appears of recipient’s ID.
address Yes Address of the recipient.
city Yes City where recipient is located.
region No Province/County/State/Region where recipient is located.
postcode No Postal code of area where recipient is located.
mobile_number Yes Mobile number of the recipient.
email No Email address of recipient, if available.

Nigeria

Account Transfer to Nigeria

Parameter Mandatory Description
first_name Conditional First name of the recipient as it appears of their bank account.
last_name Conditional Last name of the recipient as it appears of their bank account.
business_name Conditional
If recipient is company, name of the business as it appears
on their bank account.
bank Yes Bank code. See Banks section.
account_number Yes Account number of the recipient.
mobile_number Yes Mobile number of the recipient if available.

Note

first_name and last_name are required for individual recipients.
business_name is required when recipient is a company or an organization.

Portugal

Account Transfer to Portugal

Parameter Mandatory Description
first_name Conditional First name of the recipient as it appears of their bank account.
last_name Conditional Last name of the recipient as it appears of their bank account.
business_name Conditional
If recipient is company, name of the business as it appears
on their bank account.
bank Yes Complete bank name with no abbreviation.
iban Yes IBAN of the bank account.
mobile_number No Mobile number of the recipient if available.

Note

first_name and last_name are required for individual recipients.
business_name is required when recipient is a company or an organization.

Senegal

Account Transfer to Senegal

Parameter Mandatory Description
first_name Conditional First name of the recipient as it appears of their bank account.
last_name Conditional Last name of the recipient as it appears of their bank account.
business_name Conditional
If recipient is company, name of the business as it appears
on their bank account.
bank Yes Bank code. See Banks section for codes.
branch_code Yes Account’s branch code.
account_number Yes Account number of the recipient.
rib_key Yes RIB Key
mobile_number No Mobile number of recipient, if available

Note

first_name and last_name are required for individual recipients.
business_name is required when recipient is a company or an organization.

Cash Pickup to Senegal

Caution

Cash Pickup service is only limited to individual recipients.

Parameter Mandatory Description
first_name Yes First name of the recipient as it appears of recipient’s ID.
last_name Yes Last name of the recipient as it appears of recipient’s ID.
address Yes Address of the recipient.
city Yes City where recipient is located.
region No Province/County/State/Region where recipient is located.
postcode No Postal code of area where recipient is located.
mobile_number Yes Mobile number of the recipient.
email No Email address of recipient, if available.

Sierra Leone

Account Transfer

Parameter Mandatory Description
first_name Conditional First name of the recipient as it appears of their bank account.
last_name Conditional Last name of the recipient as it appears of their bank account.
business_name Conditional
If recipient is company, name of the business as it appears
on their bank account.
bank Yes Bank code. See Banks section.
account_number Yes Account number of the recipient.
mobile_number No Mobile number of the recipient if available.

Note

first_name and last_name are required for individual recipients.
business_name is required when recipient is a company or an organization.

Cash Pickup to Sierra Leone

Caution

Cash Pickup service is only limited to individual recipients.

Parameter Mandatory Description
first_name Yes First name of the recipient as it appears of recipient’s ID.
last_name Yes Last name of the recipient as it appears of recipient’s ID.
address Yes Address of the recipient.
city Yes City where recipient is located.
region No Province/County/State/Region where recipient is located.
postcode No Postal code of area where recipient is located.
mobile_number Yes Mobile number of the recipient.
email No Email address of recipient, if available.

Slovakia

Account Transfer to Slovakia

Parameter Mandatory Description
first_name Conditional First name of the recipient as it appears of their bank account.
last_name Conditional Last name of the recipient as it appears of their bank account.
business_name Conditional
If recipient is company, name of the business as it appears
on their bank account.
bank Yes Complete bank name with no abbreviation.
iban Yes IBAN of the bank account.
mobile_number No Mobile number of the recipient if available.

Note

first_name and last_name are required for individual recipients.
business_name is required when recipient is a company or an organization.

Slovenia

Account Transfer to Slovenia

Parameter Mandatory Description
first_name Conditional First name of the recipient as it appears of their bank account.
last_name Conditional Last name of the recipient as it appears of their bank account.
business_name Conditional
If recipient is company, name of the business as it appears
on their bank account.
bank Yes Complete bank name with no abbreviation.
iban Yes IBAN of the bank account.
mobile_number No Mobile number of the recipient if available.

Note

first_name and last_name are required for individual recipients.
business_name is required when recipient is a company or an organization.

Spain

Account Transfer to Spain

Parameter Mandatory Description
first_name Conditional First name of the recipient as it appears of their bank account.
last_name Conditional Last name of the recipient as it appears of their bank account.
business_name Conditional
If recipient is company, name of the business as it appears
on their bank account.
bank Yes Complete bank name with no abbreviation.
iban Yes IBAN of the bank account.
mobile_number No Mobile number of the recipient if available.

Note

first_name and last_name are required for individual recipients.
business_name is required when recipient is a company or an organization.

Togo

Account Transfer to Togo

Parameter Mandatory Description
first_name Conditional First name of the recipient as it appears of their bank account.
last_name Conditional Last name of the recipient as it appears of their bank account.
business_name Conditional
If recipient is company, name of the business as it appears
on their bank account.
bank Yes Bank code. See Banks section for codes.
branch_code Yes Account’s branch code.
account_number Yes Account number of the recipient.
rib_key Yes RIB Key
mobile_number No Mobile number of recipient, if available

Note

first_name and last_name are required for individual recipients.
business_name is required when recipient is a company or an organization.

Cash Pickup to Togo

Caution

Cash Pickup service is only limited to individual recipients.

Parameter Mandatory Description
first_name Yes First name of the recipient as it appears of recipient’s ID.
last_name Yes Last name of the recipient as it appears of recipient’s ID.
address Yes Address of the recipient.
city Yes City where recipient is located.
region No Province/County/State/Region where recipient is located.
postcode No Postal code of area where recipient is located.
mobile_number Yes Mobile number of the recipient.
email No Email address of recipient, if available.

United Kingdom

Account Transfer to United Kingdom

Parameter Mandatory Description
first_name Conditional First name of the recipient as it appears of their bank account.
last_name Conditional Last name of the recipient as it appears of their bank account.
business_name Conditional
If recipient is company, name of the business as it appears
on their bank account.
bank Yes Bank code. See Banks section.
account_number Yes Account number of the recipient.
sort_code Yes Sort code of recipient’s bank account.
mobile_number Yes Mobile number of the recipient if available.

Note

first_name and last_name are required for individual recipients.
business_name is required when recipient is a company or an organization.

Cash Pickup to United Kingdom

Caution

Cash Pickup service is only limited to individual recipients.

Parameter Mandatory Description
first_name Yes First name of the recipient as it appears of recipient’s ID.
last_name Yes Last name of the recipient as it appears of recipient’s ID.
address Yes Address of the recipient.
city Yes City where recipient is located.
region No Province/County/State/Region where recipient is located.
postcode No Postal code of area where recipient is located.
mobile_number Yes Mobile number of the recipient.
email No Email address of recipient, if available.

United States

Account Transfer to United States

Parameter Mandatory Description
first_name Conditional First name of the recipient as it appears of their bank account.
last_name Conditional Last name of the recipient as it appears of their bank account.
business_name Conditional
If recipient is company, name of the business as it appears
on their bank account.
bank Yes Bank code. See Banks section.
account_number Yes Account number of the recipient.
routing_code Yes Routing code of recipient’s bank account.
account_type Yes Any of SAVING OR CHECKING
address Yes Address of the recipient.
city Yes City where recipient is located.
region No Province/County/State/Region where recipient is located.
postcode No Postal code of area where recipient is located.

Note

first_name and last_name are required for individual recipients.
business_name is required when recipient is a company or an organization.

Customer Object

Customer objects allow you to perform transactions easily. It is highly recommended that partner should store customer id returned from ATL Money Transfer and should use customer id for all future transactions from the same customer.

Parameter Description
id Global unique identifier for customer.
first_name First name of the customer as it appears on their Proof of Identity.
middle_name Middle name of the customer as it appears on their Proof of Identity.
last_name Last name of the customer as it appears on their Proof of Identity.
date_of_birth Date of birth of the customer as it appears on their Proof of Identity.
birth_city Birth city of the customer.
birth_country Birth country of the customer.
nationality Current nationality of the customer.
birth_nationality Nationality of the customer at the time of birth.
address Address of the customer.
city City where the customer is located.
region State/Province/Region where the customer is located.
postcode Postcode of the area where the customer is located.
country Country where the customer is located.
phone_number Phone number of the customer.
mobile_number Mobile number of the customer.
email_address Email address of the customer.
blocked
1 if customer is blocked for sending, else 0. Contact support
for more information.
temporary_blocked
1 if customer is blocked for sending on temporary basis. This
usually happens due to compliance issue or suspicious activity.
Contact support for more information.
created_on Customer creation date of the customer on ATL Money Transfer.
updated_on Date when customer was last updated.

Create a Customer

Endpoint: https://www.atlmoneytransfer.com/api/customers

Method: POST

Parameter Mandatory Description
first_name Yes First name of the customer as it appears on their Proof of Identity.
middle_name No Middle name of the customer as it appears on their Proof of Identity.
last_name Yes Last name of the customer as it appears on their Proof of Identity.
date_of_birth Yes Date of birth of the customer as it appears on their Proof of Identity.
birth_city No Birth city of the customer.
birth_country No Birth country of the customer.
nationality Yes Current nationality of the customer.
birth_nationality No Nationality of the customer at the time of birth.
address Yes Address of the customer.
city Yes City where the customer is located.
region No State/Province/Region where the customer is located.
postcode No Postcode of the area where the customer is located.
country Yes Country where the customer is located.
phone_number No Phone number of the customer.
mobile_number Yes Mobile number of the customer.
email_address No Email address of the customer.

Hint

Since a resource is being created, HTTP response code 201 will be returned if the customer is successfully created.

Request

POST /api/customers HTTP/1.1
Host: www.atlmoneytransfer.com
Authorization: Bearer sandbox_5ba9df637e1cd5baxxxxxxxxxx
Content-Type: application/x-www-form-urlencoded

first_name=Dhruv
&middle_name=
&last_name=Patel
&date_of_birth=1989-11-04
&birth_city=London
&birth_country=GB
&nationality=GB
&birth_nationality=GB
&address=ATL+House%2C+128+Peckham+Hill+Street
&city=London
&region=England
&postcode=SE15+5JT
&country=GB
&phone_number=1234567890
&mobile_number=9876543210
&email_address=support%40atlmoneytransfer.com

Response

{
  "message": "success",
  "customer": {
      "id": 9963210701,
      "first_name": "Dhruv",
      "middle_name": "",
      "last_name": "Patel",
      "date_of_birth": "1989-11-04",
      "birth_city": "London",
      "birth_country": "GB",
      "nationality": "GB",
      "birth_nationality": "GB",
      "address": "ATL House, 128 Peckham Hill Street",
      "city": "London",
      "region": "England",
      "postcode": "SE15 5JT",
      "country": "GB",
      "mobile_number": "9876543210",
      "phone_number": "1234567890",
      "email_address": "support@atlmoneytransfer.com",
      "blocked": 0,
      "temporary_blocked": 0,
      "created_on": "2018-09-28T08:40:11+00:00",
      "updated_on": "2018-09-28T08:40:11+00:00"
  }
}

Get List of all Customers

Endpoint: https://www.atlmoneytransfer.com/api/customers

Method: GET

Param Mandatory Description
page No Page number of result set.

Request

GET /api/customers HTTP/1.1
Host: www.atlmoneytransfer.com
Authorization: Bearer sandbox_5ba9df637e1cd5baxxxxxxxxxx

Response

{
    "message": "success",
    "customers": [
        {
            "id": 9963210701,
            "first_name": "Dhruv",
            "middle_name": "",
            "last_name": "Patel",
            "date_of_birth": "1989-11-04",
            "birth_city": "London",
            "birth_country": "GB",
            "nationality": "GB",
            "birth_nationality": "GB",
            "address": "ATL House, 128 Peckham Hill Street",
            "city": "London",
            "region": "England",
            "postcode": "SE15 5JT",
            "country": "GB",
            "mobile_number": "9876543210",
            "phone_number": "1234567890",
            "email_address": "support@atlmoneytransfer.com",
            "blocked": 0,
            "temporary_blocked": 0,
            "created_on": "2018-09-28T08:40:11+00:00",
            "updated_on": "2018-09-28T08:40:11+00:00"
        }
    ],
    "current_customers": 1,
    "total_customers": 1,
    "page": 1,
    "total_pages": 1
}

Response Description

Parameter Description
customers.{n}.id Global unique identifier for customer.
customers.{n}.first_name First name of the customer.
customers.{n}.middle_name Middle name of the customer.
customers.{n}.last_name Last name of the customer.
customers.{n}.date_of_birth Date of birth of the customer.
customers.{n}.birth_city Birth city of the customer.
customers.{n}.birth_country Birth country of the customer.
customers.{n}.nationality Current nationality of the customer.
customers.{n}.birth_nationality Nationality of the customer at the time of birth.
customers.{n}.address Address of the customer.
customers.{n}.city City where the customer is located.
customers.{n}.region State/Province/Region where the customer is located.
customers.{n}.postcode Postcode of the area where the customer is located.
customers.{n}.country Country where the customer is located.
customers.{n}.phone_number Phone number of the customer.
customers.{n}.mobile_number Mobile number of the customer.
customers.{n}.email_address Email address of the customer.
customers.{n}.blocked 1 if customer is blocked for sending, else 0
customers.{n}.temporary_blocked 1 if customer is blocked for sending on temporary basis, else 0
customers.{n}.created_on Customer creation date of the customer on ATL Money Transfer.
customers.{n}.updated_on Date when customer was last updated.
current_customers Number of customer results on current page.
total_customers Total number of customers on ATL Money Transfer Platform.
page Current page number.
total_pages Total number of pages.

Get Single Customer

Endpoint: https://www.atlmoneytransfer.com/api/customers/:id

Method: GET

Request

GET /api/customers/2618602080 HTTP/1.1
Host: www.atlmoneytransfer.com
Authorization: Bearer sandbox_5ba9df637e1cd5baxxxxxxxxxx

Response

{
    "message": "success",
    "customer": {
        "id": 9963210701,
        "first_name": "Dhruv",
        "middle_name": "",
        "last_name": "Patel",
        "date_of_birth": "1989-11-04",
        "birth_city": "London",
        "birth_country": "GB",
        "nationality": "GB",
        "birth_nationality": "GB",
        "address": "ATL House, 128 Peckham Hill Street",
        "city": "London",
        "region": "England",
        "postcode": "SE15 5JT",
        "country": "GB",
        "mobile_number": "9876543210",
        "phone_number": "1234567890",
        "email_address": "support@atlmoneytransfer.com",
        "blocked": 0,
        "temporary_blocked": 0,
        "created_on": "2018-09-28T08:40:11+00:00",
        "updated_on": "2018-09-28T08:40:11+00:00"
    }
}

Update Customer Object

Endpoint: https://www.atlmoneytransfer.com/api/customers/:id

Method: POST

Request

POST /api/customers/9963210701 HTTP/1.1
Host: www.atlmoneytransfer.com
Authorization: Bearer sandbox_5ba9df637e1cd5baxxxxxxxxxx
Content-Type: application/x-www-form-urlencoded

last_name=Tester
&date_of_birth=1990-12-04
&postcode=SE15+5JT

Response

{
    "message": "success",
    "customer": {
        "id": 9963210701,
        "first_name": "Dhruv",
        "middle_name": "",
        "last_name": "Tester",
        "date_of_birth": "1990-12-04",
        "birth_city": "London",
        "birth_country": "GB",
        "nationality": "GB",
        "birth_nationality": "GB",
        "address": "ATL House, 128 Peckham Hill Street",
        "city": "London",
        "region": "England",
        "postcode": "SE15 5JT",
        "country": "GB",
        "mobile_number": "9876543210",
        "phone_number": "1234567890",
        "email_address": "support@atlmoneytransfer.com",
        "blocked": 0,
        "temporary_blocked": 0,
        "created_on": "2018-09-28T08:40:11+00:00",
        "updated_on": "2018-09-28T09:40:35+00:00"
    }
}

Customer KYC Document Object

Parameter Description
type Document type of the uploaded KYC. Any of POI, POA, SOF
document Document of the uploaded KYC. Eg. PAS or DRV etc.
id_number Document ID Number of uploaded KYC.
valid_from Document valid from date of the uploaded KYC.
expiry Document expiry date of the uploaded KYC.
verified 1, if document is verfied by ATL Money Transfer, else 0
uploaded_on Date when the document was uploaded to ATL Money Transfer.

Get Customer KYC Documents

Endpoint: https://www.atlmoneytransfer.com/api/kyc-documents/:id

Method: GET

Request

GET /api/kyc-documents/2618602080 HTTP/1.1
Host: www.atlmoneytransfer.com
Authorization: Bearer sandbox_5ba9df637e1cd5baxxxxxxxxxx

Response

{
    "message": "success",
    "documents": [
        {
            "type": "POI",
            "document": "PAS",
            "id_number": "123456",
            "valid_from": "2017-01-01T00:00:00",
            "expiry": "2037-12-31T00:00:00",
            "verified": 1,
            "uploaded_on": "2018-09-27T13:43:34+00:00"
        },
        {
            "type": "POA",
            "document": "BAS",
            "id_number": "142536",
            "valid_from": null,
            "expiry": null,
            "verified": 0,
            "uploaded_on": "2018-09-27T13:43:11+00:00"
        }
    ]
}

Upload KYC for Customer

Endpoint: https://www.atlmoneytransfer.com/api/kyc-upload/:id

Method: POST

Parameter Mandatory Description
type Yes Document type of the uploaded KYC. Any of POI, POA, SOF
document Yes Document of the uploaded KYC. Eg. PAS or DRV etc.
id_number Yes Document ID Number of uploaded KYC.
valid_from No Document valid from date of the uploaded KYC.
expiry No Document expiry date of the uploaded KYC.
file Yes File to be uploaded. Only images and pdf are accepted.

Hint

Since a resource is being created, HTTP response code 201 will be returned if the kyc is successfully uploaded.

Request

POST /api/upload-kyc/9963210701 HTTP/1.1
Host: www.atlmoneytransfer.com
Authorization: Bearer sandbox_5ba9df637e1cd5baxxxxxxxxxx
Content-Type: multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW

------WebKitFormBoundary7MA4YWxkTrZu0gW
Content-Disposition: form-data; name="type"

POI
------WebKitFormBoundary7MA4YWxkTrZu0gW
Content-Disposition: form-data; name="document"

PAS
------WebKitFormBoundary7MA4YWxkTrZu0gW
Content-Disposition: form-data; name="id_number"

P123456
------WebKitFormBoundary7MA4YWxkTrZu0gW
Content-Disposition: form-data; name="valid_from"

2018-09-01
------WebKitFormBoundary7MA4YWxkTrZu0gW
Content-Disposition: form-data; name="expiry"

2028-08-31
------WebKitFormBoundary7MA4YWxkTrZu0gW
Content-Disposition: form-data; name="file"; filename="Passport.jpg"
Content-Type: image/jpeg


------WebKitFormBoundary7MA4YWxkTrZu0gW--

Response

{
  "message": "success",
  "document": {
      "type": "POI",
      "document": "PAS",
      "id_number": "P123456",
      "valid_from": "2018-09-01",
      "expiry": "2028-08-31",
      "verified": 0,
      "uploaded_on": "2018-09-28T12:24:34+00:00"
  }
}

Recipient Object

The recipient object varies for each corridor and payout method.

Parameter Description
id Unique Identification Number for recipient on ATL Money Transfer platform.
full_name Full name of the recipient.
type IND for Individual Recipient and BIZ for Business Recipient.
payout_method Payout method for the recipient.
country Country of the recipient.
param_1 Please see Country Payout Configuration.
param_2 Please see Country Payout Configuration.
param_n Please see Country Payout Configuration.
relation Relation with recipient. See Resources > Relation Types
created_on Date when the recipient record was created.
updated_on Date when the recipient record was last modified.

Note

Please review Country Payout Configuration for replacement of parameters starting with param_.

Creating New Recipient

Create a new recipient under a customer.

Endpoint: https://www.atlmoneytransfer.com/api/recipients

Method: POST

Parameter Mandatory Description
customer Yes Unique ID of customer the recipient belongs to.
type Yes IND for Individual Recipient and BIZ for Business Recipient.
country Yes Country code of destination.
payout_method Yes Payout method code for recipient.
relation No Relation with recipient. See Resources > Relation Types

Hint

Since a resource is being created, HTTP response code 201 will be returned if the recipient is successfully created.

Eg. Creating an Individual recipient for Bank Transfer in Austria

POST /api/recipients HTTP/1.1
Host: www.atlmoneytransfer.com
Authorization: Bearer sandbox_5ba9df637e1cd5baxxxxxxxxxx
Content-Type: application/x-www-form-urlencoded

customer=9963210701
&type=IND
&country=AT
&payout_method=AC
&first_name=Richard
&last_name=AMOAH
&bank=American+Express+Bank+Ltd
&iban=AT611904300234573201
&mobile_number=
&relation=BIZ

Response

{
    "message": "success",
    "recipient": {
        "id": 9221768696,
        "full_name": "Richard AMOAH",
        "type": "IND",
        "payout_method": "AC",
        "country": "AT",
        "customer": 9963210701,
        "first_name": "Richard",
        "iban": "AT611904300234573201",
        "last_name": "AMOAH",
        "bank": "American Express Bank Ltd",
        "mobile_number": "",
        "relation": "BIZ",
        "created_on": "2018-09-29T13:16:52+00:00",
        "updated_on": "2018-09-29T13:16:52+00:00"
    }
}

Get all Recipients

Get all recipients for a customer.

Endpoint: https://www.atlmoneytransfer.com/api/recipients/:customerId

Method: POST

Param Mandatory Description
page No Page number of result set.

Request

GET /api/recipients/9963210701 HTTP/1.1
Host: www.atlmoneytransfer.com
Authorization: Bearer sandbox_5ba9df637e1cd5baxxxxxxxxxx

Response

{
  "message": "success",
  "recipients": [
      {
          "id": 2665701193,
          "full_name": "AGPAYTECH Ltd",
          "type": "BIZ",
          "payout_method": "AC",
          "country": "AT",
          "customer": 9963210701,
          "iban": "AT611904300234573201",
          "business_name": "AGPAYTECH Ltd",
          "mobile_number": "",
          "bank": "American Express Bank Ltd",
          "relation": "BIZ",
          "created_on": "2018-09-29T13:26:35+00:00",
          "updated_on": "2018-09-29T13:26:35+00:00"
      },
      {
          "id": 9221768696,
          "full_name": "Richard AMOAH",
          "type": "IND",
          "payout_method": "AC",
          "country": "AT",
          "customer": 9963210701,
          "first_name": "Richard",
          "iban": "AT611904300234573201",
          "last_name": "AMOAH",
          "bank": "American Express Bank Ltd",
          "mobile_number": "",
          "relation": "BIZ",
          "created_on": "2018-09-29T13:16:52+00:00",
          "updated_on": "2018-09-29T13:16:52+00:00"
      }
  ],
  "current_recipients": 2,
  "total_recipients": 2,
  "page": 1,
  "total_pages": 1
}

Get Single Recipient

Endpoint: https://www.atlmoneytransfer.com/api/recipient/:recipientId

Method: GET

Request

GET /api/recipient/2665701193 HTTP/1.1
Host: www.atlmoneytransfer.com
Authorization: Bearer sandbox_5ba9df637e1cd5baxxxxxxxxxx

Response

{
  "message": "success",
  "recipient": {
      "id": 2665701193,
      "full_name": "AGPAYTECH Ltd",
      "type": "BIZ",
      "payout_method": "AC",
      "country": "AT",
      "customer": 9963210701,
      "iban": "AT611904300234573201",
      "business_name": "AGPAYTECH Ltd",
      "mobile_number": "",
      "bank": "American Express Bank Ltd",
      "relation": "BIZ",
      "created_on": "2018-09-29T13:26:35+00:00",
      "updated_on": "2018-09-29T13:26:35+00:00"
  }
}

Update Recipient

Endpoint: https://www.atlmoneytransfer.com/api/recipient/:recipientId

Method: POST

Request

POST /api/recipient/2665701193 HTTP/1.1
Host: www.atlmoneytransfer.com
Authorization: Bearer sandbox_5ba9df637e1cd5baxxxxxxxxxx
Content-Type: application/x-www-form-urlencoded

iban=AT611904300234573202
&bank=Deutsche+Bank

Response

{
  "message": "success",
  "recipient": {
      "id": 2665701193,
      "full_name": "AGPAYTECH Ltd",
      "type": "BIZ",
      "payout_method": "AC",
      "country": "AT",
      "customer": 9963210701,
      "iban": "AT611904300234573202",
      "business_name": "AGPAYTECH Ltd",
      "mobile_number": "",
      "bank": "Deutsche Bank",
      "relation": "BIZ",
      "created_on": "2018-09-29T13:26:35+00:00",
      "updated_on": "2018-09-29T13:58:49+00:00"
  }
}

Transactions

Transaction Object

Parameter Description
id The transaction number on ATLMT Platform.
from_country The source country of transfer.
from_currency The source currency of transfer.
send_amount The source amount of transfer.
to_country The destination country of transfer.
to_currency The payout currency of transfer.
payout_amount The payout amount of transfer.
payout_method The payout method for transfer.
payout_partner The payout partner for Cash Pickup transfers.
exchange_rate Exchange rate applied from_currency to to_currency.
fees Transfer cost on partner’s platform.
settlement_currency Currency code which payout amount was settled with ATL Money Transfer.
settlement_amount Payout amount converted from settlement_currency to to_currency.
commission ATL Money Transfer’s Commission.
total_settlement Total settlement amount with ATL Money Transfer including commission.
delivery_reference Collection PIN or Delivery Reference for the transfer.
third_party_reference Transaction reference on partner’s platform.
customer.id Global unique identifier for customer.
customer.first_name First name of the customer this transaction belongs to.
customer.middle_name Middle name of the customer this transaction belongs to.
customer.last_name Last name of the customer this transaction belongs to.
customer.date_of_birth Date of birth of the customer.
customer.birth_city Birth city of the customer.
customer.birth_country Birth country of the customer.
customer.nationality Current nationality of the customer.
customer.birth_nationality Nationality of the customer at the time of birth.
customer.address Address of the customer.
customer.city City where the customer is located.
customer.region State/Province/Region where the customer is located.
customer.postcode Postcode of the area where the customer is located.
customer.country Country where the customer is located.
customer.phone_number Phone number of the customer.
customer.mobile_number Mobile number of the customer.
customer.email_address Email address of the customer.
recipient.id Unique Identification Number for recipient on ATLMT.
recipient.full_name Full name of the recipient.
recipient.type IND for Individual Recipient and BIZ for Business Recipient.
recipient.param_1 Please see Country Payout Configuration.
recipient.param_2 Please see Country Payout Configuration.
recipient.param_n Please see Country Payout Configuration.
recipient.relation Relation with recipient. See Resources > Relation Types
purpose Purpose code of the transfer.
message Message for recipient. If any
poi_document Document of the uploaded Proof of ID (POI). Eg. PAS or DRV etc.
poi_id_number Document ID Number of uploaded POI.
poi_valid_from Document valid from date of the uploaded POI.
poi_expiry Document expiry date of the uploaded POI.
status Current transaction status. See Transaction Statuses
created_on Date when transaction was created on ATL Money Transfer’s Platform.

Sending New Transaction

Endpoint: https://www.atlmoneytransfer.com/api/transactions

Method: POST

Parameter Mandatory Description
from_country Yes The source country of transfer.
from_currency Yes The source currency of transfer.
send_amount Yes The source amount of transfer.
to_country Yes The destination country of transfer.
to_currency Yes The payout currency of transfer.
payout_amount Yes The payout amount of transfer.
payout_method Yes The payout method for transfer.
payout_partner Conditional The payout partner for Cash Pickup transfers.
exchange_rate Yes Exchange rate applied from_currency to to_currency.
fees Yes Transfer cost on partner’s platform.
third_party_reference Yes Transaction reference on partner’s platform.
customer[id] No Customer Unique Identifier on ATL Money Transfer.
customer[first_name] Conditional Required if customer[id] is not provided.
customer[middle_name] No  
customer[last_name] Conditional Required if customer[id] is not provided.
customer[date_of_birth] Conditional Required if customer[id] is not provided.
customer[birth_city] No  
customer[birth_country] No  
customer[nationality] Conditional Required if customer[id] is not provided.
customer[birth_nationality] No  
customer[address] Conditional Required if customer[id] is not provided.
customer[city] Conditional Required if customer[id] is not provided.
customer[region] No  
customer[postcode] No  
customer[country] Conditional Required if customer[id] is not provided.
customer[phone_number] No  
customer[mobile_number] Conditional Required if customer[id] is not provided.
customer[email_address] No  
recipient[id] No Unique Identification Number for recipient on ATLMT.
recipient[type] Conditional Required if recipient[id] is not provided.
recipient[param_1] Conditional Optional if recipient[id] is provided.
recipient[param_2] Conditional Optional if recipient[id] is provided.
recipient[param_n] Conditional Optional if recipient[id] is provided.
recipient[relation] Conditional Optional if recipient[id] is provided.
purpose Yes Purpose code of the transfer.
message No Message for recipient. If any
poi_document Conditional Document of the uploaded Proof of ID (POI). Eg. PAS.
poi_id_number Conditional Document ID Number of uploaded POI.
poi_valid_from Conditional Document valid from date of the uploaded POI.
poi_expiry Conditional Document expiry date of the uploaded POI.
poi_file Conditional File to be uploaded. Only images and pdf are accepted.

Hint

Since a resource is being created, HTTP response code 201 will be returned if the transaction is successfully created.

Warning

Since sending new transfer require necessary network calls to various payout partners we recommend that you set a minimum 150 seconds as request time-out value for your HTTP Client.

Request

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
curl -X POST \
https://www.atlmoneytransfer.com/api/transactions \
-H 'Authorization: Bearer sandbox_5ba9df637e1cd5baxxxxxxxxxx' \
-F from_country=GB \
-F from_currency=GBP \
-F send_amount=500 \
-F to_country=SL \
-F to_currency=SLL \
-F payout_amount=5000000 \
-F payout_method=CP \
-F payout_partner=BCXSL \
-F exchange_rate=10000 \
-F fees=20 \
-F purpose=INVST \
-F 'message=Invoice Payment #100001' \
-F 'customer[first_name]=John' \
-F 'customer[last_name]=Doe' \
-F 'customer[date_of_birth]=1980-09-01' \
-F 'customer[nationality]=GB' \
-F 'customer[birth_nationality]=GB' \
-F 'customer[birth_city]=London' \
-F 'customer[birth_country]=GB' \
-F 'customer[address]=128 Peckham Hill Street' \
-F 'customer[city]=London' \
-F 'customer[region]=England' \
-F 'customer[postcode]=SE15 5JT' \
-F 'customer[country]=GB' \
-F 'customer[mobile_number]=1234567890' \
-F 'customer[email]=support@atlmoneytransfer.com' \
-F poi_document=PAS \
-F poi_id_number=P12345678 \
-F poi_valid_from=2008-10-06 \
-F poi_expiry=2018-10-05 \
-F poi_file=@/home/appdevd/Downloads/Passport.jpg \
-F 'recipient[type]=IND' \
-F 'recipient[relation]=BIZ' \
-F 'recipient[first_name]=Richard' \
-F 'recipient[last_name]=AMOAH' \
-F 'recipient[address]=Freetown' \
-F 'recipient[city]=Freetown' \
-F 'recipient[region]=Freetown' \
-F 'recipient[mobile_number]=123456789' \
-F third_party_reference=K00001

Response

{
  "message": "success",
  "transaction": {
      "id": "88800001",
      "from_country": "GB",
      "from_currency": "GBP",
      "send_amount": 500,
      "to_country": "SL",
      "to_currency": "SLL",
      "payout_amount": 5000000,
      "payout_method": "CP",
      "payout_partner": "BCXSL",
      "exchange_rate": "10000.000000",
      "fees": 20,
      "settlement_currency": "GBP",
      "settlement_amount": 476.19,
      "commission": 4.76,
      "total_settlement": 480.95,
      "delivery_reference": 12879511712,
      "third_party_reference": "K00001",
      "customer": {
          "id": 7209673523,
          "first_name": "John",
          "middle_name": null,
          "last_name": "Doe",
          "date_of_birth": "1980-09-01",
          "birth_city": "London",
          "birth_country": "GB",
          "nationality": "GB",
          "birth_nationality": "GB",
          "address": "128 Peckham Hill Street",
          "city": "London",
          "region": "England",
          "postcode": "SE15 5JT",
          "country": "GB",
          "mobile_number": "1234567890",
          "phone_number": null,
          "email_address": null
      },
      "recipient": {
          "id": 2531137994,
          "full_name": "Richard AMOAH",
          "type": "IND",
          "first_name": "Richard",
          "last_name": "AMOAH",
          "mobile_number": "123456789",
          "address": "Freetown",
          "city": "Freetown",
          "region": "Freetown",
          "postcode": null,
          "email": null,
          "relation": "BIZ"
      },
      "status": "HOLD",
      "purpose": "INVST",
      "poi_document": "PAS",
      "poi_id_number": "P12345678",
      "poi_valid_from": "2008-10-06",
      "poi_expiry": "2018-10-05",
      "message": "Invoice Payment #100001",
      "created_on": "2018-10-05T10:43:33+00:00"
  }
}

Get all Transactions

Endpoint: https://www.atlmoneytransfer.com/api/transactions

Method: GET

Param Mandatory Description
page No Page number of result set.
start No Start date for filtering records in YYYY-MM-DD format.
end No End date for filtering records in YYYY-MM-DD format.

Request

GET /api/transactions HTTP/1.1
Host: www.atlmoneytransfer.com
Authorization: Bearer sandbox_5ba9df637e1cd5baxxxxxxxxxx

Response

{
  "message": "success",
  "transactions": [
      {
          "id": "88800001",
          "from_country": "GB",
          "from_currency": "GBP",
          "send_amount": 500,
          "to_country": "SL",
          "to_currency": "SLL",
          "payout_amount": 5000000,
          "payout_method": "CP",
          "payout_partner": "BCXSL",
          "exchange_rate": "10000.000000",
          "fees": 20,
          "settlement_currency": "GBP",
          "settlement_amount": 476.19,
          "commission": 4.76,
          "total_settlement": 480.95,
          "delivery_reference": 12879511712,
          "third_party_reference": "K00001",
          "status": "HOLD",
          "created_on": "2018-10-05T10:43:33+00:00"
      }
  ],
  "current_transactions": 1,
  "total_transactions": 1,
  "page": 1,
  "total_pages": 1
}

Get Single Transaction

Endpoint: https://www.atlmoneytransfer.com/api/transactions/:id

Method: GET

Request

GET /api/transactions/88800001 HTTP/1.1
Host: www.atlmoneytransfer.com
Authorization: Bearer sandbox_5ba9df637e1cd5baxxxxxxxxxx

Response

{
  "message": "success",
  "transaction": {
      "id": "88800001",
      "from_country": "GB",
      "from_currency": "GBP",
      "send_amount": 500,
      "to_country": "SL",
      "to_currency": "SLL",
      "payout_amount": 5000000,
      "payout_method": "CP",
      "payout_partner": "BCXSL",
      "exchange_rate": "10000.000000",
      "fees": 20,
      "settlement_currency": "GBP",
      "settlement_amount": 476.19,
      "commission": 4.76,
      "total_settlement": 480.95,
      "delivery_reference": 12879511712,
      "third_party_reference": "K00001",
      "customer": {
          "id": 7209673523,
          "first_name": "John",
          "middle_name": null,
          "last_name": "Doe",
          "date_of_birth": "1980-09-01",
          "birth_city": "London",
          "birth_country": "GB",
          "nationality": "GB",
          "birth_nationality": "GB",
          "address": "128 Peckham Hill Street",
          "city": "London",
          "region": "England",
          "postcode": "SE15 5JT",
          "country": "GB",
          "mobile_number": "1234567890",
          "phone_number": null,
          "email_address": null
      },
      "recipient": {
          "id": 2531137994,
          "full_name": "Richard AMOAH",
          "type": "IND",
          "first_name": "Richard",
          "last_name": "AMOAH",
          "mobile_number": "123456789",
          "address": "Freetown",
          "city": "Freetown",
          "region": "Freetown",
          "postcode": null,
          "email": null,
          "relation": "BIZ"
      },
      "status": "HOLD",
      "purpose": "INVST",
      "poi_document": "PAS",
      "poi_id_number": "P12345678",
      "poi_valid_from": "2008-10-06",
      "poi_expiry": "2018-10-05",
      "message": "Invoice Payment #100001",
      "created_on": "2018-10-05T10:43:33+00:00"
  }
}

Cancel Transaction

Endpoint: https://www.atlmoneytransfer.com/api/transactions/cancel/:id

Method: POST

Request

POST /api/transactions/cancel/88800001 HTTP/1.1
Host: www.atlmoneytransfer.com
Authorization: Bearer sandbox_5ba9df637e1cd5baxxxxxxxxxx

Response

{
  "message": "success",
  "transaction": {
      "id": "88800001",
      "from_country": "GB",
      "from_currency": "GBP",
      "send_amount": 500,
      "to_country": "SL",
      "to_currency": "SLL",
      "payout_amount": 5000000,
      "payout_method": "CP",
      "payout_partner": "BCXSL",
      "exchange_rate": "10000.000000",
      "fees": 20,
      "settlement_currency": "GBP",
      "settlement_amount": 0,
      "commission": 0,
      "total_settlement": 0,
      "delivery_reference": 12879511712,
      "third_party_reference": "K00001",
      "customer": {
          "id": 7209673523,
          "first_name": "John",
          "middle_name": null,
          "last_name": "Doe",
          "date_of_birth": "1980-09-01",
          "birth_city": "London",
          "birth_country": "GB",
          "nationality": "GB",
          "birth_nationality": "GB",
          "address": "128 Peckham Hill Street",
          "city": "London",
          "region": "England",
          "postcode": "SE15 5JT",
          "country": "GB",
          "mobile_number": "1234567890",
          "phone_number": null,
          "email_address": null
      },
      "recipient": {
          "id": 2531137994,
          "full_name": "Richard AMOAH",
          "type": "IND",
          "first_name": "Richard",
          "last_name": "AMOAH",
          "mobile_number": "123456789",
          "address": "Freetown",
          "city": "Freetown",
          "region": "Freetown",
          "postcode": null,
          "email": null,
          "relation": "BIZ"
      },
      "status": "PAYMENT-CANCELLED",
      "purpose": "INVST",
      "poi_document": "PAS",
      "poi_id_number": "P12345678",
      "poi_valid_from": "2008-10-06",
      "poi_expiry": "2018-10-05",
      "message": "Invoice Payment #100001",
      "created_on": "2018-10-05T10:43:33+00:00"
  }
}

Transaction Statuses

Status Description
AVAILABLE Transaction is available for payout.
HOLD Transaction is put on hold. Please contact compliance department.
SENT-FOR-DELIVERY Transaction has been sent for payout.
PAIDOUT Transaction has been paidout. This is a final stage.
PAYOUT-REC-ERROR Payout has been failed due to recoverable errors.
PAYOUT-FAILED Payout Permanently Failed.
PAYMENT-CANCELLED Transaction has been cancelled. This is a final stage.

HTTP Notifications

ATL Money Transfer can send HTTP Notifications that notify your application any time an event happens on your transaction. This is especially useful for events—like transaction paid or transaction payout failed. This mechanism is also useful for services that are not directly responsible for making an API request, but still need to know the response from that request.

The Notification Object

Parameter Description
id The transaction number on ATLMT Platform this notification belongs to.
from_country The source country of transfer.
from_currency The source currency of transfer.
send_amount The source amount of transfer.
to_country The destination country of transfer.
to_currency The payout currency of transfer.
payout_amount The payout amount of transfer.
payout_method The payout method for transfer.
exchange_rate Exchange rate applied from_currency to to_currency.
fees Transfer cost on partner’s platform.
settlement_currency Currency code which payout amount was settled with ATL Money Transfer.
settlement_amount Payout amount converted from settlement_currency to to_currency.
commission ATL Money Transfer’s Commission.
total_settlement Total settlement amount with ATL Money Transfer including commission.
customer Unique Identifier of customer.
recipient Unique Identifier of recipient.
delivery_reference Collection PIN or Delivery Reference for the transfer.
third_party_reference Transaction reference on partner’s platform.
status Transfer status for which notification was sent. See Transaction Statuses

Receiving HTTP Notifications with an HTTPS server

If you use an HTTPS URL for your HTTP Notification endpoint, ATL Money Transfer will validate that the connection to your server is secure before sending your notification data. For this to work, your server must be correctly configured to support HTTPS with a valid server certificate.

Responding to a HTTP Notifications

To acknowledge receipt of a HTTP Notification, your endpoint should return a 200 HTTP status code. All response codes apart from this, including 3xx codes, will indicate to ATL Money Transfer that you did not receive the HTTP Notification. This does mean that a URL redirection or a “Not Modified” response will be treated as a failure. ATL Money Transfer will ignore any other information returned in the request headers or request body.

In live mode, we will attempt to deliver your HTTP Notification for up to three days with an exponential back off. In test mode, we retry three times over a few hours. HTTP Notifications can be manually retried after this time, though you can query for the transaction to reconcile your data with any missed notifications.

When viewing a specific event information through the Dashboard, you can check how many times we’ve attempted to send an event to an endpoint by clicking on that endpoint URL in the HTTP Push Notifications section. This will show you the latest response we received from your endpoint, along with a number of attempted notifications and the respective HTTP status codes we received.

Best practices

Before going live, test that your HTTP Notification endpoint is working properly.

If your HTTP Notification endpoint script performs complex logic, or makes network calls, it’s possible that the script would time out before ATL Money Transfer sees its complete execution. For that reason, you might want to have your HTTP Notification endpoint immediately acknowledge receipt by returning a 200 HTTP status code, and then perform the rest of its duties.

HTTP Notification endpoints might occasionally receive the same event more than once. We advise you to guard against duplicated event receipts by making your event processing idempotent. One way of doing this is logging the events you’ve processed, and then not processing already-logged events. Additionally, we recommend verifying HTTP Notification signatures to confirm that received events are being sent from ATL Money Transfer.

Notification Signatures

ATL Money Transfers signs all HTTP Notifications it sends to your endpoints. We do so by including a signature in each event’s ATLMoney-Signature header. This allows you to validate that the notification were sent by ATL Money Transfer, not by a third party. We recommend that you should always validate the signature of the notification.

Preventing replay attacks

A replay attack is when an attacker intercepts a valid payload and its signature, then re-transmits them. To mitigate such attacks, ATL Money Transfer includes a timestamp in the ATLMoney-Signature header. Because this timestamp is part of the signed payload, it is also verified by the signature, so an attacker cannot change the timestamp without invalidating the signature. If the signature is valid but the timestamp is too old, you can have your application reject the payload.

We recommend tolerance of five minutes between the timestamp and the current time. We also recommend that you use Network Time Protocol (NTP) to ensure that your server’s clock is accurate and synchronizes with the time on ATL Money Transfer’s servers.

ATL Money Transfer generates the timestamp and signature each time we send a notification to your endpoint. If ATL Money Transfer retries an event (e.g., your endpoint previously replied with a non-200 status code), then we generate a new signature and timestamp for the new delivery attempt.

Verifying Signatures

The ATLMoney-Signature header contains a timestamp and one or more signatures. The timestamp is prefixed by t=, and signature is prefixed by s=.

1
2
ATLMoney-Signature: t=1492774577,
  s=123abcd456efgh789ijklmnopqrst

Note that newlines have been added in the example above for clarity, but a real ATLMoney-Signature header will be all one line.

ATL Money Transfer generates signatures using a hash-based message authentication code (HMAC) with SHA-256. To prevent downgrade attacks, you should ignore all schemes that are not s.

Step 1: Extract the timestamp and signatures from the header

Split the header, using the , character as the separator, to get a list of elements. Then split each element, using the = character as the separator, to get a prefix and value pair.

The value for the prefix t corresponds to the timestamp, and s corresponds to the signature. You can discard all other elements.

Step 2: Prepare the payload_signature string

You achieve this by concatenating:

  • The timestamp (as a string)
  • The character .
  • The actual JSON payload (i.e., the request’s body)

Step 3: Determine the expected signature

Compute an HMAC with the SHA256 hash function. Use the endpoint’s signing secret as the key, and use the payload_signature string as the message.

Step 4: Compare signatures

Compare the signature in the header to the expected signature. If a signature matches, compute the difference between the current timestamp and the received timestamp, then decide if the difference is within your tolerance.

To protect against timing attacks, use a constant-time string comparison to compare the expected signature to each of the received signatures.

Resources

KYC Document Types

Code Description
POI Proof of Identity, The information should match exactly with the customer record on file.
POA Proof of Address, The address should match with the one used for transaction.
SOF Source of Funds, This should be issued to the customer’s name.

Accepted KYC Documents

Code Categories Description
PAS POI Passport
DRV POI Driving License
EU POI EU National ID
VID POI Voter Card
COC POI Consular Card
DIP POI Diplomatic Card
NNL POI National Identity Card
BAC POA & SOF Bank Statement
GAS POA Gas Bill
ELE POA Electricity Bill
LLB POA Landline Bill, Please note that Mobile bills are not accepted.
TAX SOF Tax Document
LC SOF Loan Contract
P60 SOF P60 Document

Relation Types

Code Description
FAM Family
BIZ Business
FND Friend

Purpose List

Code Description
EDU Education
FS Family Support
INVST Investment
MEDFE Medical Fees
MOPMT Mortgage Payment
PROPU Property Purchase
SAVIN Savings/Own Account
SCHFE School Fees

Get list of Countries

Endpoint: https://www.atlmoneytransfer.com/api/resources/countries

Method: GET

Request

GET /api/resources/countries HTTP/1.1
Host: www.atlmoneytransfer.com
Authorization: Bearer sandbox_5ba9df637e1cd5baxxxxxxxxxx

Response

{
    "message": "success",
    "countries": [
        {
            "code": "AF",
            "title": "Afghanistan",
            "currency": "AFN"
        },
        {
            "code": "AL",
            "title": "Albania",
            "currency": "ALL"
        },
        {
            "code": "DZ",
            "title": "Algeria",
            "currency": "DZD"
        },
        {
            "code": "AS",
            "title": "American Samoa",
            "currency": "USD"
        },
        {
            "code": "AD",
            "title": "Andorra",
            "currency": "EUR"
        },
        {
            "code": "AO",
            "title": "Angola",
            "currency": "AOA"
        }
    ]
}

Get list of Nationalities

Endpoint: https://www.atlmoneytransfer.com/api/resources/nationalities

Method: GET

Request

GET /api/resources/nationalities HTTP/1.1
Host: www.atlmoneytransfer.com
Authorization: Bearer sandbox_5ba9df637e1cd5baxxxxxxxxxx

Response

{
  "message": "success",
  "nationalities": [
      {
          "code": "AF",
          "title": "Afghan"
      },
      {
          "code": "AL",
          "title": "Albanian"
      },
      {
          "code": "DZ",
          "title": "Algerian"
      },
      {
          "code": "US",
          "title": "American"
      },
      {
          "code": "UM",
          "title": "American"
      },
      {
          "code": "AS",
          "title": "American Samoan"
      }
  ]
}

Get list of Currencies

Endpoint: https://www.atlmoneytransfer.com/api/resources/currencies

Method: GET

Request

GET /api/resources/currencies HTTP/1.1
Host: www.atlmoneytransfer.com
Authorization: Bearer sandbox_5ba9df637e1cd5baxxxxxxxxxx

Response

{
  "message": "success",
  "currencies": [
      {
          "code": "AFN",
          "title": "Afghan afghani"
      },
      {
          "code": "ALL",
          "title": "Albanian lek"
      },
      {
          "code": "DZD",
          "title": "Algerian dinar"
      },
      {
          "code": "AOA",
          "title": "Angolan kwanza"
      },
      {
          "code": "ARS",
          "title": "Argentine peso"
      },
      {
          "code": "AMD",
          "title": "Armenian dram"
      },
      {
          "code": "AWG",
          "title": "Aruban florin"
      },
      {
          "code": "AUD",
          "title": "Australian dollar"
      }
  ]
}

Validate mobile number for Instant Pay in Ghana

Endpoint: https://www.atlmoneytransfer.com/api/resources/check-gh-mw-instant-pay-eligibility

Method: GET

Param Mandatory Description
operator Yes Mobile operator code.
mobile_number Yes Mobile number to check.

Request

GET /api/resources/check-gh-mw-instant-pay-eligibility?operator=20e22bc1-50f5-11e7-9651-0ac5f86965eb&mobile_number=24740XXXX HTTP/1.1
Host: www.atlmoneytransfer.com
Authorization: Bearer sandbox_5ba9df637e1cd5baxxxxxxxxxx

Response

{
    "message": "success",
    "recipient_name": "FIRST LAST",
    "eligible_for_instant_pay": 1
}

Validate account number for Instant Pay in Ghana

Endpoint: https://www.atlmoneytransfer.com/api/resources/check-gh-ac-instant-pay-eligibility

Method: GET

Param Mandatory Description
bank Yes Bank code.
account_number Yes Account number to check.

Request

GET /api/resources/check-gh-ac-instant-pay-eligibility?bank=15184286-3ecc-46ab-872d-740f32e11d9c&account_number=1126054XXXXXX HTTP/1.1
Host: www.atlmoneytransfer.com
Authorization: Bearer sandbox_5ba9df637e1cd5baxxxxxxxxxx

Response

{
  "message": "success",
  "recipient_name": "FIRST LAST",
  "eligible_for_instant_pay": 1
}