NAV Navbar
Logo MiFinity API
javascript php

Getting Started with API.

  /$$$$$$            /$$       /$$                 /$$          
 /$$__  $$          |__/      | $$                | $$          
| $$  \ $$  /$$$$$$  /$$      | $$$$$$$   /$$$$$$ | $$  /$$$$$$
| $$$$$$$$ /$$__  $$| $$      | $$__  $$ /$$__  $$| $$ /$$__  $$
| $$__  $$| $$  \ $$| $$      | $$  \ $$| $$$$$$$$| $$| $$  \ $$
| $$  | $$| $$  | $$| $$      | $$  | $$| $$_____/| $$| $$  | $$
| $$  | $$| $$$$$$$/| $$      | $$  | $$|  $$$$$$$| $$| $$$$$$$/
|__/  |__/| $$____/ |__/      |__/  |__/ \_______/|__/| $$____/
          | $$                                        | $$      
          | $$                                        | $$      
          |__/     

This guide is an introduction to the MiFinity API. Please refer to the appropriate section according to the feature intended for integration.

To follow this guide, and later for general API use, you need:

HTTP Response Status Codes

Codes Description Codes Description
100 Continue 401 Unauthorized
101 Switching Protocols 402 Payment Required
200 OK 404 Not Found
201 Created 405 Method Not Allowed
202 Accepted 407 Proxy Authentication Required
203 Non-Authoritative Information 408 Request Timeout
204 No Content 410 Gone
205 Reset Content 411 Length Required
206 Partial Content 413 Request Entity Too Large
207 Multi-Status (WebDAV) 414 414 Request-URI Too Long
208 Already Reported (WebDAV) 416 Requested Range Not Satisfiable
300 Multiple Choices 417 Expectation Failed
301 Moved Permanently 422 Unprocessable Entity (WebDAV)
302 Found 424 Failed Dependency (WebDAV)
303 See Other 425 Reserved for WebDAV
304 Not Modified 428 Precondition Required
305 Use Proxy 429 Too Many Requests
307 Temporary Redirect 444
308 Permanent Redirect (experimental) 449
400 Bad Request 451 Unavailable For Legal Reasons
403 Forbidden 499 Client Closed Request (Nginx)
406 Not Acceptable 449 Retry With (Microsoft)
409 Conflict 500 Internal Server Error
412 Precondition Failed 501 Not Implemented
415 Unsupported Media Type 502 Bad Gateway
418 I’m a teapot (RFC 2324) 503 Service Unavailable
423 Locked (WebDAV) 504 Gateway Timeout
426 Upgrade Required 505 HTTP Version Not Supported
431 Request Header Fields Too Large 506 Variant Also Negotiates (Experimental)
450 Blocked by Windows Parental Controls (Microsoft) 507 Insufficient Storage (WebDAV)
508 Loop Detected (WebDAV) 509 Bandwidth Limit Exceeded (Apache)
510 Not Extended 511 Network Authentication Required
598 Network read timeout error 599 Network connect timeout error

Authentication Management

API Key Management

Creating a new API Key

An API key can be created by the merchant via the MiFinity eWallet. Log in and click API Keys on the left-hand menu. The merchant will need to specify a key name and the API key will be generated and shown on-screen. Make sure you store this key in a safe location as this is displayed only once. There is no means by which this key can be retrieved after the popup showing the key is closed. In case this is lost, you would need to disable this key and create another one.

Disable API Key

An API key can be disabled via the MiFinity eWallet. Log in and click API Keys on the left-hand menu. Click on the key name and then use the switch button to activate/deactivate the key.

Retrieving the AccountHolderId

The AccountHolderId is a string which uniquely identifies an Account Holder within MiFinity. Once obtained, this string can be used in subsequent API calls, irrespective of the amount of times it was generated. In order to obtain the AccountHolderId, login using your MiFinity merchant credentials and go to Profile Details.

Environment

Demo Environment: https://demo.mifinity.com

Production Environment: https://secure.mifinity.com

Account and Account Holder interaction API Calls

Get Account Listing by Account Holder Id

Get list of Accounts belonging to an Account Holder by AccountHolderId. Replacing key and accountHolderId with the values that you have from the previous steps. Using any parameters value.

To get account lists, use this code:

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === 4) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://demo.mifinity.com/api/account-holders/c50fzSfbhsLvmtcx9zTgkDwvjg8ZxOi2LUWHvcGkVc0=/accounts");
xhr.setRequestHeader("accept", "application/json");
xhr.setRequestHeader("content-type", "application/json");
xhr.setRequestHeader("x-api-version", "1");
xhr.setRequestHeader("key", "sQO8Q3i5-HeD7F0BqVSIN1p......qnjqMDo8Bl0GKUTvexaVm5n7g");

HTTP Request

GET https://demo.mifinity.com/api/account-holders/{accountHolderId}/accounts

Parameter Type Description
Content-Type String Use value ‘application/json’
Accept String Use value ‘application/json’
x-api-version String Use value 1
Key String API key

Parameters

Field Type Required Description
accountHolderId String Unique account holder id (Path Variable)
accountDescription String optional Account description
number Number optional Unique account number
accountType String optional The account type. Accepted values: SYSTEM, PLATFORM, CARD
loading boolean optional Is loading account
currency String optional Account currency
includeDisabled boolean Show disabled accounts
andor String optional And, Or operator
includeKycPending boolean optional Show KYC pending accounts (default true)
sort sort optional Records sort direction
total long optional Total number of records to return
page int optional
size int optional

Successful response

{
    "payload": [
        {
            "accountNumber": "50010001000007",
            "accountDescription": "Travel",
            "balance": {
                "amount": 0,
                "currency": "EUR",
                "presentationAmount": "EUR0.00"
            },
            "availableBalance": {
                "amount": 0,
                "currency": "EUR",
                "presentationAmount": "EUR0.00"
            },
            "displayInfo": "50010001000007-travel [ 0.00 EUR ]",
            "accountHolderId": "n9bOW7XaTXpfU-rtQwEWr2XBAX1nkI6LtgwiZVikWKY=",
            "accountType": "PLATFORM",
            "notificationThresholdAmount": 0,
            "accountCategory": "TRAVEL",
            "createdOn": "2018-09-12T10:37:46.185Z",
            "isDefault": true,
            "entityId": "DM0fGZ8g3lyhgT8atnG6Rc0l4DcrkpaUpsTvaZwAB78="
        }
    ],
    "page": {
        "size": 100,
        "page": 0,
        "total": 3
    }
}

Successful response

Field Type Description
accountNumber String The unique account number
accountDescription String Description of the account
balance Object Complex object containing amount, currency and persentationAmount
avaiableBalance Object Complex object containing amount, currency and persentationAmount
displayInfo String Display information
accountHolderId String Unique account holder Id
accountType String the type of account
notificationThresholdAmount int
createdOn String Date and time token generation timestamp
accountCategory String Account category. Values: GAMING, TRAVEL, E_COMMERCE, FOREX
isDefault boolean
entityId String Unique entity id
page Object Complex object containing: size, page and total

Update Account Threshold

Update an account threshold by using accountId (which is entityid) generated in the previous steps.

To update account threshold, use this code:

var data = JSON.stringify({
  "notificationThresholdAmount": 10
});

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === 4) {
    console.log(this.responseText);
  }
});

xhr.open("PUT", "https://demo.mifinity.com/api/accounts/HbQDvaIwhweH6BW0FF_uSdL__FEJ7QCkw8KCfOJVNP0=/threshold");
xhr.setRequestHeader("accept", "application/json");
xhr.setRequestHeader("content-type", "application/json");
xhr.setRequestHeader("x-api-version", "1");
xhr.setRequestHeader("key", "sQO8Q3i5-HeD7F0BqVSIN1p......qnjqMDo8Bl0GKUTvexaVm5n7g");
xhr.send(data); 

HTTP Request

PUT https://demo.mifinity.com/api/accounts/{accountId}/threshold

Parameter Type Description
Content-Type String Use value ‘application/json’
Accept String Use value ‘application/json’
x-api-version String Use value 1
Key String API key

Parameters

Field Type Required Description
EntityId String Unique entity id
notificationThresholdAmount BigDecimal the value of threshold amount

Successful response

{
    "payload": [
        {
            "accountNumber": "50010001000015",
            "accountDescription": "teff",
            "balance": {
                "amount": 0,
                "currency": "EUR",
                "presentationAmount": "EUR0.00"
            },
            "availableBalance": {
                "amount": 0,
                "currency": "EUR",
                "presentationAmount": "EUR0.00"
            },
            "displayInfo": "50010001000015-teff [ 0.00 EUR ]",
            "accountHolderId": "Q_dr37VojL1shDZwSvQe1KVUhV19nDaRwqzdbw1EHsI=",
            "accountType": "PLATFORM",
            "notificationThresholdAmount": 10,
            "accountCategory": "GAMING",
            "createdOn": "2018-09-12T12:28:31.241Z",
            "isDefault": false,
            "entityId": "lyUneEZqJSMF3lqvHIrJoQvDdXk-DrG6hPLgQGaa52c="
        }
    ]
}

Successful response

Field Type Description
accountNumber String The unique account number
accountDescription String Description of the account
balance Object Complex object containing amount, currency and persentationAmount
avaiableBalance Object Complex object containing amount, currency and persentationAmount
displayInfo String Display information
accountHolderId String Unique account holder Id
accountType String the type of account
notificationThresholdAmount int changed into new value
createdOn String Date and time token generation timestamp
accountCategory String Account category. Values: GAMING, TRAVEL, E_COMMERCE, FOREX
isDefault boolean default is false
entityId String Unique entity id

Change Users Password

An API call used to change a user’s password using the userId which is generated in the first steps. A successful response is shown through an empty payload (status 200). Note that a password can only be updated once per day.

To change user’s password, use this code:

var data = JSON.stringify({
  "newPassword":"NeW_Pa$$w0rD",
  "oldPassword":"Pa$$w0rD"
});

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === 4) {
    console.log(this.responseText);
  }
});

xhr.open("PUT", "https://demo.mifinity.com/api/users/PJ71Bz9hI3SKv3Q5YBQTqUrO5fKtSDs0PzQ8MrmdlFo=/password");
xhr.setRequestHeader("accept", "application/json");
xhr.setRequestHeader("content-type", "application/json");
xhr.setRequestHeader("x-api-version", "1");
xhr.setRequestHeader("key", "sQO8Q3i5-HeD7F0BqVSIN1p......qnjqMDo8Bl0GKUTvexaVm5n7g");
xhr.send(data); 

HTTP Request

PUT https://demo.mifinity.com/api/users/{userId}/password

Parameter Type Description
Content-Type String Use value ‘application/json’
Accept String Use value ‘application/json’
x-api-version String Use value 1
Key String API key

Parameters

Field Type Required Description
userId String Unique entity id
newPassword String optional the new password for the platform
oldPassword String optional the old password for the platform

Successful response

{
    "payload": []
}
{
    "errors": [
        {
            "type": "VALIDATION_FIELD",
            "errorCode": "VALIDATION",
            "message": "You can change your password only once per day.",
            "formObjectName": "form",
            "field": "newPassword"
        }
    ]
}

Disable Account

Disabling a particular account

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === 4) {
    console.log(this.responseText);
  }
});

xhr.open("DELETE", "https://demo.mifinity.com/api/accounts/HbQDvaIwhweH6BW0FF_uSdL__FEJ7QCkw8KCfOJVNP0=");
xhr.setRequestHeader("accept", "application/json");
xhr.setRequestHeader("content-type", "application/json");
xhr.setRequestHeader("x-api-version", "1");
xhr.setRequestHeader("key", "sQO8Q3i5-HeD7F0BqVSIN1p......qnjqMDo8Bl0GKUTvexaVm5n7g");

HTTP Request

DELETE https://demo.mifinity.com/api/accounts/{accountId}

Parameter Type Description
Content-Type String Use value ‘application/json’
Accept String Use value ‘application/json’
x-api-version String Use value 1
Key String API key

Parameters

Field Type Required Description
accountId String (Path Variable) Unique entityid

Successful response

{
   "payload": []
}

Successful Response

HTTP Status Code 200. It means that the account has been deleted successfully.

Get Account Details

API call used to get account details for a specific account using the entityId that generated by previous steps.

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === 4) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://demo.mifinity.com/api/accounts/dbUMjHccVQm-YS0m2U-AvAqbnRiFyGUTg111fZheWho=");
xhr.setRequestHeader("accept", "application/json");
xhr.setRequestHeader("content-type", "application/json");
xhr.setRequestHeader("x-api-version", "1");
xhr.setRequestHeader("key", "sQO8Q3i5-HeD7F0BqVSIN1p......qnjqMDo8Bl0GKUTvexaVm5n7g");

HTTP Request

GET https://demo.mifinity.com/api/accounts/{accountId}

Parameter Type Description
Content-Type String Use value ‘application/json’
Accept String Use value ‘application/json’
x-api-version String Use value 1
Key String API key

Parameters

Field Type Required Description
accountId String (Path Variable) Unique accountId

Successful response

{
     "payload": [
        {
            "accountNumber": "50010001000056",
            "accountDescription": "Account Description",
            "balance": {
                "amount": 0,
                "currency": "EUR",
                "presentationAmount": "EUR0.00"
            },
            "availableBalance": {
                "amount": 0,
                "currency": "EUR",
                "presentationAmount": "EUR0.00"
            },
            "displayInfo": "50010001000056-Account Description [ 0.00 EUR ]",
            "accountHolderId": "-y9hAHGi37AAcYcZMLgXoYoCAyLpv7RzMURfLesNuQ4=",
            "accountType": "PLATFORM",
            "notificationThresholdAmount": 0,
            "accountCategory": "GAMING",
            "createdOn": "2018-09-18T13:41:51.934Z",
            "isDefault": false,
            "entityId": "XEO_sznjmzGEPtTL7Bk0t_LqSgdt_UvzgQYMRRwV704="
        }
    ]
}

Successful response

Field Type Description
accountNumber String The unique account number
accountDescription String Description of the account
balance Object Complex object containing amount, currency and persentationAmount
avaiableBalance Object Complex object containing amount, currency and persentationAmount
displayInfo String Display information
accountHolderId String Unique account holder Id
accountType String the type of account
notificationThresholdAmount int
createdOn String Date and time token generation timestamp
accountCategory String Account category. Values: GAMING, TRAVEL, E_COMMERCE, FOREX
isDefault boolean default is false
entityId String Unique entity id

Update Account Description

Updating an eWallet Account friendly name (description) by using the unique entityId generated previously and providing a new account description.

var data = JSON.stringify({
       "accountDescription":"specific account for Travel Europe"
});

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === 4) {
    console.log(this.responseText);
  }
});

xhr.open("PUT", "https://demo.mifinity.com/api/accounts/HbQDvaIwhweH6BW0FF_uSdL__FEJ7QCkw8KCfOJVNP0=");
xhr.setRequestHeader("accept", "application/json");
xhr.setRequestHeader("content-type", "application/json");
xhr.setRequestHeader("x-api-version", "1");
xhr.setRequestHeader("key", "sQO8Q3i5-HeD7F0BqVSIN1p......qnjqMDo8Bl0GKUTvexaVm5n7g");
xhr.send(data); 

HTTP Request

PUT https://demo.mifinity.com/api/accounts/{accountId}

Parameter Type Description
Content-Type String Use value ‘application/json’
Accept String Use value ‘application/json’
x-api-version String Use value 1
Key String API key

Parameters

Field Type Required Description
accountDescription String The new description for the account

Successful response

{
     "payload": [
       {
            "accountNumber": "50010001000007",
            "accountDescription": "specific account for Travel Europe",
            "balance": {
                "amount": 118,
                "currency": "EUR",
                "presentationAmount": "EUR118.00"
            },
            "availableBalance": {
                "amount": 118,
                "currency": "EUR",
                "presentationAmount": "EUR118.00"
            },
            "displayInfo": "50010001000007-specific account for Travel Europe [ 118.00 EUR ]",
            "accountHolderId": "VaEKpgpPl5eNJs4RKv9BuFmICfDpgX1-OQfv2CWqX78=",
            "accountType": "PLATFORM",
            "notificationThresholdAmount": 0,
            "accountCategory": "GAMING",
            "isDefault": true,
            "entityId": "NPZMGY7K2rRIjyGpoOgbKhu2GCc7bB4u1NUQI4-m3K4="
        }

    ]
}

Successful response

Field Type Description
accountNumber String The unique account number
accountDescription String New Description of the account
balance Object Complex object containing amount, currency and persentationAmount
avaiableBalance Object Complex object containing amount, currency and persentationAmount
displayInfo String Display information
accountHolderId String Unique account holder Id
accountType String the type of account
notificationThresholdAmount int changed into new value
accountCategory String Account category. Values: GAMING, TRAVEL, E_COMMERCE, FOREX
isDefault boolean default is false
entityId String Unique entity id

Lookup API Calls

Currency Lookup

Return all available currrencies.

To return available currencies, use this code:

var data = "grant_type=client_credentials";

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === 4) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://demo.mifinity.com/api/currencies");
xhr.setRequestHeader("accept", "application/json");
xhr.setRequestHeader("content-type", "application/json");
xhr.setRequestHeader("x-api-version", "1");
xhr.setRequestHeader("key", "sQO8Q3i5-HeD7F0BqVSIN1p......qnjqMDo8Bl0GKUTvexaVm5n7g");
xhr.send(data);

HTTP Request

GET https://demo.mifinity.com/api/currencies

Parameter Type Description
Content-Type String Use value ‘application/json’
Accept String Use value ‘application/json’
x-api-version String Use value 1
Key String API key

Successful response

{
      "payload": [
        {
            "currencyCode": "EUR",
            "displayName": "Euro",
            "fractionDigits": 2
        },
        {
            "currencyCode": "CZK",
            "displayName": "Czech Republic Koruna",
            "fractionDigits": 2
        },
        {
            "currencyCode": "SEK",
            "displayName": "Swedish Krona",
            "fractionDigits": 2
        }
    ]
}

Successful response

Field Type Description
currencyCode String The code for currency
displayName String The currency name
fractionDigits Integer

Get Bank Field Descriptions

Returns bank details fields dictionary.

To return bank details field descriptions, use this code:


var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === 4) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://demo.mifinity.com/api/dictionaries/bank-details-fields");
xhr.setRequestHeader("accept", "application/json");
xhr.setRequestHeader("content-type", "application/json");
xhr.setRequestHeader("x-api-version", "1");
xhr.setRequestHeader("key", "sQO8Q3i5-HeD7F0BqVSIN1p......qnjqMDo8Bl0GKUTvexaVm5n7g");

HTTP Request

GET https://demo.mifinity.com/api/dictionaries/bank-details-fields

Parameter Type Description
Content-Type String Use value ‘application/json’
Accept String Use value ‘application/json’
x-api-version String Use value 1
Key String API key

Successful response

{
     "payload" : [
    {
  "code" : "BANK_NAME",
  "name" : "Bank Name"
}
  ]
}

Successful response

Field Type Description
code String Represent Enum Key
name String Represent Enum value

Parse IBAN Number

Validates input IBAN number and returns bank details if IBAN is valid.

var data = JSON.stringify({
        "iban":"NL75RABO0315142490"
});

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === 4) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://demo.mifinity.com/api/validate/iban/NL75RABO0315142490");
xhr.setRequestHeader("accept", "application/json");
xhr.setRequestHeader("content-type", "application/json");
xhr.setRequestHeader("x-api-version", "1");
xhr.setRequestHeader("key", "sQO8Q3i5-HeD7F0BqVSIN1p......qnjqMDo8Bl0GKUTvexaVm5n7g");
xhr.send(data); 

HTTP Request

GET https://demo.mifinity.com/api/validate/iban/{iban}

Parameter Type Description
Content-Type String Use value ‘application/json’
Accept String Use value ‘application/json’
x-api-version String Use value 1
Key String API key

Parameters

Field Type Description
iban String (Path Variable) it’s an additional number that contains extra information to help overseas banks identify your account for payments

Successful response

{
     "payload" : [
    {
  "iban" : "NL75RABO0315142490",
  "bankName" : "Bank Name",
  "country" : {
    "iso2" : "IE",
    "name" : "Ireland"
  },
  "city" : "San Gwann",
  "address" : "Head Office, Digital Hub, Ind. Est. LS3, LifeScience Park, , San Gwann",
  "swift" : "APAPSMT",
  "valid" : true
}
  ]
}

Successful response

Field Type Description
iban String IBAN number.Size range: minimum of 34 characters and up to 34 characters.
bankName String Bank Name
country String Complex object containing country code: iso2 and country name
city String Bank city
address String Bank Address
swift String Bank Swift Code
valid boolean If Bank is valid or not

Get Pay My Card Currencies

To get all available currencies for Pay My Card.

To return all available currencies for Pay My Card, use this code:


var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === 4) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://demo.mifinity.com/api/pmc/currencies");
xhr.setRequestHeader("accept", "application/json");
xhr.setRequestHeader("content-type", "application/json");
xhr.setRequestHeader("x-api-version", "1");
xhr.setRequestHeader("key", "sQO8Q3i5-HeD7F0BqVSIN1p......qnjqMDo8Bl0GKUTvexaVm5n7g");

HTTP Request

GET https://demo.mifinity.com/api/pmc/currencies

Parameter Type Description
Content-Type String Use value ‘application/json’
Accept String Use value ‘application/json’
x-api-version String Use value 1
Key String API key

Successful response

{
     "payload": [
        {
            "currencyCode": "AFN",
            "displayName": "Afghan Afghani",
            "fractionDigits": 2
        },
        {
            "currencyCode": "ALL",
            "displayName": "Albanian Lek",
            "fractionDigits": 2
        },
        {
            "currencyCode": "DZD",
            "displayName": "Algerian Dinar",
            "fractionDigits": 2
        },
        {
            "currencyCode": "VND",
            "displayName": "Vietnamese Dong",
            "fractionDigits": 0
        }
    ]
}

Successful response

Field Type Description
currencyCode String Currency code
displayName String Name of Country currency
fractionDigits Integer Fraction digits

Transactional API Calls

• iFrame

o eWallet iFrame

Getting Started with iFrame

To use iFrame you need to get API key and account number for funds in MiFinity merchant account. The next step you are to implement a code that makes a secure call upon MiFinity the init-iframe api with your api key and payment info. The init-iframe call will return you encrypted initilizationToken you can use to show payment interface on your website.

For instance, you wish to get 20 EUR for purchase from a client called John Smith. On your backend you call MiFinity API as the right way (shell code).

var data = JSON.stringify({
  "client":{
    "dob":"1985-10-10",
    "firstName":"John",
    "lastName":"Smith",
    "nationality":"GB",
    "emailAddress":"smith@mail.test",
    "phone":"79797979",
    "dialingCode": "353"
    },
    "clientReference":"john85",
    "address":{
      "addressLine1":"Baker str 212B",
      "countryCode":"GB",
      "postalCode":"123456",
      "city":"London"
      },
      "traceId":"$TRACE_ID",
      "money":
      {"amount":20,
      "currency":"EUR"
      },
      "description":"payment",
      "validationKey":"$VALIDATION_KEY",
      "returnUrl":"$RETURN_URL",
      "destinationAccountNumber":"$ACCOUNT_NUMBER",
      "brandId":"002"
      });

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === 4) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "https://demo.mifinity.com/pegasus-ci/api/gateway/init-iframe");
xhr.setRequestHeader("accept", "application/json");
xhr.setRequestHeader("content-type", "application/json");
xhr.setRequestHeader("x-api-version", "1");
xhr.setRequestHeader("key", "sQO8Q3i5-HeD7F0BqVSIN1p......qnjqMDo8Bl0GKUTvexaVm5n7g");
xhr.send(data);

HTTP Request

POST https://demo.mifinity.com/pegasus-ci/api/gateway/init-iframe

Parameter Type Description
Content-Type String Use value ‘application/json’
Accept String Use value ‘application/json’
x-api-version String Use value 1
Key String API key

Parameters

Field Type Required Description
$API_KEY String Your API key
$ACCOUNT_NUMBER String your MiFinity account number for funds
$VALIDATION_KEY String Unique ID for the transaction
$TRACE_ID String Unique ID for the transaction
$RETURN_URL String URL upon which you will receive a callback from Mifinity when the transaction is successfully processed.

In response you will have json string with initializationToken.

{
    "payload":[
        {
          "traceId":"traceId1497444847",
          "initializationToken":"initializationToken_example",
          "client":
            {
              "dob":"1985-10-10",
              "firstName":"John",
              "lastName":"Smith",
              "nationality":"GB",
              "emailAddress":"smith@mail.test"
              },
          "address":
            {
              "addressLine1":"Baker str 212B",
              "countryCode":"GB",
              "postalCode":"123456",
              "city":"London"
              }
        }
    ]
}

initializationToken — contains encrypted payment info you should use on your website to initialize IFrame.

So next, when you have the initializationToken, you are to generate the right way in javascript rag html code for your client John Smith

<script src="https://demo.mifinity.com/widgets/sgpg.js?58190a411dc3"></script>
<div id="widget-container"></div>
<script>
    var widget = showPaymentIframe("widget-container", {
        token: "initializationToken_example",
        complete: function() {
            setTimeout(function() {
              // some code here
              // widget.close(); // or redirect
            }, 5000);
        }
    });
</script>

initializationToken_example — is initializationToken

complete — is a function which will be called upon the completion of the payment no matter if it is successful or not. In the above given example the complete function contains the code sample that closes Sgpg Iframe 5 seconds later.

MiFinity javascript API also provides you with success and fail callback functions in case you wish to redirect John Smith to a specific page according to the result of payment but you should not trust these callbacks since they are client side and cannot be trusted to make any funds moving. You should wait for a notification on the return_url.

When John Smith makes the payment and it is successfully processed, you will get a POST request upon your return_url from Mifinity with json string as in the right example.

{"traceId":"traceId1497542703",
"money":{"amount":20.00,"currency":"EUR","presentationAmount":"20 EUR"},
"description":"payment",
"clientReference":"john85",
"validationKey":"72d6131606cf4f05e4db32c92c4cab7fa081a4cf99c51e874e9e224dc6e60c03",
"cardToken":null,
"responseCode":"A3R4GYDl_KkIuRbOTA6NG4dU0Pn_rNJrrR3ZjVP3Bkc=",
"captureToken":null,
"transactionReference":"85181c39-0128-4f3c-81b8-6ca5314f7d96",
"paymentType":"EWALLET"}

iFrame JavaScript API

Methods

showPaymentIframe(divId, widgetParams) → {PaymentIframeObject}

generates a payment widget and attaches it to DOM

Tutorials: Getting Started with IFrame

Parameters:

Name Type Description
divId String id of container for widget in DOM model
widgetParams PaymentIframeParams The parameters

Returns:

Type: PaymentIframeObject

widget handler

See the Example under javascript tag

<script src="https://demo.mifinity.com/widgets/sgpg.js?58190a411dc3"></script>
<div id="widget-container"></div>
<script>
    var widget = showPaymentIframe("widget-container", {
        token: "initializationToken_example",
        complete: function() {
            // close the widget after 5s
            setTimeout(function() {
              widget.close();
            }, 5000);
        }
    });
</script>

PaymentIframeObject

Properties:

Name Type Description
close function id of container for widget in DOM model

PaymentIframeParams

Properties:

Name Type Attributes Description
widgetParams.token String initilizationToken obtained by calling the init-iframe api
widgetParams.merchant String optional Company name to show to a client on ui side (in the field “Payment for:”)
widgetParams.fail function optional The function will be called upon failure of the payment
widgetParams.success function optional The function will be called upon the successfull completion of the payment. This response is client-side and should not be trusted. Please check transaction status by requesting MiFinity trasaction status API before doing any funds moving.
widgetParams.complete function optional The function will be called upon the completion of the payment no matter if it is successful or not

#### Initialize iFrame

This API is used to receive initialization token for SGPG iframe. Token should be used in 30 minutes, otherwise it will expire.

HTTP Request

POST https://demo.mifinity.com/pegasus-ci/api/gateway/init-iframe

var data = JSON.stringify({
    "returnUrl": "http://yoururl/callback",
    "errorUrl": "http://yoururl/errorcallback",
    "validationKey": "246576793213125465465465ewqweqwewqewqeqwe32414erwrewrewrew4654",
    "client": {
        "dob": "1985-10-10",
        "firstName": "Luke",
        "lastName": "Skywalker",
        "dialingCode": "353",
        "phone": "79797979",
        "nationality": "IE",
        "emailAddress":"smith@mail.test"
    },
    "clientReference": "Client 123",
    "address": {
        "addressLine1": "Digital Hub, Ind. Est.",
        "addressLine2": "LS3, LifeScience Park, ",
        "countryCode": "IE",
        "postalCode": "ABC 1234",
        "city": "San Gwann"
    },
    "traceId": "R3f3r3n)E",
    "money": {
        "amount": 200,
        "currency": "EUR",
        "presentationAmount": "EUR200.0"
    },
    "description": "this is a description",
    "destinationAccountNumber": "5000000123432105"});

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === 4) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "https://demo.mifinity.com/pegasus-ci/api/gateway/init-iframe");
xhr.setRequestHeader("accept", "application/json");
xhr.setRequestHeader("content-type", "application/json");
xhr.setRequestHeader("x-api-version", "1");
xhr.setRequestHeader("key", "sQO8Q3i5-HeD7F0BqVSIN1p......qnjqMDo8Bl0GKUTvexaVm5n7g");
xhr.send(data);

PHP example

There are two PHP files, which show how to work by using PHP language: payment.php & callback.php.

payment.php

The code example in the right code erea.

payment.php

<?php
// usage: php -S localhost:8000
$apiKey = ""; // your api key
$accountId = '0000000000000007'; // your account number

$url = 'https://demo.mifinity.com';
$traceId = 'traceId'.time(); // unique id for the transaction
$validationKey = hash('sha256', 'validationKey'.$traceId);

$clientData = [
    'client' => [
        'dob' => '1985-10-10',
        'firstName' => 'John',
        'lastName' => 'Smith',
        'nationality' => 'GB',
        'emailAddress' => 'smith@mail.test',
        'phone' => '8911111111111',
         "dialingCode": "353"
     ],
    'clientReference' => 'john85',
    'address' => [
        'addressLine1' => 'Baker str 212B',
        'countryCode' => 'GB',
        'postalCode' => '123456',
        'city' => 'London'
    ],
    'traceId' => $traceId,
    'money' => [
        'amount' => 20,
        'currency' => 'EUR'
    ],
    'description' => 'payment',
    'validationKey' => $validationKey,
    'returnUrl' => 'http://yoururl/callback.php',
    'destinationAccountNumber' => $accountId,
    'checkThreeDSecure' => true
];
?>
<!doctype html>
<html>
<head>
    <meta charset="utf-8">
    <title>Example</title>
    <style>
        #widget-container {
            /* your styles */
            margin: 25px auto;
        }
    </style>
<script src="<?=$url ?>/widgets/sgpg.js?58190a411dc3"></script>
</head>
<body>
<h1>init-iframe result</h1>
<pre>
<?php
$ch = curl_init("$url/pegasus-ci/api/gateway/init-iframe");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
  'api-version: 1',
  "key: $apiKey",
  'Content-Type: application/json;charset=UTF-8'
]);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($clientData));
$rawResp = curl_exec($ch);
$resp = json_decode($rawResp, true);
if (!isset($resp['payload'][0]['initializationToken'])) {
  echo "Error\n";
  $curl_errno = curl_errno($ch);
  $curl_error = curl_error($ch);
  if ($curl_errno > 0) {
    error_log("cURL Error ($curl_errno): $curl_error");
  } else {
    error_log("init-iframe error. Output: $rawResp");
  }
}
curl_close($ch);
$token = $resp['payload'][0]['initializationToken'];
?>
</pre>
<div id="widget-container"></div>
<script>
    var widget = showPaymentIframe("widget-container", {
        token: "<?= $token?>",
        complete: function() {
            setTimeout(function() {
              //widget.close();
            }, 10000);
        },
        fail: function() {
          alert('Payment has been failed');
        },
        success: function() {
          // don't trust this response, wait for the notification on the url specified in returnUrl
          alert('Payment has been processed');
        }
    });
</script>
</body>
</html>

callback.php

The code example in the right code erea.

callback.php

<?php
$req = json_decode(file_get_contents('php://input'));
$traceId = $req['traceId'];
$validationKey = $req['validationKey'];
$clientReference = $req['clientReference'];

// only example
if (isTransactionValid($traceId, $validationKey)) {
  updateClientsBalance($clientReference, $traceId);
}
?>
Parameter Type Description
Content-Type String Use value ‘application/x-www-form-urlencoded’
Accept String Use value ‘application/json’
x-api-version String Use value 1
Key String API key

Parameters

Name Type Required Description
returnUrl URL true

URL to send callback after successful transfer. Response will be JSON representation of ApiSGPGPaymentResponse object. Results will be sent asynchronously as soon as transfer will be executed by remote processor (this can happen after closing of iframe). Time of execution is not guaranteed and can be different for different processors.

errorUrl URL false

URL to send callback after failed transfer. Response will be JSON representation of ApiSGPGErrorResponse object. Results will be sent asynchronously as soon as transfer will be executed by remote processor (this can happen after closing of iframe). Time of execution is not guaranteed and can be different for different processors.

validationKey String true

Secret key to validate payment response and get status of payment

. Minimum characters are 48 and maximum characters are 255.
client SGPGPlatformUser true

Complex object containing information about client. All information except email can be edited in iframe

clientReference String true

Id of client in merchant’s system

. Maximum characters are 48.
address SGPGAddress true

Complex object containing information about client’s address, can be edited in iframe

traceId String true

Merchant’s identifier for the call

. Maximum characters are 48.
money Money true

Complex Money object containing transfer amount and currency

description String true

Description of transfer. Sofort/Klarna deposits are limited to 27 characters.

. Maximum characters are 255.
destinationAccountNumber String true

Merchant’s account number to collect payment

iframeId EntityId false

Id of iframe if merchant has several iframes with different types

brandId String true

A 3-digit ID provided by MiFinity which indicates through which brand is the call being made.

SGPGPlatformUser

Name Type Required Description
dob LocalDate true

Date of birth

firstName String true

First name

lastName String true

Last name

phone String true

Phone number

dialingCode String true

DialingCode

nationality String true

Nationality

emailAddress String true

Email address

. Maximum characters are 50.

SGPGAddress

Name Type Format Required Description
addressLine1 String Max 60 chars true

Contains Building Name/Number

addressLine2 String Max 60 chars false

Contains Street

countryCode String 2 chars true

The ISO 2 digit country code

postalCode String Max 15 chars false

Address postcode

state String Max 2 chars false

State code

city String Max 30 chars true

City

Money

Name Type Required Description
amount BigDecimal true

The amount of Money

currency String true

Currency in ISO 4217 Format

presentationAmount String false

Consists of Currency Code and Amount


{
  "payload" : [
    {
  "traceId" : "R3f3r3n)E",
  "initializationToken" : "ttobQnnk5foJyHK4_C4gt9R7j-9FxxHTtYvk_fsOLyY4PqBO1qTTmnXy0MgJlnO9Bv3BX1zAgNO5GvtagiQYBsVZb5kU9dz_mn_YiW5otHzdQmqmPTRulJBI1k93B1ZzivuqJ723PBtJ5_GSbVt4Z12V1ZhUYjm6iwqIjsVs7SFRxME4WsWjvytWc6HEe7v7I7Yxk6A2O60TPMaNGmC6HAA2F52Ho4frmpwUmkfzS0rklgSiSWhWQ2OVfNRDwSyLUY7s8OsywtUsHHXu3DVBAVONfqrnW295zwf16Tv6Py05OCg7_M4tLOE1gbfMbyQKPW_BNAj9F53IrTXTCAxMExai6dlvjATJhPnhViO511T32_nO_tdmQssqQAiLu35YLGfC_IVeQ1FDQZo6yZhDWENgVADCmbkGk7lW9RnBMp6GzxxPhhiykDzqdJfFYAs3LjV-IZfkCwj0iA2u4XwYH4wP2VUshu-P3EUDXdau3NPx9ked5tr1Grpe_0wt1d2i2m_hknJWlFZ7AjXP-cBtqgbjMcbhVq9nGALDtxEJtvbQ42fnDRoLlX-TWliSUgmKoo8VrUiXpRvD8pyFjDY_p5vDg4UXBQQ-VdDWLtdS-tN_HpwUT0ELaCkTPdxOYaXW2936z1otKZB6JZDDhmcg8mO-R2e9lf--I0Gqr7N-7SZ71XaO3e7IsHClUQ31OX3m0WcakbsaKLGp4jf-jxGEqFhrHa0_VmwY_8NgZun5s3nUXueyal6g-J1DKye6NVNULV2TimIbEyuk401aECRsF5LAhF9FjZM2TZHslfkVk1FJlyKPIrxrpk0pkilFCADHHMdmjjLFGls_IpOLuI9Ao7Wsfbt-sZpqFTl3swlKZYWLZHg33_rVOg9rtL_iLaLQZQaVJYaqsGt1LFLDix41TorRNk8UT0fSPs_NwORN7KQoWjEExiITGpyNtHsG5-isZT-4NGxLmBmVPJRJKeHkvoQ0JRHA0sJVWLVqn78pfRdYV2m_sKQvQik2LIJeKhm5oMP--UebFN7jaEwWqK5tVpAqGLPN6LiX2dUcnY7-1-2SXHl5OPua7iNwC4WaG_d_bDqT9HqPCJCYO7lAs6De_Myco1xWEioeSySn5zLMaZ7YpzLamZ0Pnp6-Q-nMTZNTPSekdQlAXwUByrwsoJIjTsZ5leaMAcb567krAfFmAaFa4zoUwz05rCuiivslDrdvp0N2PlZ3x6E1Os8YODqgJrMHZpCYxDsaC8bXf-ByfIcSh2Mu_KrQ94D7VM1yjcTXVqgzlvaHWWV2P435_E6Wb2a1XAkVyIZjikWoj-pMTb3gfGH4x73g7-DWopEXW529RTH3P44xG-_Ti4_dq4iPhlXVujdNU6v4361lCfMBsdPr6wXwzyi3zIdhB7dI-zZSmyKNnOVAExNxcHKaaNLfaIZRnHoYk1y4TTr2xyYC-Xp34qQydp68tkcfIa70x4jU14m7QPJxPq-cFhr2Ol4fIvJgza95bMLkgtpXY8uqbqZYPp-qq8YrAlMdKMB2BGRXI4FBNAoBSf4j_eMooB8sWn-t5EshU2CmjVAHeSfnFe-NEKPnX3EzvqPawPgVFajjx5EdC0vlt9bT92bzRzK4fPGTQpW8x8O186p_28YlMLCo0uGoY6R3NE0m3oNjYEAz9uzmwNcoHr-sAs5oyeRRPiXnmFTnIDZhK9_DTUvbFsM=",
  "client" : {
    "dob" : "1985-10-10",
    "firstName" : "Luke",
    "lastName" : "Skywalker",
    "dialingCode": "353",
    "phone" : "79797979",
    "nationality" : "IE"
  },
  "address" : {
    "addressLine1" : "Digital Hub, Ind. Est.",
    "addressLine2" : "LS3, LifeScience Park, ",
    "countryCode" : "IE",
    "postalCode" : "ABC 1234",
    "city" : "San Gwann"
  }
}
  ]
}

Successful Response

Name Type Description
traceId String

The trace id that was submitted with the call

initializationToken String

Encoded iframe initialization token

client SGPGPlatformUser

Complex object containing initial information about client

address SGPGAddress

Complex object containing initial information about client’s address

Payment Status

This API is used to get status of SGPG payment.

HTTP Request

GET https://demo.mifinity.com/api/gateway/payment-status/{validationKey}

Parameters

Name Type Required Description
validationKey String true

Secret key used in Initialize SGPG Iframe (Path Variable)

Successful Response

{
  "payload": [
       {
           "status":"SUCCESSFUL",
           "paymentResponse":
                    {
                    "sourceMoney":
                            {
                            "amount":45.57,
                            "currency":"PLN",
                            "presentationAmount":"PLN45.57"
                            },
                    "destinationMoney":
                            {
                            "amount":8.85,
                            "currency":"EUR",
                            "presentationAmount":"EUR8.85"
                            },
                    "totalFees":
                            {
                            "amount":1.15,
                            "currency":"EUR",
                            "presentationAmount":"EUR1.15"
                            },
                    "traceId":"traceId9M7ga8A0vsd6x6281RQ_K",
                    "money":
                        {
                        "amount":45.57,
                        "currency":"PLN",
                        "presentationAmount":"PLN45.57"
                        },
                    "description":"Explosive Account Funding",
                    "clientReference":"john85",         
                    "validationKey":"ZekJd8MujEX48VW5_GbsP_RbIA_ShnIjUFvJStAyu5S7Fv9Ej70pzxOl2w~x35WjlJG5Or8eTAUcwU1kJBBvaWjWiA4IGPu2lvX7Q_FiP5NTMzOHsvJYuzxj2ylT",
                    "responseCode":"YJFITHfjG9E1Hd-L0oCqthQRCDHChM_v7iypA30IQI=",
                    "transactionReference":"5e8c527d-a3dd-4f1c-b29c-b4a7d1f2ec4",
                    "paymentType":"CARD",
                    "senderEmailAddress":"testpayment001@gmail.com",
                    "paymentMethod":"VISA_EEA",
                    "accountNumber":"500100XXXXXX1234"
                    }
        }

    ]
}

SGPGPaymentStatusResponse

Name Type Required Description
status SGPGPaymentStatus true

(ApiSGPGPaymentStatus is an enum)

paymentResponse SGPGPaymentResponse true

Payment response in case of successful transfer

errorMessage String true

Error message in case of error

SGPGPaymentStatus

Name Description
AUTHORISED

The payment was submitted but was not captured (only for split payments)

SUCCESSFUL

The payment was successful

PENDING

The payment has been submitted but its status is unknown

FAILED

The payment was failed

NOT_COMPLETED

The payment was not completed. User might have closed the window or aborted transaction

SGPGPaymentResponse

Name Type Required Description
sourceMoney Money true

The source amount that was submitted with the call

destinationMoney Money true

The total amount that was deposited to the destinationAccount

totalFees Money true

The total amount of fees that were charged from the source amount

exchangeRate BigDecimal true

The exchange rate used in the transfer

traceId String false

The trace id that was submitted with the call

money Money false

Complex Money object containing transfer amount and currency

description String false

Description of payment

clientReference String true

Id of client in merchant’s system

validationKey String false

Secret key to validate payment response (available only for Iframe responses)

cardToken EntityId true

Card token for further usage

responseCode String false

Response code for futher usage in SGPG Revert and Credit API calls

captureToken String true

Capture token (available only for Sub-Iframe responses)

transactionReference String false

Reference for money transaction

paymentType SGPGPaymentType false

(ApiSGPGPaymentType is an enum)

senderEmailAddress String false

The email address of the client who completed the payment </p

paymentMethod String false

The payment method used. Can be processor’s name, card scheme, etc.

accountNumber String false

The client’s account number used for payment

SGPGPaymentType

Name
CARD
BANK
EWALLET

o Transaction Limits for Deposits

When initializing the iFrame, the’amount’ field needs to be within the transaction limit range. For our main 11 currencies, the minimum and maximum amounts are defined below:

Currency Min Tx amount Max Tx amount
EUR 10.00 2,500.00
GBP 10.00 2,500.00
USD 10.00 2,500.00
AUD 15.00 2,500.00
CAD 15.00 2,500.00
CHF 10.00 2,500.00
CZK 250.00 2,500.00
NZD 20.00 2,500.00
PLN 50.00 2,500.00
SEK 100.00 2,500.00
DKK 75.00 2,500.00
ZAR 175.00 2,500.00

All other currencies which are accepted on our platform will be converted to EUR based on the daily conversion rate. This conversion only occurs in order to determine whether the requested amount lies within the accepted range (between 10Eur and 2500Eur).

The list of the other supported currencies are below:

BRL BYN CLP CNY COP
GEL HKD HUF IDR ILS
INR IQD JOD JPY KES
KRW KWD LKR MAD MXN
MYR NGN NOK OMR PEN
PHP PKR QAR RON RUB
SAR SGD THB TND TRY
TWD UAH UGX VEF VES
VND

o Account to Account Transfer

An API used to complete an account to account transcation by using an account details. This API will throw a 401 error code if TOTP (aka Two Factor Auth) is enabled on the logged in user until the request is sent with a security-code header containing a valid value.

To transfer account to account, use this code

var data = JSON.stringify({
  "money": {
    "amount": 10,
    "currency": "EUR"
  },
  "sourceAccount": "5001000001080652",
  "destinationAccount": "5001000001100815",
  "description": "10 EUR ACC2ACC",
  "traceId": "zeihwhp-43gs8iwyf7v4h5f"
});

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === 4) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "https://demo.mifinity.com/api/payments/acct2acct");
xhr.setRequestHeader("accept", "application/json");
xhr.setRequestHeader("content-type", "application/json");
xhr.setRequestHeader("x-api-version", "1");
xhr.setRequestHeader("key", "sQO8Q3i5-HeD7F0BqVSIN1p......qnjqMDo8Bl0GKUTvexaVm5n7g");
xhr.send(data);

To perform an account to account transfer (eWallet), please use the example below replacing key and sourceAccount with the values you have from the previous steps.

This feature is intended to transfer money to any MiFinity account. For test purposes, login into the MiFinity portal in Demo and create an account. Use the number of this newly created account as the destinationAccount.

HTTP Request

POST https://demo.mifinity.com/api/payments/acct2acct

Parameter Type Description
Content-Type String Use value ‘application/json’
Accept String Use value ‘application/json’
x-api-version String Use value 1
Key String API key

Parameters

Field Type Required Description
sourceAccount String

Account number from which the amount of money will be debited

destinationAccount String

Can be either email address or MiFinity account number to receive the credit

money Money

Complex Money object containing transfer amount and currency

description String

Description for this transfer which min character is 1 and max characters are 25

traceId String

Unique transaction identifier. You can assign any value

paymentCategoryType String optional

ApiPaymentCategory is an enum,which containing GAMING_PAYOUT/ REMITTANCE / REFUND / PAYROLL / EXPENSES/ E_COMMERCE / TRAVEL / NOT_SET

Successful response

{
  "payload": [
        {
            "transactionId": "N4t0bf5GxqVL0WoyypbNXgnB7TE5NpbMuV8Z0wVPGXY=",
            "transactionReference": "69f6c395-ef54-4140-8a63-a1f869150f81",
            "traceId": "R3f3r3n)E",
            "datePosted": "2018-09-21T10:15:58.189Z",
            "sourceMoney": {
                "amount": 10,
                "currency": "EUR",
                "displayable": "EUR20.00"
            },
            "destinationMoney": {
                "amount": 10,
                "currency": "EUR",
                "displayable": "EUR20.00"
            },
            "exchangeRate": 1,
            "totalFees": {
                "amount": 0,
                "currency": "EUR",
                "displayable": "EUR0.00"
            }
        }
    ]
}

Successful response

Field Type Description
transactionId EntityId Encrypted identifier of the transaction
transactionReference String Transaction unique reference
traceId String Identifier that has been passed to the request will be returned
datePosted DateTime The date/time that the transaction posted.
sourceMoney Object Complex object containing: amount(Number), currency(String) and displayable (String)
destinationMoney Object Complex object containing: amount(Number), currency(String) and displayable (String)
exchangeRate Integer
totalFee Object Complex object containing: amount(Number), currency(String) and displayable (String)

o iFrame integration document

The details on how to use API documentation for iFrame integrations can be found here

• PayAnyCard / PayMyCard

o Using the Card details

To perform a Pay Any Card / Pay My Card transaction by using card details, please use the example below replacing key and sourceAccount with the values you have from the previous steps.

To do a PAC , use this code

var data = JSON.stringify({
  "money": {
    "amount": 10,
    "currency": "EUR"
  },
  "cardNumber": "4485419417109",
  "description": "10 EUR PAC",
  "expiryDate": "12/18",
  "sourceAccount": "50010001000007",
  "traceId": "zeihwhp-13gs8iwyf7v4h5d",
  "cardHolderCountryCode": "MT",
  "cardHolderNationality": "MT",
  "cardHolderAddress": "London st.",
  "cardName": "Luke Skywalker"
});

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === 4) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "https://demo.mifinity.com/api/payments/pac");
xhr.setRequestHeader("accept", "application/json");
xhr.setRequestHeader("content-type", "application/json");
xhr.setRequestHeader("x-api-version", "1");
xhr.setRequestHeader("key", "qbS2i_dlYYQrLwYvTzDd2CHpZ-KNR...VNs-3qLI1jQg7uvfx-A-bYwAS9EbHl-3h_OuQWNxjIO25mkr-t7j");
xhr.send(data);

HTTP Request

POST https://demo.mifinity.com/api/payments/pac

Parameter Type Description
Content-Type String Use value ‘application/json’
Accept String Use value ‘application/json’
x-api-version String Use value 1
Key String API key

Parameters

Field Type Required Description
money Object The Object containing two String attributes: amount and currency of the transfer
description String Optional Description for this transfer which min character is 1 and max characters are 25
expiryDate String Card expiry date
sourceAccount String Account number from which the amount of money will be debited
traceId String Unique transaction identifier. You can assign any value
cardNumber String Card number. Your business contact can provide more test numbers
Currency      Card Number
———-      ————–
USD         4670 1253 3973 2535
EUR         4532 0013 1173 7685
GBP         4929 8243 3119 8286
INR         5316 6240 2619 0070
cardHolderCountryCode String Card holder country code (ISO 3166-1)
cardHolderNationality String Card holder nationality (ISO 3166-1)
cardHolderAddress String Optional Card holder address
cardName String Name on card
cardHolderEmail String Optional Card holder email (this is required by our processors)
paymentCategoryType PaymentCategoryType Optional Enum Object which containing GAMING_PAYOUT, REMITTANCE, REFUND, PAYROLL, EXPENSES,E_COMMERNCE, TRAVEL AND NOT_SET

money

Field Type Required Description
presentationAmount String Optional Consists of Currency Code and Amount
amount Number Transaction value
currency String Currency code (ISO 4217)

Successful response

{

    "payload": [
        {
            "transactionId": "6PX0FjAufQSJ9eEMzjdyuMpFeR4vXI_Ln08rgzdvO-I=",
            "transactionReference": "4c9f3bf3-1c92-4d79-bbf0-b3d85cee2980",
            "traceId": "82595452748399303479",
            "datePosted": "2018-09-24T09:53:52.158Z",
            "sourceMoney": {
                "amount": 10,
                "currency": "EUR",
                "displayable": "EUR10.00"
            },
            "destinationMoney": {
                "amount": 10,
                "currency": "EUR",
                "displayable": "EUR10.00"
            },
            "exchangeRate": 1,
            "totalFees": {
                "amount": 0,
                "currency": "EUR",
                "displayable": "EUR0.00"
            }
        }
    ]
}

Successful Response

Field Type Description
transactionId EntityId Encrypted identifier of the transaction
transactionReference String Transaction unique reference
traceId String Identifier that has been passed to the request will be returned
datePosted DateTime The date/time that the transaction posted.
sourceMoney Object Complex object containing: amount(Number), currency(String) and displayable (String)
destinationMoney Object Complex object containing: amount(Number), currency(String) and displayable (String)
exchangeRate Integer
totalFee Object Complex object containing: amount(Number), currency(String) and displayable (String)

To do a PMC , use this code

var data = JSON.stringify({
  "money" : {"amount":1, "currency":"GBP"},
        "cardNumber" : "4485419417109",
        "description" : "1 GBP PMC",
        "expiryDate" : "01/22",
        "sourceAccount" : "50010001000007",
        "traceId" : "zeihwhp-43gs8iwyf7vd9",
        "cardHolderCountryCode":"GB",
        "cardHolderNationality":"GB",
        "cardHolderAddress":"London st.",
        "cardName":"Card Name"
});

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === 4) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "https://demo.mifinity.com/api/payments/pmc");
xhr.setRequestHeader("accept", "application/json");
xhr.setRequestHeader("content-type", "application/json");
xhr.setRequestHeader("x-api-version", "1");
xhr.setRequestHeader("key", "qbS2i_dlYYQrLwYvTzDd2CHpZ-KNR...VNs-3qLI1jQg7uvfx-A-bYwAS9EbHl-3h_OuQWNxjIO25mkr-t7j");
xhr.send(data);

HTTP Request

POST https://demo.mifinity.com/api/payments/pmc

Parameter Type Description
Content-Type String Use value ‘application/json’
Accept String Use value ‘application/json’
x-api-version String Use value 1
Key String API key

Parameters

Field Type Required Description
money Object The Object containing two String attributes: amount and currency of the transfer
description String Optional Description for this transfer which min character is 1 and max characters are 25
expiryDate String Card expiry date
sourceAccount String Account number from which the amount of money will be debited
traceId String Unique transaction identifier. You can assign any value
cardNumber String Card number. Your business contact can provide more test numbers
Currency      Card Number
———-      ————–
USD         4670 1253 3973 2535
EUR         4532 0013 1173 7685
GBP         4929 8243 3119 8286
INR         5316 6240 2619 0070
cardHolderCountryCode String Card holder country code (ISO 3166-1)
cardHolderNationality String Card holder nationality (ISO 3166-1)
cardHolderAddress String Optional Card holder address
cardName String Name on card
cardHolderEmail String Optional Card holder email (this is required by our processors)
paymentCategoryType PaymentCategoryType Optional Enum Object which containing GAMING_PAYOUT, REMITTANCE, REFUND, PAYROLL, EXPENSES,E_COMMERNCE, TRAVEL AND NOT_SET

money

Field Type Required Description
presentationAmount String Optional Consists of Currency Code and Amount
amount Number Transaction value
currency String Currency code (ISO 4217)

Successful response

{

   "payload": [
        {
            "transactionId": "iygyFrwQoBcEyriUyrDQs5bSTqDDYuSd3k-KcNbXfpA=",
            "transactionReference": "838b5837-5171-4ac9-b215-cb0bd87ff362",
            "destinationMoney": {
                "amount": 1,
                "currency": "GBP",
                "presentationAmount": "GBP1.00"
            },
            "exchangeRate": 1,
            "sourceMoney": {
                "amount": 1,
                "currency": "GBP",
                "presentationAmount": "GBP1.00"
            },
            "traceId": "zeihwhp-43gs8iwyf7vd9",
            "datePosted": "2018-09-24T10:03:42.774Z"
        }
    ]
}

Successful Response

Field Type Description
transactionId EntityId Encrypted identifier of the transaction
transactionReference String Transaction unique reference
traceId String Identifier that has been passed to the request will be returned
datePosted DateTime The date/time that the transaction posted.
sourceMoney Object Complex object containing: amount(Number), currency(String) and displayable (String)
destinationMoney Object Complex object containing: amount(Number), currency(String) and displayable (String)
exchangeRate Integer

o Using CardPayeeId (token)

To perform a Pay Any Card / Pay My Card transaction by using cardPayeeId, please use the example below replacing key and sourceAccount with the values you have from the previous steps.

To do a PAC , use this code

var data = JSON.stringify({
       "money" : {"amount":10, "currency":"EUR"},
        "sourceAccount" : "50010001000007",
        "traceId" : "zeihwhp-13gs8iwyf7v4h5d",
        "cardPayeeId":"vWwhHgps4wreiE9JeTrgzBRZeihwLr6W9ujjq9auOz0="
});

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === 4) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "https://demo.mifinity.com/api/payments/pac");
xhr.setRequestHeader("accept", "application/json");
xhr.setRequestHeader("content-type", "application/json");
xhr.setRequestHeader("x-api-version", "1");
xhr.setRequestHeader("key", "qbS2i_dlYYQrLwYvTzDd2CHpZ-KNR...VNs-3qLI1jQg7uvfx-A-bYwAS9EbHl-3h_OuQWNxjIO25mkr-t7j");
xhr.send(data);

HTTP Request

POST https://demo.mifinity.com/api/payments/pac

Parameter Type Description
Content-Type String Use value ‘application/json’
Accept String Use value ‘application/json’
x-api-version String Use value 1
Key String API key

Parameters

Field Type Required Description
money Object The Object containing two String attributes: amount and currency of the transfer
description String Optional Description for this transfer which min character is 1 and max characters are 25
sourceAccount String Account number from which the amount of money will be debited
traceId String Unique transaction identifier. You can assign any value
cardPayeeId String Card Payee Id
paymentCategoryType PaymentCategoryType Optional Enum Object which containing GAMING_PAYOUT, REMITTANCE, REFUND, PAYROLL, EXPENSES,E_COMMERNCE, TRAVEL AND NOT_SET

money

Field Type Required Description
presentationAmount String Optional Consists of Currency Code and Amount
amount Number Transaction value
currency String Currency code (ISO 4217)

Successful response

{

    "payload": [
        {
            "transactionId": "6PX0FjAufQSJ9eEMzjdyuMpFeR4vXI_Ln08rgzdvO-I=",
            "transactionReference": "4c9f3bf3-1c92-4d79-bbf0-b3d85cee2980",
            "traceId": "82595452748399303479",
            "datePosted": "2018-09-24T09:53:52.158Z",
            "sourceMoney": {
                "amount": 10,
                "currency": "EUR",
                "displayable": "EUR10.00"
            },
            "destinationMoney": {
                "amount": 10,
                "currency": "EUR",
                "displayable": "EUR10.00"
            },
            "exchangeRate": 1,
            "totalFees": {
                "amount": 0,
                "currency": "EUR",
                "displayable": "EUR0.00"
            }
        }
    ]
}

Successful Response

Field Type Description
transactionId EntityId Encrypted identifier of the transaction
transactionReference String Transaction unique reference
traceId String Identifier that has been passed to the request will be returned
datePosted DateTime The date/time that the transaction posted.
sourceMoney Object Complex object containing: amount(Number), currency(String) and displayable (String)
destinationMoney Object Complex object containing: amount(Number), currency(String) and displayable (String)
exchangeRate Integer
totalFee Object Complex object containing: amount(Number), currency(String) and displayable (String)

To do a PMC , use this code

var data = JSON.stringify({
        "money" : {"amount":1, "currency":"GBP"},
        "cardPayeeId" : "vWwhHgps4wreiE9JeTrgzBRZeihwLr6W9ujjq9auOz0=",
        "sourceAccount" : "50010001000007",
        "traceId" : "zeihwhp-43gs8iwyf7vd9"
});

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === 4) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "https://demo.mifinity.com/api/payments/pmc");
xhr.setRequestHeader("accept", "application/json");
xhr.setRequestHeader("content-type", "application/json");
xhr.setRequestHeader("x-api-version", "1");
xhr.setRequestHeader("key", "qbS2i_dlYYQrLwYvTzDd2CHpZ-KNR...VNs-3qLI1jQg7uvfx-A-bYwAS9EbHl-3h_OuQWNxjIO25mkr-t7j");
xhr.send(data);

HTTP Request

POST https://demo.mifinity.com/api/payments/pmc

Parameter Type Description
Content-Type String Use value ‘application/json’
Accept String Use value ‘application/json’
x-api-version String Use value 1
Key String API key

Parameters

Field Type Required Description
money Object The Object containing two String attributes: amount and currency of the transfer
description String Optional Description for this transfer which min character is 1 and max characters are 25
sourceAccount String Account number from which the amount of money will be debited
traceId String Unique transaction identifier. You can assign any value
cardPayeeId String Card Payee Id
paymentCategoryType PaymentCategoryType Optional Enum Object which containing GAMING_PAYOUT, REMITTANCE, REFUND, PAYROLL, EXPENSES,E_COMMERNCE, TRAVEL AND NOT_SET

money

Field Type Required Description
presentationAmount String Optional Consists of Currency Code and Amount
amount Number Transaction value
currency String Currency code (ISO 4217)

Successful response

{

   "payload": [
        {
            "transactionId": "iygyFrwQoBcEyriUyrDQs5bSTqDDYuSd3k-KcNbXfpA=",
            "transactionReference": "838b5837-5171-4ac9-b215-cb0bd87ff362",
            "destinationMoney": {
                "amount": 1,
                "currency": "GBP",
                "presentationAmount": "GBP1.00"
            },
            "exchangeRate": 1,
            "sourceMoney": {
                "amount": 1,
                "currency": "GBP",
                "presentationAmount": "GBP1.00"
            },
            "traceId": "zeihwhp-43gs8iwyf7vd9",
            "datePosted": "2018-09-24T10:03:42.774Z"
        }
    ]
}

Successful Response

Field Type Description
transactionId EntityId Encrypted identifier of the transaction
transactionReference String Transaction unique reference
traceId String Identifier that has been passed to the request will be returned
datePosted DateTime The date/time that the transaction posted.
sourceMoney Object Complex object containing: amount(Number), currency(String) and displayable (String)
destinationMoney Object Complex object containing: amount(Number), currency(String) and displayable (String)
exchangeRate Integer

o UnionPay International (China UnionPay)

We have a partnership with UnionPay and as a principal member we offer a money remittance service back to users in mainland China. We can process payouts from any country in the European Economic Area (EEA) back on to UnionPay cards issued by supported banks and card types in mainland China. These would still be using Pay Any Card/Pay My Card, meaning the request and responses are identical.

The main difference is that China have a State Administration Foreign Exchange called SAFE which opens at 23h00 GMT until 14h00 GMT. Transactions sent within this period are processed instantly. Transactions outside SAFE’s opening times are queued and processed when SAFE opens again in the next day.

o PAC/PMC integration document

The details on how to use API documentation for Pay MyCard (PMC) and Pay AnyCard (PAC) integrations can be found here

o PAC iFrame

PAC iFrame integration document

The details on how to ue API documentation for Pay AnyCard (PAC) integration on iFrame can be found here

• PayAnyBank

An API call used to perform bank payments. To perform a Pay Any Bank transaction, please use the example below replacing key and sourceAccount with the values you have from the previous steps. Pay special attention to the ‘fields’ object. Note that every country has different requirements for bank transactions which should be observed within the data passed. The parameters Money, BankPayee and fields should be changed according to the bank country. The details are shown for each country within the list.

To do a PAB , use this code:

var data = JSON.stringify({
  "money": {
    "amount": 10,
    "currency": "EUR"
  },
  "description": "10 EUR PAB",
  "sourceAccount": "5001000001080652",
  "traceId": "zeihwhp-43gs8iwyf7v4h9k",
  "bankPayee": {
    "country": "IE",
    "currency": "EUR",
    "description": "bank payment description",
    "fields": {
      "IBAN": "IE29AIBK93115212345678",
      "BIC": "BOFIIE2D",
      "BENEFICIARY_ADDRESS_COUNTRY_ISO_CODE":"IE",
      "CUSTOMER_NAME": "Customer Name",
      "BANK_NAME": "Bank of Ireland"
    }
  }
});

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === 4) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "https://demo.mifinity.com/api/payments/pab");
xhr.setRequestHeader("accept", "application/json");
xhr.setRequestHeader("content-type", "application/json");
xhr.setRequestHeader("x-api-version", "1");
xhr.setRequestHeader("key", "sQO8Q3i5-HeD7F0BqVSIN1p......qnjqMDo8Bl0GKUTvexaVm5n7g");
xhr.send(data);

HTTP Request

POST https://demo.mifinity.com/api/payments/pab

Parameter Type Description
Content-Type String Use value ‘application/json’
Accept String Use value ‘application/json’
x-api-version String Use value 1
Key String API key

Parameters

Field Type Required Description
sourceAccount String Account number from which the amount of money will be debited
money Money Transaction value
description String Description for this transfer which min character is 1 and max characters are 25
traceId String Unique transaction identifier. You can assign any value
bankPayee BankPayee Destination account and destination bank data. In demo you can use fake data
executionMode String optional ExcutionMode isan enum, which containing STANDRAD/URGENT/TARGET/SAME_DAY_VALUE
paymentCategoryType String optional ApiPaymentCategory is an enum,which containing GAMING_PAYOUT / REMITTANCE / REFUND / PAYROLL / EXPENSES / E_COMMERCE / TRAVEL / NOT_SET

Money

Field Type Required Description
amount Number Transaction value
currency String Currency code (ISO 4217)

BankPayee

Field Type Required Description
country String Bank payee country code
currency String Bank Payee Currency
entityId String optional BankPayee unique identification number
description String optional Description for this transfer which min character is 1 and max characters are 25
fields Map Map of type String

fields

Field Type Required Description
IBAN String Bank IBAN
BIC String Bank BIC
CUSTOMER_NAME String First and Last Name(Max 70 characters)
BANK_NAME String Alphanumeric (Max 70 characters)
BENEFICIARY_ADDRESS_COUNTRY_ISO_CODE String Country code

Successful response

{

    "payload": [
        {
            "transactionId": "6PX0FjAufQSJ9eEMzjdyuMpFeR4vXI_Ln08rgzdvO-I=",
            "transactionReference": "4c9f3bf3-1c92-4d79-bbf0-b3d85cee2980",
            "traceId": "82595452748399303479",
            "datePosted": "2018-09-24T09:53:52.158Z",
            "sourceMoney": {
                "amount": 10,
                "currency": "EUR",
                "displayable": "EUR10.00"
            },
            "destinationMoney": {
                "amount": 10,
                "currency": "EUR",
                "displayable": "EUR10.00"
            },
            "exchangeRate": 1,
            "totalFees": {
                "amount": 0,
                "currency": "EUR",
                "displayable": "EUR0.00"
            }
        }
    ]
}

Successful Response

Field Type Description
transactionId EntityId Encrypted identifier of the transaction
transactionReference String Transaction unique reference
traceId String Identifier that has been passed to the request will be returned
datePosted DateTime The date/time that the transaction posted.
sourceMoney Object Complex object containing: amount(Number), currency(String) and displayable (String)
destinationMoney Object Complex object containing: amount(Number), currency(String) and displayable (String)
exchangeRate Integer
totalFee Object Complex object containing: amount(Number), currency(String) and displayable (String)

o Bank Detail Fields

Each country can have a different set of bank fields which need to be provided. To determine exactly the fields required, please use the API’s below:

To determine which currencies are supported, please use:

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === 4) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://demo.mifinity.com/api/bank-details-fields/currencies?countryCode=IE");
xhr.setRequestHeader("accept", "application/json");
xhr.setRequestHeader("content-type", "application/json");
xhr.setRequestHeader("x-api-version", "1");
xhr.setRequestHeader("key", "sQO8Q3i5-HeD7F0BqVSIN1p......qnjqMDo8Bl0GKUTvexaVm5n7g");
xhr.send(data);

HTTP Request

GET https://demo.mifinity.com/api/bank-details-fields/currencies?countryCode=IE

Parameter Type Description
Content-Type String Use value ‘application/json’
Accept String Use value ‘application/json’
x-api-version String Use value 1
Key String API key

Parameters

Field Type Required Description
countryCode String Country Code

Successful response

{

    "payload": [
       {
            "currencyCode": "EUR",
            "displayName": "Euro",
            "fractionDigits": 2
        }
    ]
}

Successful Response

Field Type Description
currencyCode String Currency Code
displayName String Name of Currency
fractionDigits Integer Fraction Digits

To determine the bank detail fields needed for each country and currency, please use:

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === 4) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://demo.mifinity.com/api/payees/bank-details-fields?currency=EUR&country=IE");
xhr.setRequestHeader("accept", "application/json");
xhr.setRequestHeader("content-type", "application/json");
xhr.setRequestHeader("x-api-version", "1");
xhr.setRequestHeader("key", "sQO8Q3i5-HeD7F0BqVSIN1p......qnjqMDo8Bl0GKUTvexaVm5n7g");
xhr.send(data);

HTTP Request

GET https://demo.mifinity.com/api/payees/bank-details-fields?currency=EUR&country=IE

Parameter Type Description
Content-Type String Use value ‘application/json’
Accept String Use value ‘application/json’
x-api-version String Use value 1
Key String API key

Parameters

Field Type Required Description
country String true Country Code
currency String true Currency Code

Successful response

{

    "payload": [
       {
            "bankDetailsFieldName": "CUSTOMER_NAME",
            "required": true,
            "format":"([^∞¶•ªº–≠“«…≥÷≤∑œ´®†^π£¬˚∆˙<>{}™₺₴₹!\"#€$%&()*+,./:;=?@^`|~\[-\]\¡-]{2,70})"
        },
        {
            "bankDetailsFieldName": "BANK_NAME",
            "required": true,
            "format":"([^∞¶•ªº–≠“«…≥÷≤∑œ´®†^π£¬˚∆˙<>{}™₺₴₹!\"#€$%&()*+/:;=?@^`|~\[-\]\¡-]{2,70})"
        },
        {
            "bankDetailsFieldName": "IBAN",
            "required": true,
            "format": "IE[A-Z0-9]{20}"
        }
    ]
}

Successful Response

Field Type Description
bankDetailsFieldName String Bank Detail Field Name
required Boolean Required or not
format String Accepted format of Bank Detail Field

o Countries

Argentina Czech Republic Guernsey Luxembourg Reunion
Austria Denmark Hungary Malta Romania
Belgium Estonia Iceland Martinique San Marino
Brazil Finland Ireland Mayotte Slovakia
Bulgaria France Isle of Man Mexico Slovenia
Canada French Guiana Italy Monaco Spain
Chile Germany Jersey Netherlands Sweden
Colombia Gibraltar Latvia Peru Switzerland
Croatia Greece Liechtenstein Poland United Kingdom
Cyprus Guadeloupe Lithuania Portugal Uruguay
1. Argentina
var data = JSON.stringify({
  "money": {
    "amount": 10,
    "currency": "ARS"
  },
  "description": "10 ARS PAB",
  "sourceAccount": "5001000001080652",
  "traceId": "zeihwhp-43gs8iwyf7v4h9k",
  "bankPayee": {
    "country": "AR",
    "currency": "ARS",
    "description": "bank payment description",
    "fields": {
            "ACCOUNT_NUMBER": "0145806057668127441234",
            "PERSONAL_ID_NUMBER": "12345678",
            "ACCOUNT_TYPE": "1",
            "CUSTOMER_NAME": "Customer Name",
            "BANK_NAME": "Name of Bank",
            "CUSTOMER_ADDRESS": "Customer Address",
            "CUSTOMER_EMAIL": "Customer Email",
            "CUSTOMER_PHONE": "Customer Phone",
          }
  }
});

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === 4) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "https://demo.mifinity.com/api/payments/pab");
xhr.setRequestHeader("accept", "application/json");
xhr.setRequestHeader("content-type", "application/json");
xhr.setRequestHeader("x-api-version", "1");
xhr.setRequestHeader("key", "sQO8Q3i5-HeD7F0BqVSIN1p......qnjqMDo8Bl0GKUTvexaVm5n7g");
xhr.send(data);

Money

Field Type Required Description
amount Number Transaction value
currency String Currency code (ISO 4217): ARS

BankPayee

Field Type Required Description
country String Bank payee country code: AR
currency String Bank Payee Currency: ARS
entityId String optional BankPayee unique identification number
description String optional Description for this transfer which min character is 1 and max characters are 25
fields Map Map of type String

fields

Field Type Required Description
ACCOUNT_NUMBER String CBU (22 digits)
PERSONAL_ID_NUMBER String DNI: 8 digits, numeric or CUIT: 11 digits, numeric
ACCOUNT_TYPE String 0: checking account or 1: savings account
CUSTOMER_NAME String First and Last Name(Max 70 characters)
BANK_NAME String Alphanumeric (Max 70 characters)
CUSTOMER_ADDRESS String Alphanumeric (Max 50 characters)
CUSTOMER_EMAIL String Alphanumeric (Max 50 characters)
CUSTOMER_PHONE String Numeric (Max 15 characters)

Successful response

{

    "payload": [
        {
            "transactionId": "6PX0FjAufQSJ9eEMzjdyuMpFeR4vXI_Ln08rgzdvO-I=",
            "transactionReference": "4c9f3bf3-1c92-4d79-bbf0-b3d85cee2980",
            "traceId": "82595452748399303479",
            "datePosted": "2018-09-24T09:53:52.158Z",
            "sourceMoney": {
                "amount": 10,
                "currency": "ARS",
                "displayable": "ARS10.00"
            },
            "destinationMoney": {
                "amount": 10,
                "currency": "ARS",
                "displayable": "ARS10.00"
            },
            "exchangeRate": 1,
            "totalFees": {
                "amount": 0,
                "currency": "ARS",
                "displayable": "ARS0.00"
            }
        }
    ]
}
2. Austria
var data = JSON.stringify({

        "money" : {"amount":10, "currency":"EUR"},
        "description" : "10 EUR PAB",
        "sourceAccount" : "5001000001080652",
        "traceId" : "zeihwhp-43gs8iwyf7v4h9k",
        "bankPayee": {
          "country": "AT",
          "currency": "EUR",
          "description": "bank payment description",
          "fields": {
            "IBAN":"AT022050302101023600",
            "BENEFICIARY_ADDRESS_COUNTRY_ISO_CODE":"AT",
            "CUSTOMER_NAME": "Customer Name",
            "BANK_NAME": "Name of Bank"
          }
  }
});

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === 4) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "https://demo.mifinity.com/api/payments/pab");
xhr.setRequestHeader("accept", "application/json");
xhr.setRequestHeader("content-type", "application/json");
xhr.setRequestHeader("x-api-version", "1");
xhr.setRequestHeader("key", "sQO8Q3i5-HeD7F0BqVSIN1p......qnjqMDo8Bl0GKUTvexaVm5n7g");
xhr.send(data);

Money

Field Type Required Description
amount Number Transaction value
currency String Currency code (ISO 4217): EUR

BankPayee

Field Type Required Description
country String Bank payee country code: AT
currency String Bank Payee Currency: EUR
entityId String optional BankPayee unique identification number
description String optional Description for this transfer which min character is 1 and max characters are 25
fields Map Map of type String

fields

Field Type Required Description
IBAN String Bank IBAN Alphanumeric (20)
CUSTOMER_NAME String First and Last Name(Max 70 characters)
BANK_NAME String Alphanumeric (Max 70 characters)
BENEFICIARY_ADDRESS_COUNTRY_ISO_CODE String Country code

Successful response

{

    "payload": [
        {
            "transactionId": "6PX0FjAufQSJ9eEMzjdyuMpFeR4vXI_Ln08rgzdvO-I=",
            "transactionReference": "4c9f3bf3-1c92-4d79-bbf0-b3d85cee2980",
            "traceId": "82595452748399303479",
            "datePosted": "2018-09-24T09:53:52.158Z",
            "sourceMoney": {
                "amount": 10,
                "currency": "EUR",
                "displayable": "EUR10.00"
            },
            "destinationMoney": {
                "amount": 10,
                "currency": "EUR",
                "displayable": "EUR10.00"
            },
            "exchangeRate": 1,
            "totalFees": {
                "amount": 0,
                "currency": "EUR",
                "displayable": "EUR0.00"
            }
        }
    ]
}
3. Belgium
var data = JSON.stringify({
  "money": {
    "amount": 10,
    "currency": "EUR"
  },
  "description": "10 EUR PAB",
  "sourceAccount": "5001000001080652",
  "traceId": "zeihwhp-43gs8iwyf7v4h9k",
  "bankPayee": {
    "country": "BE",
    "currency": "EUR",
    "description": "bank payment description",
    "fields": {
      "IBAN": "BE68844010370034",
      "BENEFICIARY_ADDRESS_COUNTRY_ISO_CODE":"BE",
      "CUSTOMER_NAME": "Customer Name",
      "BANK_NAME": "Name of Bank"
    }
  }
});

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === 4) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "https://demo.mifinity.com/api/payments/pab");
xhr.setRequestHeader("accept", "application/json");
xhr.setRequestHeader("content-type", "application/json");
xhr.setRequestHeader("x-api-version", "1");
xhr.setRequestHeader("key", "sQO8Q3i5-HeD7F0BqVSIN1p......qnjqMDo8Bl0GKUTvexaVm5n7g");
xhr.send(data);

Money

Field Type Required Description
amount Number Transaction value
currency String Currency code (ISO 4217): EUR

BankPayee

Field Type Required Description
country String Bank payee country code: BE
currency String Bank Payee Currency: EUR
entityId String optional BankPayee unique identification number
description String optional Description for this transfer which min character is 1 and max characters are 25
fields Map Map of type String

fields

Field Type Required Description
IBAN String Bank IBAN: Alphanumeric (16)
CUSTOMER_NAME String First and Last Name(Max 70 characters)
BANK_NAME String Alphanumeric (Max 70 characters)
BENEFICIARY_ADDRESS_COUNTRY_ISO_CODE String Country code

Successful response

{

    "payload": [
        {
            "transactionId": "6PX0FjAufQSJ9eEMzjdyuMpFeR4vXI_Ln08rgzdvO-I=",
            "transactionReference": "4c9f3bf3-1c92-4d79-bbf0-b3d85cee2980",
            "traceId": "82595452748399303479",
            "datePosted": "2018-09-24T09:53:52.158Z",
            "sourceMoney": {
                "amount": 10,
                "currency": "EUR",
                "displayable": "EUR10.00"
            },
            "destinationMoney": {
                "amount": 10,
                "currency": "EUR",
                "displayable": "EUR10.00"
            },
            "exchangeRate": 1,
            "totalFees": {
                "amount": 0,
                "currency": "EUR",
                "displayable": "EUR0.00"
            }
        }
    ]
}
4. Bulgaria
4.1. BGN currency example
var data = JSON.stringify({
  "money": {
    "amount": 10,
    "currency": "BGN"
  },
  "description": "10 BGN PAB",
  "sourceAccount": "5001000001080652",
  "traceId": "zeihwhp-43gs8iwyf7v4h9k",
  "bankPayee": {
    "country": "BG",
    "currency": "BGN",
    "description": "bank payment description",
    "fields": {
      "IBAN": "BG13UNCR70004520615675",
      "CUSTOMER_NAME": "Customer Name",
      "BANK_NAME": "Name of Bank"
    }
  }
});

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === 4) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "https://demo.mifinity.com/api/payments/pab");
xhr.setRequestHeader("accept", "application/json");
xhr.setRequestHeader("content-type", "application/json");
xhr.setRequestHeader("x-api-version", "1");
xhr.setRequestHeader("key", "sQO8Q3i5-HeD7F0BqVSIN1p......qnjqMDo8Bl0GKUTvexaVm5n7g");
xhr.send(data);

Money

Field Type Required Description
amount Number Transaction value
currency String Currency code (ISO 4217): BGN

BankPayee

Field Type Required Description
country String Bank payee country code: BG
currency String Bank Payee Currency: BGN
entityId String optional BankPayee unique identification number
description String optional Description for this transfer which min character is 1 and max characters are 25
fields Map Map of type String

fields

Field Type Required Description
IBAN String Bank IBAN: Alphanumeric (22)
CUSTOMER_NAME String First and Last Name(Max 70 characters)
BANK_NAME String Alphanumeric (Max 70 characters)

Successful response

{

    "payload": [
        {
            "transactionId": "6PX0FjAufQSJ9eEMzjdyuMpFeR4vXI_Ln08rgzdvO-I=",
            "transactionReference": "4c9f3bf3-1c92-4d79-bbf0-b3d85cee2980",
            "traceId": "82595452748399303479",
            "datePosted": "2018-09-24T09:53:52.158Z",
            "sourceMoney": {
                "amount": 10,
                "currency": "BGN",
                "displayable": "BGN10.00"
            },
            "destinationMoney": {
                "amount": 10,
                "currency": "BGN",
                "displayable": "BGN10.00"
            },
            "exchangeRate": 1,
            "totalFees": {
                "amount": 0,
                "currency": "BGN",
                "displayable": "BGN0.00"
            }
        }
    ]
}
4.2. EUR currency example
var data = JSON.stringify({
        "money" : {"amount":10, "currency":"EUR"},
        "description" : "10 EUR PAB",
        "sourceAccount" : "5001000001080652",
        "traceId" : "zeihwhp-43gs8iwyf7v4h9k",
        "bankPayee": {
          "country": "BG",
          "currency": "EUR",
          "description": "bank payment description",
          "fields": {
            "IBAN": "BG80BNBG96611020345678",
            "BENEFICIARY_ADDRESS_COUNTRY_ISO_CODE":"BG",
            "CUSTOMER_NAME": "Customer Name",
            "BANK_NAME": "Name of Bank"
          }
    }
  });

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === 4) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "https://demo.mifinity.com/api/payments/pab");
xhr.setRequestHeader("accept", "application/json");
xhr.setRequestHeader("content-type", "application/json");
xhr.setRequestHeader("x-api-version", "1");
xhr.setRequestHeader("key", "sQO8Q3i5-HeD7F0BqVSIN1p......qnjqMDo8Bl0GKUTvexaVm5n7g");
xhr.send(data);

Money

Field Type Required Description
amount Number Transaction value
currency String Currency code (ISO 4217): EUR

BankPayee

Field Type Required Description
country String Bank payee country code: BG
currency String Bank Payee Currency: EUR
entityId String optional BankPayee unique identification number
description String optional Description for this transfer which min character is 1 and max characters are 25
fields Map Map of type String

fields

Field Type Required Description
IBAN String Bank IBAN: Alphanumeric (22)
CUSTOMER_NAME String First and Last Name(Max 70 characters)
BANK_NAME String Alphanumeric (Max 70 characters)
BENEFICIARY_ADDRESS_COUNTRY_ISO_CODE String Country code

Successful response

{

    "payload": [
        {
            "transactionId": "6PX0FjAufQSJ9eEMzjdyuMpFeR4vXI_Ln08rgzdvO-I=",
            "transactionReference": "4c9f3bf3-1c92-4d79-bbf0-b3d85cee2980",
            "traceId": "82595452748399303479",
            "datePosted": "2018-09-24T09:53:52.158Z",
            "sourceMoney": {
                "amount": 10,
                "currency": "EUR",
                "displayable": "EUR10.00"
            },
            "destinationMoney": {
                "amount": 10,
                "currency": "EUR",
                "displayable": "EUR10.00"
            },
            "exchangeRate": 1,
            "totalFees": {
                "amount": 0,
                "currency": "EUR",
                "displayable": "EUR0.00"
            }
        }
    ]
}
5. Brazil
var data = JSON.stringify({
  "money": {
    "amount": 10,
    "currency": "BRL"
  },
  "description": "10 BRL PAB",
  "sourceAccount": "5001000001080652",
  "traceId": "zeihwhp-43gs8iwyf7v4h9k",
  "bankPayee": {
    "country": "BR",
    "currency": "BRL",
    "description": "bank payment description",
    "fields": {
     "ACCOUNT_NUMBER": "014580605766",
            "BRANCH_CODE": "12345",
            "PERSONAL_ID_NUMBER": "12345678901",
            "ACCOUNT_TYPE": "1",
            "CUSTOMER_NAME": "Customer Name",
            "BANK_NAME": "Name of Bank"
    }
  }
});

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === 4) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "https://demo.mifinity.com/api/payments/pab");
xhr.setRequestHeader("accept", "application/json");
xhr.setRequestHeader("content-type", "application/json");
xhr.setRequestHeader("x-api-version", "1");
xhr.setRequestHeader("key", "sQO8Q3i5-HeD7F0BqVSIN1p......qnjqMDo8Bl0GKUTvexaVm5n7g");
xhr.send(data);

Money

Field Type Required Description
amount Number Transaction value
currency String Currency code (ISO 4217): BRL

BankPayee

Field Type Required Description
country String Bank payee country code: BR
currency String Bank Payee Currency: BRL
entityId String optional BankPayee unique identification number
description String optional Description for this transfer which min character is 1 and max characters are 25
fields Map Map of type String

fields

Field Type Required Description
ACCOUNT_NUMBER String (6 - 12 digits)
BRANCH_CODE String (4 or 5 digits)
PERSONAL_ID_NUMBER String CPF: 11 digits, numeric or CPNJ: 13 digits, numeric
ACCOUNT_TYPE String 0: checking account or 1: savings account
CUSTOMER_NAME String First and Last Name(Max 70 characters)
BANK_NAME String Alphanumeric (Max 70 characters)

Successful response

{

    "payload": [
        {
            "transactionId": "6PX0FjAufQSJ9eEMzjdyuMpFeR4vXI_Ln08rgzdvO-I=",
            "transactionReference": "4c9f3bf3-1c92-4d79-bbf0-b3d85cee2980",
            "traceId": "82595452748399303479",
            "datePosted": "2018-09-24T09:53:52.158Z",
            "sourceMoney": {
                "amount": 10,
                "currency": "BRL",
                "displayable": "BRL10.00"
            },
            "destinationMoney": {
                "amount": 10,
                "currency": "BRL",
                "displayable": "BRL10.00"
            },
            "exchangeRate": 1,
            "totalFees": {
                "amount": 0,
                "currency": "BRL",
                "displayable": "BRL0.00"
            }
        }
    ]
}
6. Canada
var data = JSON.stringify({
  "money": {
    "amount": 10,
    "currency": "CAD"
  },
  "description": "10 CAD PAB",
  "sourceAccount": "5001000001080652",
  "traceId": "zeihwhp-43gs8iwyf7v4h9k",
  "bankPayee": {
    "country": "CA",
    "currency": "CAD",
    "description": "bank payment description",
    "fields": {
     "ACCOUNT_NUMBER": "0145806",
            "BANK_CODE": "123",
            "BRANCH_CODE": "12345",
            "CUSTOMER_NAME": "Customer Name",
            "BANK_NAME": "Name of Bank"
    }
  }
});

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === 4) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "https://demo.mifinity.com/api/payments/pab");
xhr.setRequestHeader("accept", "application/json");
xhr.setRequestHeader("content-type", "application/json");
xhr.setRequestHeader("x-api-version", "1");
xhr.setRequestHeader("key", "sQO8Q3i5-HeD7F0BqVSIN1p......qnjqMDo8Bl0GKUTvexaVm5n7g");
xhr.send(data);

Money

Field Type Required Description
amount Number Transaction value
currency String Currency code (ISO 4217): CAD

BankPayee

Field Type Required Description
country String Bank payee country code: CA
currency String Bank Payee Currency: CAD
entityId String optional BankPayee unique identification number
description String optional Description for this transfer which min character is 1 and max characters are 25
fields Map Map of type String

fields

Field Type Required Description
ACCOUNT_NUMBER String (7-12 digits)
BANK_CODE String normally 3 digits
BRANCH_CODE String normally 5 digits (transit code)
CUSTOMER_NAME String First and Last Name(Max 70 characters)
BANK_NAME String Alphanumeric (Max 70 characters)

Successful response

{

    "payload": [
        {
            "transactionId": "6PX0FjAufQSJ9eEMzjdyuMpFeR4vXI_Ln08rgzdvO-I=",
            "transactionReference": "4c9f3bf3-1c92-4d79-bbf0-b3d85cee2980",
            "traceId": "82595452748399303479",
            "datePosted": "2018-09-24T09:53:52.158Z",
            "sourceMoney": {
                "amount": 10,
                "currency": "CAD",
                "displayable": "CAD10.00"
            },
            "destinationMoney": {
                "amount": 10,
                "currency": "CAD",
                "displayable": "CAD10.00"
            },
            "exchangeRate": 1,
            "totalFees": {
                "amount": 0,
                "currency": "CAD",
                "displayable": "CAD0.00"
            }
        }
    ]
}
7. Switzerland
var data = JSON.stringify({
  "money": {
    "amount": 10,
    "currency": "EUR"
  },
  "description": "10 EUR PAB",
  "sourceAccount": "5001000001080652",
  "traceId": "zeihwhp-43gs8iwyf7v4h9k",
  "bankPayee": {
    "country": "CH",
    "currency": "EUR",
    "description": "bank payment description",
    "fields": {
      "IBAN": "CH5604835012345678009",
      "BENEFICIARY_ADDRESS_COUNTRY_ISO_CODE":"CH",
      "CUSTOMER_NAME": "Customer Name",
      "BANK_NAME": "Name of Bank"
    }
  }
});

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === 4) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "https://demo.mifinity.com/api/payments/pab");
xhr.setRequestHeader("accept", "application/json");
xhr.setRequestHeader("content-type", "application/json");
xhr.setRequestHeader("x-api-version", "1");
xhr.setRequestHeader("key", "sQO8Q3i5-HeD7F0BqVSIN1p......qnjqMDo8Bl0GKUTvexaVm5n7g");
xhr.send(data);

Money

Field Type Required Description
amount Number Transaction value
currency String Currency code (ISO 4217): EUR

BankPayee

Field Type Required Description
country String Bank payee country code: CH
currency String Bank Payee Currency: EUR
entityId String optional BankPayee unique identification number
description String optional Description for this transfer which min character is 1 and max characters are 25
fields Map Map of type String

fields

Field Type Required Description
IBAN String Bank IBAN: Alphanumeric (21)
CUSTOMER_NAME String First and Last Name(Max 70 characters)
BANK_NAME String Alphanumeric (Max 70 characters)
BENEFICIARY_ADDRESS_COUNTRY_ISO_CODE String Country code

Successful response

{

    "payload": [
        {
            "transactionId": "6PX0FjAufQSJ9eEMzjdyuMpFeR4vXI_Ln08rgzdvO-I=",
            "transactionReference": "4c9f3bf3-1c92-4d79-bbf0-b3d85cee2980",
            "traceId": "82595452748399303479",
            "datePosted": "2018-09-24T09:53:52.158Z",
            "sourceMoney": {
                "amount": 10,
                "currency": "EUR",
                "displayable": "EUR10.00"
            },
            "destinationMoney": {
                "amount": 10,
                "currency": "EUR",
                "displayable": "EUR10.00"
            },
            "exchangeRate": 1,
            "totalFees": {
                "amount": 0,
                "currency": "EUR",
                "displayable": "EUR0.00"
            }
        }
    ]
}
8. Chile
var data = JSON.stringify({
   "money" : {"amount":10, "currency":"CLP"},
        "description" : "10 CLP PAB",
        "sourceAccount" : "5001000001080652",
        "traceId" : "zeihwhp-43gs8iwyf7v4h9k",
        "bankPayee": {
          "country": "CL",
          "currency": "CLP",
          "description": "bank payment description",
          "fields": {
            "ACCOUNT_NUMBER": "0145806057668124",
            "PERSONAL_ID_NUMBER": "12345678",
            "ACCOUNT_TYPE": "1",
            "CUSTOMER_NAME": "Customer Name",
            "BANK_NAME": "Name of Bank"
          }
  }
});

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === 4) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "https://demo.mifinity.com/api/payments/pab");
xhr.setRequestHeader("accept", "application/json");
xhr.setRequestHeader("content-type", "application/json");
xhr.setRequestHeader("x-api-version", "1");
xhr.setRequestHeader("key", "sQO8Q3i5-HeD7F0BqVSIN1p......qnjqMDo8Bl0GKUTvexaVm5n7g");
xhr.send(data);

Money

Field Type Required Description
amount Number Transaction value
currency String Currency code (ISO 4217): CLP

BankPayee

Field Type Required Description
country String Bank payee country code: CL
currency String Bank Payee Currency: CLP
entityId String optional BankPayee unique identification number
description String optional Description for this transfer which min character is 1 and max characters are 25
fields Map Map of type String

fields

Field Type Required Description
ACCOUNT_NUMBER String (4-16 digits)
PERSONAL_ID_NUMBER String RUT: 8 or 9 alphanumeric characters
ACCOUNT_TYPE String 0: checking account or 1: savings account
CUSTOMER_NAME String First and Last Name(Max 70 characters)
BANK_NAME String Alphanumeric (Max 70 characters)

Successful response

{

    "payload": [
        {
            "transactionId": "6PX0FjAufQSJ9eEMzjdyuMpFeR4vXI_Ln08rgzdvO-I=",
            "transactionReference": "4c9f3bf3-1c92-4d79-bbf0-b3d85cee2980",
            "traceId": "82595452748399303479",
            "datePosted": "2018-09-24T09:53:52.158Z",
            "sourceMoney": {
                "amount": 10,
                "currency": "CLP",
                "displayable": "CLP10.00"
            },
            "destinationMoney": {
                "amount": 10,
                "currency": "CLP",
                "displayable": "CLP10.00"
            },
            "exchangeRate": 1,
            "totalFees": {
                "amount": 0,
                "currency": "CLP",
                "displayable": "CLP0.00"
            }
        }
    ]
}
9. Colombia
var data = JSON.stringify({
  "money" : {"amount":3600, "currency":"COP"},
        "description" : "3600 COP PAB",
        "sourceAccount" : "5001000001080652",
        "traceId" : "zeihwhp-43gs8iwyf7v4h9k",
        "bankPayee": {
          "country": "CO",
          "currency": "COP",
          "description": "bank payment description",
          "fields": {
             "ACCOUNT_NUMBER": "014580605766",
            "PERSONAL_ID_NUMBER": "12345678",
            "ACCOUNT_TYPE": "1",
            "CUSTOMER_NAME": "Customer Name",
            "BANK_NAME": "Name of Bank"
          }
  }
});

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === 4) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "https://demo.mifinity.com/api/payments/pab");
xhr.setRequestHeader("accept", "application/json");
xhr.setRequestHeader("content-type", "application/json");
xhr.setRequestHeader("x-api-version", "1");
xhr.setRequestHeader("key", "sQO8Q3i5-HeD7F0BqVSIN1p......qnjqMDo8Bl0GKUTvexaVm5n7g");
xhr.send(data);

Money

Field Type Required Description
amount Number Transaction value
currency String Currency code (ISO 4217): COP

BankPayee

Field Type Required Description
country String Bank payee country code: CO
currency String Bank Payee Currency: COP
entityId String optional BankPayee unique identification number
description String optional Description for this transfer which min character is 1 and max characters are 25
fields Map Map of type String

fields

Field Type Required Description
ACCOUNT_NUMBER String (8-12 digits)
PERSONAL_ID_NUMBER String Cedula de Ciudadania “CC”: 8 - 10 digits, numeric
ACCOUNT_TYPE String 0: checking account or 1: savings account
CUSTOMER_NAME String First and Last Name(Max 70 characters)
BANK_NAME String Alphanumeric (Max 70 characters)

Successful response

{

    "payload": [
        {
            "transactionId": "6PX0FjAufQSJ9eEMzjdyuMpFeR4vXI_Ln08rgzdvO-I=",
            "transactionReference": "4c9f3bf3-1c92-4d79-bbf0-b3d85cee2980",
            "traceId": "82595452748399303479",
            "datePosted": "2018-09-24T09:53:52.158Z",
            "sourceMoney": {
                "amount": 10,
                "currency": "COP",
                "displayable": "COP3600.00"
            },
            "destinationMoney": {
                "amount": 10,
                "currency": "COP",
                "displayable": "COP3600.00"
            },
            "exchangeRate": 1,
            "totalFees": {
                "amount": 0,
                "currency": "COP",
                "displayable": "COP0.00"
            }
        }
    ]
}
10. Cyprus
var data = JSON.stringify({
  "money": {
    "amount": 10,
    "currency": "EUR"
  },
  "description": "10 EUR PAB",
  "sourceAccount": "5001000001080652",
  "traceId": "zeihwhp-43gs8iwyf7v4h9k",
  "bankPayee": {
    "country": "CY",
    "currency": "EUR",
    "description": "bank payment description",
    "fields": {
      "IBAN": "CY17002001280000001200527600",
      "BENEFICIARY_ADDRESS_COUNTRY_ISO_CODE":"CY",
      "CUSTOMER_NAME": "Customer Name",
      "BANK_NAME": "Name of Bank"
    }
  }
});

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === 4) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "https://demo.mifinity.com/api/payments/pab");
xhr.setRequestHeader("accept", "application/json");
xhr.setRequestHeader("content-type", "application/json");
xhr.setRequestHeader("x-api-version", "1");
xhr.setRequestHeader("key", "sQO8Q3i5-HeD7F0BqVSIN1p......qnjqMDo8Bl0GKUTvexaVm5n7g");
xhr.send(data);

Money

Field Type Required Description
amount Number Transaction value
currency String Currency code (ISO 4217): EUR

BankPayee

Field Type Required Description
country String Bank payee country code: CY
currency String Bank Payee Currency: EUR
entityId String optional BankPayee unique identification number
description String optional Description for this transfer which min character is 1 and max characters are 25
fields Map Map of type String

fields

Field Type Required Description
IBAN String Bank IBAN: Alphanumeric (28)
CUSTOMER_NAME String First and Last Name(Max 70 characters)
BANK_NAME String Alphanumeric (Max 70 characters)
BENEFICIARY_ADDRESS_COUNTRY_ISO_CODE String Country code

Successful response

{

    "payload": [
        {
            "transactionId": "6PX0FjAufQSJ9eEMzjdyuMpFeR4vXI_Ln08rgzdvO-I=",
            "transactionReference": "4c9f3bf3-1c92-4d79-bbf0-b3d85cee2980",
            "traceId": "82595452748399303479",
            "datePosted": "2018-09-24T09:53:52.158Z",
            "sourceMoney": {
                "amount": 10,
                "currency": "EUR",
                "displayable": "EUR10.00"
            },
            "destinationMoney": {
                "amount": 10,
                "currency": "EUR",
                "displayable": "EUR10.00"
            },
            "exchangeRate": 1,
            "totalFees": {
                "amount": 0,
                "currency": "EUR",
                "displayable": "EUR0.00"
            }
        }
    ]
}
11. Czech Republic
11.1. CZK currency example
var data = JSON.stringify({
        "money" : {"amount":10, "currency":"CZK"},
        "description" : "10 CZK PAB",
        "sourceAccount" : "5001000001080652",
        "traceId" : "zeihwhp-43gs8iwyf7v4h9k",
        "bankPayee": {
          "country": "CZ",
          "currency": "CZK",
          "description": "bank payment description",
          "fields": {
            "ACCOUNT_NUMBER": "0000192000145399",
            "BANK_CODE": "0800",
            "CUSTOMER_ADDRESS": "asdsasadsadsadas",
            "CUSTOMER_CITY": "city",
            "BENEFICIARY_ADDRESS_COUNTRY_ISO_CODE":"CZ",
            "CUSTOMER_NAME": "Customer Name",
            "BANK_NAME": "Name of Bank"
          }
  }
});

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === 4) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "https://demo.mifinity.com/api/payments/pab");
xhr.setRequestHeader("accept", "application/json");
xhr.setRequestHeader("content-type", "application/json");
xhr.setRequestHeader("x-api-version", "1");
xhr.setRequestHeader("key", "sQO8Q3i5-HeD7F0BqVSIN1p......qnjqMDo8Bl0GKUTvexaVm5n7g");
xhr.send(data);

Money

Field Type Required Description
amount Number Transaction value
currency String Currency code (ISO 4217): CZK

BankPayee

Field Type Required Description
country String Bank payee country code: CZ
currency String Bank Payee Currency: CZK
entityId String optional BankPayee unique identification number
description String optional Description for this transfer which min character is 1 and max characters are 25
fields Map Map of type String

fields

Field Type Required Description
ACCOUNT_NUMBER String 16 digits
BANK_CODE String 4 digits
CUSTOMER_CITY String Alphanumeric (Max 25 characters
CUSTOMER_ADDRESS String Alphanumeric (Max 25 characters
CUSTOMER_NAME String First and Last Name(Max 70 characters)
BANK_NAME String Alphanumeric (Max 70 characters)
BENEFICIARY_ADDRESS_COUNTRY_ISO_CODE String Country code

Successful response

{

    "payload": [
        {
            "transactionId": "6PX0FjAufQSJ9eEMzjdyuMpFeR4vXI_Ln08rgzdvO-I=",
            "transactionReference": "4c9f3bf3-1c92-4d79-bbf0-b3d85cee2980",
            "traceId": "82595452748399303479",
            "datePosted": "2018-09-24T09:53:52.158Z",
            "sourceMoney": {
                "amount": 10,
                "currency": "CZK",
                "displayable": "CZK10.00"
            },
            "destinationMoney": {
                "amount": 10,
                "currency": "CZK",
                "displayable": "CZK10.00"
            },
            "exchangeRate": 1,
            "totalFees": {
                "amount": 0,
                "currency": "CZK",
                "displayable": "CZK0.00"
            }
        }
    ]
}
11.2. EUR currency example
var data = JSON.stringify({
        "money" : {"amount":10, "currency":"EUR"},
        "description" : "10 EUR PAB",
        "sourceAccount" : "5001000001080652",
        "traceId" : "zeihwhp-43gs8iwyf7v4h9k",
        "bankPayee": {
          "country": "CZ",
          "currency": "EUR",
          "description": "bank payment description",
           "fields": {
            "IBAN": "CZ6508000000192000145399",
            "BENEFICIARY_ADDRESS_COUNTRY_ISO_CODE":"CZ",
            "CUSTOMER_NAME": "Customer Name",
            "BANK_NAME": "Name of Bank"
          }
  }
});

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === 4) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "https://demo.mifinity.com/api/payments/pab");
xhr.setRequestHeader("accept", "application/json");
xhr.setRequestHeader("content-type", "application/json");
xhr.setRequestHeader("x-api-version", "1");
xhr.setRequestHeader("key", "sQO8Q3i5-HeD7F0BqVSIN1p......qnjqMDo8Bl0GKUTvexaVm5n7g");
xhr.send(data);

Money

Field Type Required Description
amount Number Transaction value
currency String Currency code (ISO 4217): EUR

BankPayee

Field Type Required Description
country String Bank payee country code: CZ
currency String Bank Payee Currency: EUR
entityId String optional BankPayee unique identification number
description String optional Description for this transfer which min character is 1 and max characters are 25
fields Map Map of type String

fields

Field Type Required Description
IBAN String Bank IBAN: Alphanumeric (24)
CUSTOMER_NAME String First and Last Name(Max 70 characters)
BANK_NAME String Alphanumeric (Max 70 characters)
BENEFICIARY_ADDRESS_COUNTRY_ISO_CODE String Country code

Successful response

{

    "payload": [
        {
            "transactionId": "6PX0FjAufQSJ9eEMzjdyuMpFeR4vXI_Ln08rgzdvO-I=",
            "transactionReference": "4c9f3bf3-1c92-4d79-bbf0-b3d85cee2980",
            "traceId": "82595452748399303479",
            "datePosted": "2018-09-24T09:53:52.158Z",
            "sourceMoney": {
                "amount": 10,
                "currency": "EUR",
                "displayable": "EUR10.00"
            },
            "destinationMoney": {
                "amount": 10,
                "currency": "EUR",
                "displayable": "EUR10.00"
            },
            "exchangeRate": 1,
            "totalFees": {
                "amount": 0,
                "currency": "EUR",
                "displayable": "EUR0.00"
            }
        }
    ]
}
12. Germany
var data = JSON.stringify({
        "money" : {"amount":10, "currency":"EUR"},
        "description" : "10 EUR PAB",
        "sourceAccount" : "5001000001080652",
        "traceId" : "zeihwhp-43gs8iwyf7v4h9k",
        "bankPayee": {
          "country": "DE",
          "currency": "EUR",
          "description": "bank payment description",
          "fields": {
            "IBAN": "DE89370400440532013000",
            "BENEFICIARY_ADDRESS_COUNTRY_ISO_CODE":"DE",
            "CUSTOMER_NAME": "Customer Name",
            "BANK_NAME": "Name of Bank"
          }
  }
});

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === 4) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "https://demo.mifinity.com/api/payments/pab");
xhr.setRequestHeader("accept", "application/json");
xhr.setRequestHeader("content-type", "application/json");
xhr.setRequestHeader("x-api-version", "1");
xhr.setRequestHeader("key", "sQO8Q3i5-HeD7F0BqVSIN1p......qnjqMDo8Bl0GKUTvexaVm5n7g");
xhr.send(data);

Money

Field Type Required Description
amount Number Transaction value
currency String Currency code (ISO 4217): EUR

BankPayee

Field Type Required Description
country String Bank payee country code: DE
currency String Bank Payee Currency: EUR
entityId String optional BankPayee unique identification number
description String optional Description for this transfer which min character is 1 and max characters are 25
fields Map Map of type String

fields

Field Type Required Description
IBAN String Bank IBAN: Alphanumeric (22)
CUSTOMER_NAME String First and Last Name(Max 70 characters)
BANK_NAME String Alphanumeric (Max 70 characters)
BENEFICIARY_ADDRESS_COUNTRY_ISO_CODE String Country code

Successful response

{

    "payload": [
        {
            "transactionId": "6PX0FjAufQSJ9eEMzjdyuMpFeR4vXI_Ln08rgzdvO-I=",
            "transactionReference": "4c9f3bf3-1c92-4d79-bbf0-b3d85cee2980",
            "traceId": "82595452748399303479",
            "datePosted": "2018-09-24T09:53:52.158Z",
            "sourceMoney": {
                "amount": 10,
                "currency": "EUR",
                "displayable": "EUR10.00"
            },
            "destinationMoney": {
                "amount": 10,
                "currency": "EUR",
                "displayable": "EUR10.00"
            },
            "exchangeRate": 1,
            "totalFees": {
                "amount": 0,
                "currency": "EUR",
                "displayable": "EUR0.00"
            }
        }
    ]
}
13. Denmark
13.1. EUR currency example
var data = JSON.stringify({
         "money" : {"amount":10, "currency":"EUR"},
        "description" : "10 EUR PAB",
        "sourceAccount" : "5001000001080652",
        "traceId" : "zeihwhp-43gs8iwyf7v4h9k",
        "bankPayee": {
          "country": "DK",
          "currency": "EUR",
          "description": "bank payment description",
          "fields": {
            "IBAN": "DK5000400440116243",
            "BENEFICIARY_ADDRESS_COUNTRY_ISO_CODE":"DK",
            "CUSTOMER_NAME": "Customer Name",
            "BANK_NAME": "Name of Bank"
          }
  }
});

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === 4) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "https://demo.mifinity.com/api/payments/pab");
xhr.setRequestHeader("accept", "application/json");
xhr.setRequestHeader("content-type", "application/json");
xhr.setRequestHeader("x-api-version", "1");
xhr.setRequestHeader("key", "sQO8Q3i5-HeD7F0BqVSIN1p......qnjqMDo8Bl0GKUTvexaVm5n7g");
xhr.send(data);

Money

Field Type Required Description
amount Number Transaction value
currency String Currency code (ISO 4217): EUR

BankPayee

Field Type Required Description
country String Bank payee country code: DK
currency String Bank Payee Currency: EUR
entityId String optional BankPayee unique identification number
description String optional Description for this transfer which min character is 1 and max characters are 25
fields Map Map of type String

fields

Field Type Required Description
IBAN String Bank IBAN: Alphanumeric (18
CUSTOMER_NAME String First and Last Name(Max 70 characters)
BANK_NAME String Alphanumeric (Max 70 characters)
BENEFICIARY_ADDRESS_COUNTRY_ISO_CODE String Country code

Successful response

{

    "payload": [
        {
            "transactionId": "6PX0FjAufQSJ9eEMzjdyuMpFeR4vXI_Ln08rgzdvO-I=",
            "transactionReference": "4c9f3bf3-1c92-4d79-bbf0-b3d85cee2980",
            "traceId": "82595452748399303479",
            "datePosted": "2018-09-24T09:53:52.158Z",
            "sourceMoney": {
                "amount": 10,
                "currency": "EUR",
                "displayable": "EUR10.00"
            },
            "destinationMoney": {
                "amount": 10,
                "currency": "EUR",
                "displayable": "EUR10.00"
            },
            "exchangeRate": 1,
            "totalFees": {
                "amount": 0,
                "currency": "EUR",
                "displayable": "EUR0.00"
            }
        }
    ]
}
13.2. DKK currency example
var data = JSON.stringify({
        "money" : {"amount":10, "currency":"DKK"},
        "description" : "10 DKK PAB",
        "sourceAccount" : "5001000001080652",
        "traceId" : "zeihwhp-43gs8iwyf7v4h9k",
        "bankPayee": {
          "country": "DK",
          "currency": "DKK",
          "description": "bank payment description",
          "fields": {
            "ACCOUNT_NUMBER": "044011624",
            "BANK_CODE": "0040",
            "CUSTOMER_NAME": "Customer Name",
            "BANK_NAME": "Name of Bank"
          }
  }
});

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === 4) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "https://demo.mifinity.com/api/payments/pab");
xhr.setRequestHeader("accept", "application/json");
xhr.setRequestHeader("content-type", "application/json");
xhr.setRequestHeader("x-api-version", "1");
xhr.setRequestHeader("key", "sQO8Q3i5-HeD7F0BqVSIN1p......qnjqMDo8Bl0GKUTvexaVm5n7g");
xhr.send(data);

Money

Field Type Required Description
amount Number Transaction value
currency String Currency code (ISO 4217): DKK

BankPayee

Field Type Required Description
country String Bank payee country code: DK
currency String Bank Payee Currency: DKK
entityId String optional BankPayee unique identification number
description String optional Description for this transfer which min character is 1 and max characters are 25
fields Map Map of type String

fields

Field Type Required Description
ACCOUNT_NUMBER String (Min 4, Max 10 digits)
BANK_CODE String (4 digits)
CUSTOMER_NAME String First and Last Name(Max 70 characters)
BANK_NAME String Alphanumeric (Max 70 characters)

Successful response

{

    "payload": [
        {
            "transactionId": "6PX0FjAufQSJ9eEMzjdyuMpFeR4vXI_Ln08rgzdvO-I=",
            "transactionReference": "4c9f3bf3-1c92-4d79-bbf0-b3d85cee2980",
            "traceId": "82595452748399303479",
            "datePosted": "2018-09-24T09:53:52.158Z",
            "sourceMoney": {
                "amount": 10,
                "currency": "DKK",
                "displayable": "DKK10.00"
            },
            "destinationMoney": {
                "amount": 10,
                "currency": "DKK",
                "displayable": "DKK10.00"
            },
            "exchangeRate": 1,
            "totalFees": {
                "amount": 0,
                "currency": "DKK",
                "displayable": "DKK0.00"
            }
        }
    ]
}
14. Estonia
var data = JSON.stringify({
        "money" : {"amount":10, "currency":"EUR"},
        "description" : "10 EUR PAB",
        "sourceAccount" : "5001000001080652",
        "traceId" : "zeihwhp-43gs8iwyf7v4h9k",
        "bankPayee": {
          "country": "EE",
          "currency": "EUR",
          "description": "bank payment description",
          "fields": {
            "IBAN":"EE382200221020145685",
            "BENEFICIARY_ADDRESS_COUNTRY_ISO_CODE":"EE",
            "CUSTOMER_NAME": "Customer Name",
            "BANK_NAME": "Name of Bank"
          }
  }
});

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === 4) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "https://demo.mifinity.com/api/payments/pab");
xhr.setRequestHeader("accept", "application/json");
xhr.setRequestHeader("content-type", "application/json");
xhr.setRequestHeader("x-api-version", "1");
xhr.setRequestHeader("key", "sQO8Q3i5-HeD7F0BqVSIN1p......qnjqMDo8Bl0GKUTvexaVm5n7g");
xhr.send(data);

Money

Field Type Required Description
amount Number Transaction value
currency String Currency code (ISO 4217):EUR

BankPayee

Field Type Required Description
country String Bank payee country code: EE
currency String Bank Payee Currency: EUR
entityId String optional BankPayee unique identification number
description String optional Description for this transfer which min character is 1 and max characters are 25
fields Map Map of type String

fields

Field Type Required Description
IBAN String Bank IBAN: Alphanumeric (18)
CUSTOMER_NAME String First and Last Name(Max 70 characters)
BANK_NAME String Alphanumeric (Max 70 characters)
BENEFICIARY_ADDRESS_COUNTRY_ISO_CODE String Country code

Successful response

{

    "payload": [
        {
            "transactionId": "6PX0FjAufQSJ9eEMzjdyuMpFeR4vXI_Ln08rgzdvO-I=",
            "transactionReference": "4c9f3bf3-1c92-4d79-bbf0-b3d85cee2980",
            "traceId": "82595452748399303479",
            "datePosted": "2018-09-24T09:53:52.158Z",
            "sourceMoney": {
                "amount": 10,
                "currency": "EUR",
                "displayable": "EUR10.00"
            },
            "destinationMoney": {
                "amount": 10,
                "currency": "EUR",
                "displayable": "EUR10.00"
            },
            "exchangeRate": 1,
            "totalFees": {
                "amount": 0,
                "currency": "EUR",
                "displayable": "EUR0.00"
            }
        }
    ]
}
15. Spain
var data = JSON.stringify({
       "money" : {"amount":10, "currency":"EUR"},
        "description" : "10 EUR PAB",
        "sourceAccount" : "5001000001080652",
        "traceId" : "zeihwhp-43gs8iwyf7v4h9k",
        "bankPayee": {
          "country": "ES",
          "currency": "EUR",
          "description": "bank payment description",
          "fields": {
            "IBAN": "ES8701820004756386447000",
            "BENEFICIARY_ADDRESS_COUNTRY_ISO_CODE":"ES",
            "CUSTOMER_NAME": "Customer Name",
            "BANK_NAME": "Name of Bank"
          }
  }
});

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === 4) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "https://demo.mifinity.com/api/payments/pab");
xhr.setRequestHeader("accept", "application/json");
xhr.setRequestHeader("content-type", "application/json");
xhr.setRequestHeader("x-api-version", "1");
xhr.setRequestHeader("key", "sQO8Q3i5-HeD7F0BqVSIN1p......qnjqMDo8Bl0GKUTvexaVm5n7g");
xhr.send(data);

Money

Field Type Required Description
amount Number Transaction value
currency String Currency code (ISO 4217): EUR

BankPayee

Field Type Required Description
country String Bank payee country code: ES
currency String Bank Payee Currency: EUR
entityId String optional BankPayee unique identification number
description String optional Description for this transfer which min character is 1 and max characters are 25
fields Map Map of type String

fields

Field Type Required Description
IBAN String Bank IBAN: Alphanumeric (24)
CUSTOMER_NAME String First and Last Name(Max 70 characters)
BANK_NAME String Alphanumeric (Max 70 characters)
BENEFICIARY_ADDRESS_COUNTRY_ISO_CODE String Country code

Successful response

{

    "payload": [
        {
            "transactionId": "6PX0FjAufQSJ9eEMzjdyuMpFeR4vXI_Ln08rgzdvO-I=",
            "transactionReference": "4c9f3bf3-1c92-4d79-bbf0-b3d85cee2980",
            "traceId": "82595452748399303479",
            "datePosted": "2018-09-24T09:53:52.158Z",
            "sourceMoney": {
                "amount": 10,
                "currency": "EUR",
                "displayable": "EUR10.00"
            },
            "destinationMoney": {
                "amount": 10,
                "currency": "EUR",
                "displayable": "EUR10.00"
            },
            "exchangeRate": 1,
            "totalFees": {
                "amount": 0,
                "currency": "EUR",
                "displayable": "EUR0.00"
            }
        }
    ]
}
16. Finland
var data = JSON.stringify({
   "money" : {"amount":10, "currency":"EUR"},
        "description" : "10 EUR PAB",
        "sourceAccount" : "5001000001080652",
        "traceId" : "zeihwhp-43gs8iwyf7v4h9k",
        "bankPayee": {
          "country": "FI",
          "currency": "EUR",
          "description": "bank payment description",
          "fields": {
            "IBAN": "FI2112345600000785",
            "BENEFICIARY_ADDRESS_COUNTRY_ISO_CODE":"FI",
            "CUSTOMER_NAME": "Customer Name",
            "BANK_NAME": "Name of Bank"
          }
  }
});

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === 4) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "https://demo.mifinity.com/api/payments/pab");
xhr.setRequestHeader("accept", "application/json");
xhr.setRequestHeader("content-type", "application/json");
xhr.setRequestHeader("x-api-version", "1");
xhr.setRequestHeader("key", "sQO8Q3i5-HeD7F0BqVSIN1p......qnjqMDo8Bl0GKUTvexaVm5n7g");
xhr.send(data);

Money

Field Type Required Description
amount Number Transaction value
currency String Currency code (ISO 4217): EUR

BankPayee

Field Type Required Description
country String Bank payee country code: FI
currency String Bank Payee Currency: EUR
entityId String optional BankPayee unique identification number
description String optional Description for this transfer which min character is 1 and max characters are 25
fields Map Map of type String

fields

Field Type Required Description
IBAN String Bank IBAN: Alphanumeric (18)
CUSTOMER_NAME String First and Last Name(Max 70 characters)
BANK_NAME String Alphanumeric (Max 70 characters)
BENEFICIARY_ADDRESS_COUNTRY_ISO_CODE String Country code

Successful response

{

    "payload": [
        {
            "transactionId": "6PX0FjAufQSJ9eEMzjdyuMpFeR4vXI_Ln08rgzdvO-I=",
            "transactionReference": "4c9f3bf3-1c92-4d79-bbf0-b3d85cee2980",
            "traceId": "82595452748399303479",
            "datePosted": "2018-09-24T09:53:52.158Z",
            "sourceMoney": {
                "amount": 10,
                "currency": "EUR",
                "displayable": "EUR10.00"
            },
            "destinationMoney": {
                "amount": 10,
                "currency": "EUR",
                "displayable": "EUR10.00"
            },
            "exchangeRate": 1,
            "totalFees": {
                "amount": 0,
                "currency": "EUR",
                "displayable": "EUR0.00"
            }
        }
    ]
}
17. France
var data = JSON.stringify({
  "money" : {"amount":10, "currency":"EUR"},
        "description" : "10 EUR PAB",
        "sourceAccount" : "5001000001080652",
        "traceId" : "zeihwhp-43gs8iwyf7v4h9k",
        "bankPayee": {
          "country": "FR",
          "currency": "EUR",
          "description": "bank payment description",
          "fields": {
            "IBAN": "FR1420041010050500013M02606",
            "BENEFICIARY_ADDRESS_COUNTRY_ISO_CODE":"FR",
            "CUSTOMER_NAME": "Customer Name",
            "BANK_NAME": "Name of Bank"
          }
  }
});

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === 4) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "https://demo.mifinity.com/api/payments/pab");
xhr.setRequestHeader("accept", "application/json");
xhr.setRequestHeader("content-type", "application/json");
xhr.setRequestHeader("x-api-version", "1");
xhr.setRequestHeader("key", "sQO8Q3i5-HeD7F0BqVSIN1p......qnjqMDo8Bl0GKUTvexaVm5n7g");
xhr.send(data);

Money

Field Type Required Description
amount Number Transaction value
currency String Currency code (ISO 4217): EUR

BankPayee

Field Type Required Description
country String Bank payee country code: FR
currency String Bank Payee Currency: EUR
entityId String optional BankPayee unique identification number
description String optional Description for this transfer which min character is 1 and max characters are 25
fields Map Map of type String

fields

Field Type Required Description
IBAN String Bank IBAN: Alphanumeric (27)
CUSTOMER_NAME String First and Last Name(Max 70 characters)
BANK_NAME String Alphanumeric (Max 70 characters)
BENEFICIARY_ADDRESS_COUNTRY_ISO_CODE String Country code

Successful response

{

    "payload": [
        {
            "transactionId": "6PX0FjAufQSJ9eEMzjdyuMpFeR4vXI_Ln08rgzdvO-I=",
            "transactionReference": "4c9f3bf3-1c92-4d79-bbf0-b3d85cee2980",
            "traceId": "82595452748399303479",
            "datePosted": "2018-09-24T09:53:52.158Z",
            "sourceMoney": {
                "amount": 10,
                "currency": "EUR",
                "displayable": "EUR10.00"
            },
            "destinationMoney": {
                "amount": 10,
                "currency": "EUR",
                "displayable": "EUR10.00"
            },
            "exchangeRate": 1,
            "totalFees": {
                "amount": 0,
                "currency": "EUR",
                "displayable": "EUR0.00"
            }
        }
    ]
}
18. United Kingdom
18.1. GBP currency example
var data = JSON.stringify({

        "money" : {"amount":10, "currency":"GBP"},
        "description" : "10 GBP PAB",
        "sourceAccount" : "5001000001080652",
        "traceId" : "zeihwhp-43gs8iwyf7v4h9k",
        "bankPayee": {
          "country": "GB",
          "currency": "GBP",
          "description": "bank payment description",
          "fields": {
            "ACCOUNT_NUMBER": "31926819",
            "BANK_SORT_CODE": "601613",
            "CUSTOMER_ADDRESS": "asdsasadsadsadas",
            "CUSTOMER_CITY": "city",
            "BENEFICIARY_ADDRESS_COUNTRY_ISO_CODE":"GB",
            "CUSTOMER_NAME": "Customer Name",
            "BANK_NAME": "Name of Bank"
          }
  }
});

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === 4) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "https://demo.mifinity.com/api/payments/pab");
xhr.setRequestHeader("accept", "application/json");
xhr.setRequestHeader("content-type", "application/json");
xhr.setRequestHeader("x-api-version", "1");
xhr.setRequestHeader("key", "sQO8Q3i5-HeD7F0BqVSIN1p......qnjqMDo8Bl0GKUTvexaVm5n7g");
xhr.send(data);

Money

Field Type Required Description
amount Number Transaction value
currency String Currency code (ISO 4217): GBP

BankPayee

Field Type Required Description
country String Bank payee country code: GB
currency String Bank Payee Currency: GBP
entityId String optional BankPayee unique identification number
description String optional Description for this transfer which min character is 1 and max characters are 25
fields Map Map of type String

fields

Field Type Required Description
ACCOUNT_NUMBER String ( 8 digits)
BANK_SORT_CODE String 6 digits
CUSTOMER_CITY String Alphanumeric (Max 25 characters)
CUSTOMER_ADDRESS String Alphanumeric (Max 25 characters)
CUSTOMER_NAME String First and Last Name(Max 70 characters)
BANK_NAME String Alphanumeric (Max 70 characters)
BENEFICIARY_ADDRESS_COUNTRY_ISO_CODE String Country code

Successful response

{

    "payload": [
        {
            "transactionId": "6PX0FjAufQSJ9eEMzjdyuMpFeR4vXI_Ln08rgzdvO-I=",
            "transactionReference": "4c9f3bf3-1c92-4d79-bbf0-b3d85cee2980",
            "traceId": "82595452748399303479",
            "datePosted": "2018-09-24T09:53:52.158Z",
            "sourceMoney": {
                "amount": 10,
                "currency": "GBP",
                "displayable": "GBP10.00"
            },
            "destinationMoney": {
                "amount": 10,
                "currency": "GBP",
                "displayable": "GBP10.00"
            },
            "exchangeRate": 1,
            "totalFees": {
                "amount": 0,
                "currency": "GBP",
                "displayable": "GBP0.00"
            }
        }
    ]
}
18.2. EUR currency example
var data = JSON.stringify({

        "money" : {"amount":10, "currency":"EUR"},
        "description" : "10 EUR PAB",
        "sourceAccount" : "5001000001080652",
        "traceId" : "zeihwhp-43gs8iwyf7v4h9k",
        "bankPayee": {
          "country": "GB",
          "currency": "EUR",
          "description": "bank payment description",
          "fields": {
            "IBAN": "GB29NWBK60161331926819",
            "BENEFICIARY_ADDRESS_COUNTRY_ISO_CODE":"GB",
            "CUSTOMER_NAME": "Customer Name",
            "BANK_NAME": "Name of Bank"
          }
  }
});

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === 4) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "https://demo.mifinity.com/api/payments/pab");
xhr.setRequestHeader("accept", "application/json");
xhr.setRequestHeader("content-type", "application/json");
xhr.setRequestHeader("x-api-version", "1");
xhr.setRequestHeader("key", "sQO8Q3i5-HeD7F0BqVSIN1p......qnjqMDo8Bl0GKUTvexaVm5n7g");
xhr.send(data);

Money

Field Type Required Description
amount Number Transaction value
currency String Currency code (ISO 4217): EUR

BankPayee

Field Type Required Description
country String Bank payee country code: GB
currency String Bank Payee Currency: EUR
entityId String optional BankPayee unique identification number
description String optional Description for this transfer which min character is 1 and max characters are 25
fields Map Map of type String

fields

Field Type Required Description
IBAN String Bank IBAN: Alphanumeric (22)
CUSTOMER_NAME String First and Last Name(Max 70 characters)
BANK_NAME String Alphanumeric (Max 70 characters)
BENEFICIARY_ADDRESS_COUNTRY_ISO_CODE String Country code

Successful response

{

    "payload": [
        {
            "transactionId": "6PX0FjAufQSJ9eEMzjdyuMpFeR4vXI_Ln08rgzdvO-I=",
            "transactionReference": "4c9f3bf3-1c92-4d79-bbf0-b3d85cee2980",
            "traceId": "82595452748399303479",
            "datePosted": "2018-09-24T09:53:52.158Z",
            "sourceMoney": {
                "amount": 10,
                "currency": "EUR",
                "displayable": "EUR10.00"
            },
            "destinationMoney": {
                "amount": 10,
                "currency": "EUR",
                "displayable": "EUR10.00"
            },
            "exchangeRate": 1,
            "totalFees": {
                "amount": 0,
                "currency": "EUR",
                "displayable": "EUR0.00"
            }
        }
    ]
}
19. French Guiana
var data = JSON.stringify({

        "money" : {"amount":10, "currency":"EUR"},
        "description" : "10 EUR PAB",
        "sourceAccount" : "5001000001080652",
        "traceId" : "zeihwhp-43gs8iwyf7v4h9k",
        "bankPayee": {
          "country": "GF",
          "currency": "EUR",
          "description": "bank payment description",
          "fields": {
            "IBAN": "FR7630006000011234567890189",
            "BIC": "BNPAGFGX",
            "BENEFICIARY_ADDRESS_COUNTRY_ISO_CODE":"GF",
            "CUSTOMER_NAME": "Customer Name",
            "BANK_NAME": "Name of Bank"
          }
  }
});

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === 4) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "https://demo.mifinity.com/api/payments/pab");
xhr.setRequestHeader("accept", "application/json");
xhr.setRequestHeader("content-type", "application/json");
xhr.setRequestHeader("x-api-version", "1");
xhr.setRequestHeader("key", "sQO8Q3i5-HeD7F0BqVSIN1p......qnjqMDo8Bl0GKUTvexaVm5n7g");
xhr.send(data);

Money

Field Type Required Description
amount Number Transaction value
currency String Currency code (ISO 4217): EUR

BankPayee

Field Type Required Description
country String Bank payee country code: GF
currency String Bank Payee Currency: EUR
entityId String optional BankPayee unique identification number
description String optional Description for this transfer which min character is 1 and max characters are 25
fields Map Map of type String

fields

Field Type Required Description
IBAN String Bank IBAN: Alphanumeric (27)
BIC String Bank BIC: Alphanumeric (Min 8, Max 11
CUSTOMER_NAME String First and Last Name(Max 70 characters)
BANK_NAME String Alphanumeric (Max 70 characters)
BENEFICIARY_ADDRESS_COUNTRY_ISO_CODE String Country code

Successful response

{

    "payload": [
        {
            "transactionId": "6PX0FjAufQSJ9eEMzjdyuMpFeR4vXI_Ln08rgzdvO-I=",
            "transactionReference": "4c9f3bf3-1c92-4d79-bbf0-b3d85cee2980",
            "traceId": "82595452748399303479",
            "datePosted": "2018-09-24T09:53:52.158Z",
            "sourceMoney": {
                "amount": 10,
                "currency": "EUR",
                "displayable": "EUR10.00"
            },
            "destinationMoney": {
                "amount": 10,
                "currency": "EUR",
                "displayable": "EUR10.00"
            },
            "exchangeRate": 1,
            "totalFees": {
                "amount": 0,
                "currency": "EUR",
                "displayable": "EUR0.00"
            }
        }
    ]
}
20. Guernsey
var data = JSON.stringify({
        "money" : {"amount":10, "currency":"EUR"},
        "description" : "10 EUR PAB",
        "sourceAccount" : "5001000001080652",
        "traceId" : "zeihwhp-43gs8iwyf7v4h9k",
        "bankPayee": {
          "country": "GG",
          "currency": "EUR",
          "description": "bank payment description",
          "fields": {
            "IBAN": "GB29NWBK60161331926819",
            "BIC": "NWBKGB2L",
            "BENEFICIARY_ADDRESS_COUNTRY_ISO_CODE":"GG",
            "CUSTOMER_NAME": "Customer Name",
            "BANK_NAME": "Name of Bank"
          }
  }
});

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === 4) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "https://demo.mifinity.com/api/payments/pab");
xhr.setRequestHeader("accept", "application/json");
xhr.setRequestHeader("content-type", "application/json");
xhr.setRequestHeader("x-api-version", "1");
xhr.setRequestHeader("key", "sQO8Q3i5-HeD7F0BqVSIN1p......qnjqMDo8Bl0GKUTvexaVm5n7g");
xhr.send(data);

Money

Field Type Required Description
amount Number Transaction value
currency String Currency code (ISO 4217): EUR

BankPayee

Field Type Required Description
country String Bank payee country code: GG
currency String Bank Payee Currency: EUR
entityId String optional BankPayee unique identification number
description String optional Description for this transfer which min character is 1 and max characters are 25
fields Map Map of type String

fields

Field Type Required Description
IBAN String Bank IBAN: Alphanumeric (22)
BIC String Bank BIC: Alphanumeric (Min 8, Max 11)
CUSTOMER_NAME String First and Last Name(Max 70 characters)
BANK_NAME String Alphanumeric (Max 70 characters)
BENEFICIARY_ADDRESS_COUNTRY_ISO_CODE String Country code

Successful response

{

    "payload": [
        {
            "transactionId": "6PX0FjAufQSJ9eEMzjdyuMpFeR4vXI_Ln08rgzdvO-I=",
            "transactionReference": "4c9f3bf3-1c92-4d79-bbf0-b3d85cee2980",
            "traceId": "82595452748399303479",
            "datePosted": "2018-09-24T09:53:52.158Z",
            "sourceMoney": {
                "amount": 10,
                "currency": "EUR",
                "displayable": "EUR10.00"
            },
            "destinationMoney": {
                "amount": 10,
                "currency": "EUR",
                "displayable": "EUR10.00"
            },
            "exchangeRate": 1,
            "totalFees": {
                "amount": 0,
                "currency": "EUR",
                "displayable": "EUR0.00"
            }
        }
    ]
}
21. Gibraltar
var data = JSON.stringify({
       "money" : {"amount":10, "currency":"EUR"},
        "description" : "10 EUR PAB",
        "sourceAccount" : "5001000001080652",
        "traceId" : "zeihwhp-43gs8iwyf7v4h9k",
        "bankPayee": {
          "country": "GI",
          "currency": "EUR",
          "description": "bank payment description",
          "fields": {
            "IBAN": "GI04BARC000001234567890",
            "BIC": "BJSBGIGX",
            "BENEFICIARY_ADDRESS_COUNTRY_ISO_CODE":"GI",
            "CUSTOMER_NAME": "Customer Name",
            "BANK_NAME": "Name of Bank"
          }
  }
});

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === 4) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "https://demo.mifinity.com/api/payments/pab");
xhr.setRequestHeader("accept", "application/json");
xhr.setRequestHeader("content-type", "application/json");
xhr.setRequestHeader("x-api-version", "1");
xhr.setRequestHeader("key", "sQO8Q3i5-HeD7F0BqVSIN1p......qnjqMDo8Bl0GKUTvexaVm5n7g");
xhr.send(data);

Money

Field Type Required Description
amount Number Transaction value
currency String Currency code (ISO 4217): EUR

BankPayee

Field Type Required Description
country String Bank payee country code: GI
currency String Bank Payee Currency: EUR
entityId String optional BankPayee unique identification number
description String optional Description for this transfer which min character is 1 and max characters are 25
fields Map Map of type String

fields

Field Type Required Description
IBAN String Bank IBAN: Alphanumeric (23)
BIC String Bank BIC: Alphanumeric (Min 8, Max 11
CUSTOMER_NAME String First and Last Name(Max 70 characters)
BANK_NAME String Alphanumeric (Max 70 characters)
BENEFICIARY_ADDRESS_COUNTRY_ISO_CODE String Country code

Successful response

{

    "payload": [
        {
            "transactionId": "6PX0FjAufQSJ9eEMzjdyuMpFeR4vXI_Ln08rgzdvO-I=",
            "transactionReference": "4c9f3bf3-1c92-4d79-bbf0-b3d85cee2980",
            "traceId": "82595452748399303479",
            "datePosted": "2018-09-24T09:53:52.158Z",
            "sourceMoney": {
                "amount": 10,
                "currency": "EUR",
                "displayable": "EUR10.00"
            },
            "destinationMoney": {
                "amount": 10,
                "currency": "EUR",
                "displayable": "EUR10.00"
            },
            "exchangeRate": 1,
            "totalFees": {
                "amount": 0,
                "currency": "EUR",
                "displayable": "EUR0.00"
            }
        }
    ]
}
22. Guadeloupe
var data = JSON.stringify({
        "money" : {"amount":10, "currency":"EUR"},
        "description" : "10 EUR PAB",
        "sourceAccount" : "5001000001080652",
        "traceId" : "zeihwhp-43gs8iwyf7v4h9k",
        "bankPayee": {
          "country": "GP",
          "currency": "EUR",
          "description": "bank payment description",
          "fields": {
            "IBAN": "FR7630006000011234567890189",
            "BIC": "AGRIGPGX",
            "BENEFICIARY_ADDRESS_COUNTRY_ISO_CODE":"GP",
            "CUSTOMER_NAME": "Customer Name",
            "BANK_NAME": "Name of Bank"
          }
  }
});

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === 4) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "https://demo.mifinity.com/api/payments/pab");
xhr.setRequestHeader("accept", "application/json");
xhr.setRequestHeader("content-type", "application/json");
xhr.setRequestHeader("x-api-version", "1");
xhr.setRequestHeader("key", "sQO8Q3i5-HeD7F0BqVSIN1p......qnjqMDo8Bl0GKUTvexaVm5n7g");
xhr.send(data);

Money

Field Type Required Description
amount Number Transaction value
currency String Currency code (ISO 4217): EUR

BankPayee

Field Type Required Description
country String Bank payee country code: GP
currency String Bank Payee Currency: EUR
entityId String optional BankPayee unique identification number
description String optional Description for this transfer which min character is 1 and max characters are 25
fields Map Map of type String

fields

Field Type Required Description
IBAN String Bank IBAN: Alphanumeric (27)
BIC String Bank BIC: Alphanumeric (Min 8, Max 11)
CUSTOMER_NAME String First and Last Name(Max 70 characters)
BANK_NAME String Alphanumeric (Max 70 characters)
BENEFICIARY_ADDRESS_COUNTRY_ISO_CODE String Country code

Successful response

{

    "payload": [
        {
            "transactionId": "6PX0FjAufQSJ9eEMzjdyuMpFeR4vXI_Ln08rgzdvO-I=",
            "transactionReference": "4c9f3bf3-1c92-4d79-bbf0-b3d85cee2980",
            "traceId": "82595452748399303479",
            "datePosted": "2018-09-24T09:53:52.158Z",
            "sourceMoney": {
                "amount": 10,
                "currency": "EUR",
                "displayable": "EUR10.00"
            },
            "destinationMoney": {
                "amount": 10,
                "currency": "EUR",
                "displayable": "EUR10.00"
            },
            "exchangeRate": 1,
            "totalFees": {
                "amount": 0,
                "currency": "EUR",
                "displayable": "EUR0.00"
            }
        }
    ]
}
23. Greece
var data = JSON.stringify({
        "money" : {"amount":10, "currency":"EUR"},
        "description" : "10 EUR PAB",
        "sourceAccount" : "5001000001080652",
        "traceId" : "zeihwhp-43gs8iwyf7v4h9k",
        "bankPayee": {
          "country": "GR",
          "currency": "EUR",
          "description": "bank payment description",
          "fields": {
            "IBAN": "GR1601101250000000012300695",
            "BENEFICIARY_ADDRESS_COUNTRY_ISO_CODE":"GR",
            "CUSTOMER_NAME": "Customer Name",
            "BANK_NAME": "Name of Bank"
          }
  }
});

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === 4) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "https://demo.mifinity.com/api/payments/pab");
xhr.setRequestHeader("accept", "application/json");
xhr.setRequestHeader("content-type", "application/json");
xhr.setRequestHeader("x-api-version", "1");
xhr.setRequestHeader("key", "sQO8Q3i5-HeD7F0BqVSIN1p......qnjqMDo8Bl0GKUTvexaVm5n7g");
xhr.send(data);

Money

Field Type Required Description
amount Number Transaction value
currency String EUR

BankPayee

Field Type Required Description
country String Bank payee country code:GR
currency String Bank Payee Currency:EUR
entityId String optional BankPayee unique identification number
description String optional Description for this transfer which min character is 1 and max characters are 25
fields Map Map of type String

fields

Field Type Required Description
IBAN String Bank IBAN: Alphanumeric (27)
CUSTOMER_NAME String First and Last Name(Max 70 characters)
BANK_NAME String Alphanumeric (Max 70 characters)
BENEFICIARY_ADDRESS_COUNTRY_ISO_CODE String Country code

Successful response

{

    "payload": [
        {
            "transactionId": "6PX0FjAufQSJ9eEMzjdyuMpFeR4vXI_Ln08rgzdvO-I=",
            "transactionReference": "4c9f3bf3-1c92-4d79-bbf0-b3d85cee2980",
            "traceId": "82595452748399303479",
            "datePosted": "2018-09-24T09:53:52.158Z",
            "sourceMoney": {
                "amount": 10,
                "currency": "EUR",
                "displayable": "EUR10.00"
            },
            "destinationMoney": {
                "amount": 10,
                "currency": "EUR",
                "displayable": "EUR10.00"
            },
            "exchangeRate": 1,
            "totalFees": {
                "amount": 0,
                "currency": "EUR",
                "displayable": "EUR0.00"
            }
        }
    ]
}
24. Croatia
24.1. EUR currency example
var data = JSON.stringify({
        "money" : {"amount":10, "currency":"EUR"},
        "description" : "10 EUR PAB",
        "sourceAccount" : "5001000001080652",
        "traceId" : "zeihwhp-43gs8iwyf7v4h9k",
        "bankPayee": {
          "country": "HR",
          "currency": "EUR",
          "description": "bank payment description",
          "fields": {
            "IBAN": "HR1210010051863000160",
            "BENEFICIARY_ADDRESS_COUNTRY_ISO_CODE":"HR",
            "CUSTOMER_NAME": "Customer Name",
            "BANK_NAME": "Name of Bank"
          }
  }
});

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === 4) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "https://demo.mifinity.com/api/payments/pab");
xhr.setRequestHeader("accept", "application/json");
xhr.setRequestHeader("content-type", "application/json");
xhr.setRequestHeader("x-api-version", "1");
xhr.setRequestHeader("key", "sQO8Q3i5-HeD7F0BqVSIN1p......qnjqMDo8Bl0GKUTvexaVm5n7g");
xhr.send(data);

Money

Field Type Required Description
amount Number Transaction value
currency String Currency code (ISO 4217): EUR

BankPayee

Field Type Required Description
country String Bank payee country code: HR
currency String Bank Payee Currency: EUR
entityId String optional BankPayee unique identification number
description String optional Description for this transfer which min character is 1 and max characters are 25
fields Map Map of type String

fields

Field Type Required Description
IBAN String Bank IBAN: Alphanumeric (21)
CUSTOMER_NAME String First and Last Name(Max 70 characters)
BANK_NAME String Alphanumeric (Max 70 characters)
BENEFICIARY_ADDRESS_COUNTRY_ISO_CODE String Country code

Successful response

{

    "payload": [
        {
            "transactionId": "6PX0FjAufQSJ9eEMzjdyuMpFeR4vXI_Ln08rgzdvO-I=",
            "transactionReference": "4c9f3bf3-1c92-4d79-bbf0-b3d85cee2980",
            "traceId": "82595452748399303479",
            "datePosted": "2018-09-24T09:53:52.158Z",
            "sourceMoney": {
                "amount": 10,
                "currency": "EUR",
                "displayable": "EUR10.00"
            },
            "destinationMoney": {
                "amount": 10,
                "currency": "EUR",
                "displayable": "EUR10.00"
            },
            "exchangeRate": 1,
            "totalFees": {
                "amount": 0,
                "currency": "EUR",
                "displayable": "EUR0.00"
            }
        }
    ]
}
24.2. HRK currency example
var data = JSON.stringify({
        "money" : {"amount":10, "currency":"HRK"},
        "description" : "10 HRK PAB",
        "sourceAccount" : "5001000001080652",
        "traceId" : "zeihwhp-43gs8iwyf7v4h9k",
        "bankPayee": {
          "country": "HR",
          "currency": "HRK",
          "description": "bank payment description",
          "fields": {
            "IBAN": "HR1210010051863000160",
            "CUSTOMER_NAME": "Customer Name",
            "BANK_NAME": "Name of Bank"
          }
  }
});

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === 4) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "https://demo.mifinity.com/api/payments/pab");
xhr.setRequestHeader("accept", "application/json");
xhr.setRequestHeader("content-type", "application/json");
xhr.setRequestHeader("x-api-version", "1");
xhr.setRequestHeader("key", "sQO8Q3i5-HeD7F0BqVSIN1p......qnjqMDo8Bl0GKUTvexaVm5n7g");
xhr.send(data);

Money

Field Type Required Description
amount Number Transaction value
currency String Currency code (ISO 4217): HRK

BankPayee

Field Type Required Description
country String Bank payee country code: HR
currency String Bank Payee Currency: HRK
entityId String optional BankPayee unique identification number
description String optional Description for this transfer which min character is 1 and max characters are 25
fields Map Map of type String

fields

Field Type Required Description
IBAN String Bank IBAN: Alphanumeric (21)
CUSTOMER_NAME String First and Last Name(Max 70 characters)
BANK_NAME String Alphanumeric (Max 70 characters)

Successful response

{

    "payload": [
        {
            "transactionId": "6PX0FjAufQSJ9eEMzjdyuMpFeR4vXI_Ln08rgzdvO-I=",
            "transactionReference": "4c9f3bf3-1c92-4d79-bbf0-b3d85cee2980",
            "traceId": "82595452748399303479",
            "datePosted": "2018-09-24T09:53:52.158Z",
            "sourceMoney": {
                "amount": 10,
                "currency": "EUR",
                "displayable": "EUR10.00"
            },
            "destinationMoney": {
                "amount": 10,
                "currency": "EUR",
                "displayable": "EUR10.00"
            },
            "exchangeRate": 1,
            "totalFees": {
                "amount": 0,
                "currency": "EUR",
                "displayable": "EUR0.00"
            }
        }
    ]
}
25. Hungary
25.1. EUR currency example
var data = JSON.stringify({
        "money" : {"amount":10, "currency":"EUR"},
        "description" : "10 EUR PAB",
        "sourceAccount" : "5001000001080652",
        "traceId" : "zeihwhp-43gs8iwyf7v4h9k",
        "bankPayee": {
          "country": "HU",
          "currency": "EUR",
          "description": "bank payment description",
          "fields": {
            "IBAN": "HU42117730161111101800000000",
            "BENEFICIARY_ADDRESS_COUNTRY_ISO_CODE":"HU",
            "CUSTOMER_NAME": "Customer Name",
            "BANK_NAME": "Name of Bank"
          }
  }
});

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === 4) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "https://demo.mifinity.com/api/payments/pab");
xhr.setRequestHeader("accept", "application/json");
xhr.setRequestHeader("content-type", "application/json");
xhr.setRequestHeader("x-api-version", "1");
xhr.setRequestHeader("key", "sQO8Q3i5-HeD7F0BqVSIN1p......qnjqMDo8Bl0GKUTvexaVm5n7g");
xhr.send(data);

Money

Field Type Required Description
amount Number Transaction value
currency String Currency code (ISO 4217):EUR

BankPayee

Field Type Required Description
country String Bank payee country code:HU
currency String Bank Payee Currency:EUR
entityId String optional BankPayee unique identification number
description String optional Description for this transfer which min character is 1 and max characters are 25
fields Map Map of type String

fields

Field Type Required Description
IBAN String Bank IBAN: Alphanumeric (28)
CUSTOMER_NAME String First and Last Name(Max 70 characters)
BANK_NAME String Alphanumeric (Max 70 characters)
BENEFICIARY_ADDRESS_COUNTRY_ISO_CODE String Country code

Successful response

{

    "payload": [
        {
            "transactionId": "6PX0FjAufQSJ9eEMzjdyuMpFeR4vXI_Ln08rgzdvO-I=",
            "transactionReference": "4c9f3bf3-1c92-4d79-bbf0-b3d85cee2980",
            "traceId": "82595452748399303479",
            "datePosted": "2018-09-24T09:53:52.158Z",
            "sourceMoney": {
                "amount": 10,
                "currency": "EUR",
                "displayable": "EUR10.00"
            },
            "destinationMoney": {
                "amount": 10,
                "currency": "EUR",
                "displayable": "EUR10.00"
            },
            "exchangeRate": 1,
            "totalFees": {
                "amount": 0,
                "currency": "EUR",
                "displayable": "EUR0.00"
            }
        }
    ]
}
25.2 HUF currency example
var data = JSON.stringify({
        "money" : {"amount":10, "currency":"HUF"},
        "description" : "10 HUF PAB",
        "sourceAccount" : "5001000001080652",
        "traceId" : "zeihwhp-43gs8iwyf7v4h9k",
        "bankPayee": {
          "country": "HU",
          "currency": "HUF",
          "description": "bank payment description",
          "fields": {
            "ACCOUNT_NUMBER": "117080012054779400000000",
            "BANK_CODE": "11708001",
            "CUSTOMER_NAME": "Customer Name",
            "BANK_NAME": "Name of Bank"
          }
  }
});

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === 4) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "https://demo.mifinity.com/api/payments/pab");
xhr.setRequestHeader("accept", "application/json");
xhr.setRequestHeader("content-type", "application/json");
xhr.setRequestHeader("x-api-version", "1");
xhr.setRequestHeader("key", "sQO8Q3i5-HeD7F0BqVSIN1p......qnjqMDo8Bl0GKUTvexaVm5n7g");
xhr.send(data);

Money

Field Type Required Description
amount Number Transaction value
currency String Currency code (ISO 4217):HUF

BankPayee

Field Type Required Description
country String Bank payee country code:HU
currency String Bank Payee Currency:HUF
entityId String optional BankPayee unique identification number
description String optional Description for this transfer which min character is 1 and max characters are 25
fields Map Map of type String

fields

Field Type Required Description
ACCOUNT_NUMBER String 24 digits
BANK_CODE String 8 digits
CUSTOMER_NAME String First and Last Name(Max 70 characters)
BANK_NAME String Alphanumeric (Max 70 characters)

Successful response

{

    "payload": [
        {
            "transactionId": "6PX0FjAufQSJ9eEMzjdyuMpFeR4vXI_Ln08rgzdvO-I=",
            "transactionReference": "4c9f3bf3-1c92-4d79-bbf0-b3d85cee2980",
            "traceId": "82595452748399303479",
            "datePosted": "2018-09-24T09:53:52.158Z",
            "sourceMoney": {
                "amount": 10,
                "currency": "HUF",
                "displayable": "HUF10.00"
            },
            "destinationMoney": {
                "amount": 10,
                "currency": "HUF",
                "displayable": "HUF10.00"
            },
            "exchangeRate": 1,
            "totalFees": {
                "amount": 0,
                "currency": "HUF",
                "displayable": "HUF0.00"
            }
        }
    ]
}
26. Iceland
var data = JSON.stringify({
  "money": {
    "amount": 10,
    "currency": "EUR"
  },
  "description": "10 EUR PAB",
  "sourceAccount": "5001000001080652",
  "traceId": "zeihwhp-43gs8iwyf7v4h9k",
  "bankPayee": {
    "country": "IS",
    "currency": "EUR",
    "description": "bank payment description",
    "fields": {
      "IBAN": "IS140159260076545510730339",
      "BENEFICIARY_ADDRESS_COUNTRY_ISO_CODE":"IS",
      "CUSTOMER_NAME": "Customer Name",
      "BANK_NAME": "Bank of Ireland"
    }
  }
});

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === 4) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "https://demo.mifinity.com/api/payments/pab");
xhr.setRequestHeader("accept", "application/json");
xhr.setRequestHeader("content-type", "application/json");
xhr.setRequestHeader("x-api-version", "1");
xhr.setRequestHeader("key", "sQO8Q3i5-HeD7F0BqVSIN1p......qnjqMDo8Bl0GKUTvexaVm5n7g");
xhr.send(data);

Money

Field Type Required Description
amount Number Transaction value
currency String Currency code (ISO 4217):EUR

BankPayee

Field Type Required Description
country String Bank payee country code:IS
currency String Bank Payee Currency:EUR
entityId String optional BankPayee unique identification number
description String optional Description for this transfer which min character is 1 and max characters are 25
fields Map Map of type String

fields

Field Type Required Description
IBAN String Bank IBAN: Alphanumeric (26)
CUSTOMER_NAME String First and Last Name(Max 70 characters)
BANK_NAME String Alphanumeric (Max 70 characters)
BENEFICIARY_ADDRESS_COUNTRY_ISO_CODE String Country code

Successful response

{

    "payload": [
        {
            "transactionId": "6PX0FjAufQSJ9eEMzjdyuMpFeR4vXI_Ln08rgzdvO-I=",
            "transactionReference": "4c9f3bf3-1c92-4d79-bbf0-b3d85cee2980",
            "traceId": "82595452748399303479",
            "datePosted": "2018-09-24T09:53:52.158Z",
            "sourceMoney": {
                "amount": 10,
                "currency": "EUR",
                "displayable": "EUR10.00"
            },
            "destinationMoney": {
                "amount": 10,
                "currency": "EUR",
                "displayable": "EUR10.00"
            },
            "exchangeRate": 1,
            "totalFees": {
                "amount": 0,
                "currency": "EUR",
                "displayable": "EUR0.00"
            }
        }
    ]
}
27. Ireland
var data = JSON.stringify({
  "money": {
    "amount": 10,
    "currency": "EUR"
  },
  "description": "10 EUR PAB",
  "sourceAccount": "5001000001080652",
  "traceId": "zeihwhp-43gs8iwyf7v4h9k",
  "bankPayee": {
    "country": "IE",
    "currency": "EUR",
    "description": "bank payment description",
    "fields": {
      "IBAN": "IE29AIBK93115212345678",
      "BENEFICIARY_ADDRESS_COUNTRY_ISO_CODE":"IE",
      "CUSTOMER_NAME": "Customer Name",
      "BANK_NAME": "Bank of Ireland"
    }
  }
});

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === 4) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "https://demo.mifinity.com/api/payments/pab");
xhr.setRequestHeader("accept", "application/json");
xhr.setRequestHeader("content-type", "application/json");
xhr.setRequestHeader("x-api-version", "1");
xhr.setRequestHeader("key", "sQO8Q3i5-HeD7F0BqVSIN1p......qnjqMDo8Bl0GKUTvexaVm5n7g");
xhr.send(data);

Money

Field Type Required Description
amount Number Transaction value
currency String Currency code (ISO 4217):EUR

BankPayee

Field Type Required Description
country String Bank payee country code:IE
currency String Bank Payee Currency:EUR
entityId String optional BankPayee unique identification number
description String optional Description for this transfer which min character is 1 and max characters are 25
fields Map Map of type String

fields

Field Type Required Description
IBAN String Bank IBAN: Alphanumeric (22)
CUSTOMER_NAME String First and Last Name(Max 70 characters)
BANK_NAME String Alphanumeric (Max 70 characters)
BENEFICIARY_ADDRESS_COUNTRY_ISO_CODE String Country code

Successful response

{

    "payload": [
        {
            "transactionId": "6PX0FjAufQSJ9eEMzjdyuMpFeR4vXI_Ln08rgzdvO-I=",
            "transactionReference": "4c9f3bf3-1c92-4d79-bbf0-b3d85cee2980",
            "traceId": "82595452748399303479",
            "datePosted": "2018-09-24T09:53:52.158Z",
            "sourceMoney": {
                "amount": 10,
                "currency": "EUR",
                "displayable": "EUR10.00"
            },
            "destinationMoney": {
                "amount": 10,
                "currency": "EUR",
                "displayable": "EUR10.00"
            },
            "exchangeRate": 1,
            "totalFees": {
                "amount": 0,
                "currency": "EUR",
                "displayable": "EUR0.00"
            }
        }
    ]
}
28. Isle of Man
var data = JSON.stringify({
        "money" : {"amount":10, "currency":"EUR"},
        "description" : "10 EUR PAB",
        "sourceAccount" : "5001000001080652",
        "traceId" : "zeihwhp-43gs8iwyf7v4h9k",
        "bankPayee": {
          "country": "IM",
          "currency": "EUR",
          "description": "bank payment description",
          "fields": {
            "IBAN": "GB29NWBK60161331926819",
            "BIC": "NWBKGB2L",
            "BENEFICIARY_ADDRESS_COUNTRY_ISO_CODE":"IM",
            "CUSTOMER_NAME": "Customer Name",
            "BANK_NAME": "Name of Bank"
          }
  }
});

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === 4) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "https://demo.mifinity.com/api/payments/pab");
xhr.setRequestHeader("accept", "application/json");
xhr.setRequestHeader("content-type", "application/json");
xhr.setRequestHeader("x-api-version", "1");
xhr.setRequestHeader("key", "sQO8Q3i5-HeD7F0BqVSIN1p......qnjqMDo8Bl0GKUTvexaVm5n7g");
xhr.send(data);

Money

Field Type Required Description
amount Number Transaction value
currency String Currency code (ISO 4217): EUR

BankPayee

Field Type Required Description
country String Bank payee country code: IM
currency String Bank Payee Currency: EUR
entityId String optional BankPayee unique identification number
description String optional Description for this transfer which min character is 1 and max characters are 25
fields Map Map of type String

fields

Field Type Required Description
IBAN String Bank IBAN: Alphanumeric (22)
BIC String Bank BIC: Alphanumeric (Min 8, Max 11)
CUSTOMER_NAME String First and Last Name(Max 70 characters)
BANK_NAME String Alphanumeric (Max 70 characters)
BENEFICIARY_ADDRESS_COUNTRY_ISO_CODE String Country code

Successful response

{

    "payload": [
        {
            "transactionId": "6PX0FjAufQSJ9eEMzjdyuMpFeR4vXI_Ln08rgzdvO-I=",
            "transactionReference": "4c9f3bf3-1c92-4d79-bbf0-b3d85cee2980",
            "traceId": "82595452748399303479",
            "datePosted": "2018-09-24T09:53:52.158Z",
            "sourceMoney": {
                "amount": 10,
                "currency": "EUR",
                "displayable": "EUR10.00"
            },
            "destinationMoney": {
                "amount": 10,
                "currency": "EUR",
                "displayable": "EUR10.00"
            },
            "exchangeRate": 1,
            "totalFees": {
                "amount": 0,
                "currency": "EUR",
                "displayable": "EUR0.00"
            }
        }
    ]
}
29. Italy
var data = JSON.stringify({
        "money" : {"amount":10, "currency":"EUR"},
        "description" : "10 EUR PAB",
        "sourceAccount" : "5001000001080652",
        "traceId" : "zeihwhp-43gs8iwyf7v4h9k",
        "bankPayee": {
          "country": "IT",
          "currency": "EUR",
          "description": "bank payment description",
          "fields": {
            "IBAN": "IT60X0542811101000000123456",
            "BENEFICIARY_ADDRESS_COUNTRY_ISO_CODE":"IT",
            "CUSTOMER_NAME": "Customer Name",
            "BANK_NAME": "Name of Bank"
          }
  }
});

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === 4) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "https://demo.mifinity.com/api/payments/pab");
xhr.setRequestHeader("accept", "application/json");
xhr.setRequestHeader("content-type", "application/json");
xhr.setRequestHeader("x-api-version", "1");
xhr.setRequestHeader("key", "sQO8Q3i5-HeD7F0BqVSIN1p......qnjqMDo8Bl0GKUTvexaVm5n7g");
xhr.send(data);

Money

Field Type Required Description
amount Number Transaction value
currency String Currency code (ISO 4217):EUR

BankPayee

Field Type Required Description
country String Bank payee country code:IT
currency String Bank Payee Currency:EUR
entityId String optional BankPayee unique identification number
description String optional Description for this transfer which min character is 1 and max characters are 25
fields Map Map of type String

fields

Field Type Required Description
IBAN String Bank IBAN: Alphanumeric (27)
CUSTOMER_NAME String First and Last Name(Max 70 characters)
BANK_NAME String Alphanumeric (Max 70 characters)
BENEFICIARY_ADDRESS_COUNTRY_ISO_CODE String Country code

Successful response

{

    "payload": [
        {
            "transactionId": "6PX0FjAufQSJ9eEMzjdyuMpFeR4vXI_Ln08rgzdvO-I=",
            "transactionReference": "4c9f3bf3-1c92-4d79-bbf0-b3d85cee2980",
            "traceId": "82595452748399303479",
            "datePosted": "2018-09-24T09:53:52.158Z",
            "sourceMoney": {
                "amount": 10,
                "currency": "EUR",
                "displayable": "EUR10.00"
            },
            "destinationMoney": {
                "amount": 10,
                "currency": "EUR",
                "displayable": "EUR10.00"
            },
            "exchangeRate": 1,
            "totalFees": {
                "amount": 0,
                "currency": "EUR",
                "displayable": "EUR0.00"
            }
        }
    ]
}
30. Jersey
var data = JSON.stringify({
        "money" : {"amount":10, "currency":"EUR"},
        "description" : "10 EUR PAB",
        "sourceAccount" : "5001000001080652",
        "traceId" : "zeihwhp-43gs8iwyf7v4h9k",
        "bankPayee": {
          "country": "JE",
          "currency": "EUR",
          "description": "bank payment description",
          "fields": {
            "IBAN": "GB29NWBK60161331926819",
            "BIC": "NWBKGB2L",
            "BENEFICIARY_ADDRESS_COUNTRY_ISO_CODE":"JE",
            "CUSTOMER_NAME": "Customer Name",
            "BANK_NAME": "Name of Bank"
          }
  }
});

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === 4) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "https://demo.mifinity.com/api/payments/pab");
xhr.setRequestHeader("accept", "application/json");
xhr.setRequestHeader("content-type", "application/json");
xhr.setRequestHeader("x-api-version", "1");
xhr.setRequestHeader("key", "sQO8Q3i5-HeD7F0BqVSIN1p......qnjqMDo8Bl0GKUTvexaVm5n7g");
xhr.send(data);

Money

Field Type Required Description
amount Number Transaction value
currency String Currency code (ISO 4217): EUR

BankPayee

Field Type Required Description
country String Bank payee country code: JE
currency String Bank Payee Currency: EUR
entityId String optional BankPayee unique identification number
description String optional Description for this transfer which min character is 1 and max characters are 25
fields Map Map of type String

fields

Field Type Required Description
IBAN String Bank IBAN: Alphanumeric (22)
BIC String Bank BIC: Alphanumeric (Min 8, Max 11)
CUSTOMER_NAME String First and Last Name(Max 70 characters)
BANK_NAME String Alphanumeric (Max 70 characters)
BENEFICIARY_ADDRESS_COUNTRY_ISO_CODE String Country code

Successful response

{

    "payload": [
        {
            "transactionId": "6PX0FjAufQSJ9eEMzjdyuMpFeR4vXI_Ln08rgzdvO-I=",
            "transactionReference": "4c9f3bf3-1c92-4d79-bbf0-b3d85cee2980",
            "traceId": "82595452748399303479",
            "datePosted": "2018-09-24T09:53:52.158Z",
            "sourceMoney": {
                "amount": 10,
                "currency": "EUR",
                "displayable": "EUR10.00"
            },
            "destinationMoney": {
                "amount": 10,
                "currency": "EUR",
                "displayable": "EUR10.00"
            },
            "exchangeRate": 1,
            "totalFees": {
                "amount": 0,
                "currency": "EUR",
                "displayable": "EUR0.00"
            }
        }
    ]
}
31. Liechtenstein
var data = JSON.stringify({
       "money" : {"amount":10, "currency":"EUR"},
        "description" : "10 EUR PAB",
        "sourceAccount" : "5001000001080652",
        "traceId" : "zeihwhp-43gs8iwyf7v4h9k",
        "bankPayee": {
          "country": "LI",
          "currency": "EUR",
          "description": "bank payment description",
          "fields": {
            "IBAN": "LI7408806123456789012",
            "BENEFICIARY_ADDRESS_COUNTRY_ISO_CODE":"LI",
            "CUSTOMER_NAME": "Customer Name",
            "BANK_NAME": "Name of Bank"
          }
  }
});

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === 4) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "https://demo.mifinity.com/api/payments/pab");
xhr.setRequestHeader("accept", "application/json");
xhr.setRequestHeader("content-type", "application/json");
xhr.setRequestHeader("x-api-version", "1");
xhr.setRequestHeader("key", "sQO8Q3i5-HeD7F0BqVSIN1p......qnjqMDo8Bl0GKUTvexaVm5n7g");
xhr.send(data);

Money

Field Type Required Description
amount Number Transaction value
currency String Currency code (ISO 4217):EUR

BankPayee

Field Type Required Description
country String Bank payee country code:LI
currency String Bank Payee Currency: EUR
entityId String optional BankPayee unique identification number
description String optional Description for this transfer which min character is 1 and max characters are 25
fields Map Map of type String

fields

Field Type Required Description
IBAN String Bank IBAN: Alphanumeric (21)
CUSTOMER_NAME String First and Last Name(Max 70 characters)
BANK_NAME String Alphanumeric (Max 70 characters)
BENEFICIARY_ADDRESS_COUNTRY_ISO_CODE String Country code

Successful response

{

    "payload": [
        {
            "transactionId": "6PX0FjAufQSJ9eEMzjdyuMpFeR4vXI_Ln08rgzdvO-I=",
            "transactionReference": "4c9f3bf3-1c92-4d79-bbf0-b3d85cee2980",
            "traceId": "82595452748399303479",
            "datePosted": "2018-09-24T09:53:52.158Z",
            "sourceMoney": {
                "amount": 10,
                "currency": "EUR",
                "displayable": "EUR10.00"
            },
            "destinationMoney": {
                "amount": 10,
                "currency": "EUR",
                "displayable": "EUR10.00"
            },
            "exchangeRate": 1,
            "totalFees": {
                "amount": 0,
                "currency": "EUR",
                "displayable": "EUR0.00"
            }
        }
    ]
}
32. Lithuania
var data = JSON.stringify({
       "money" : {"amount":10, "currency":"EUR"},
        "description" : "10 EUR PAB",
        "sourceAccount" : "5001000001080652",
        "traceId" : "zeihwhp-43gs8iwyf7v4h9k",
        "bankPayee": {
          "country": "LT",
          "currency": "EUR",
          "description": "bank payment description",
          "fields": {
            "IBAN": "LT601010012345678901",
            "BENEFICIARY_ADDRESS_COUNTRY_ISO_CODE":"LT",
            "CUSTOMER_NAME": "Customer Name",
            "BANK_NAME": "Name of Bank"
          }
  }
});

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === 4) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "https://demo.mifinity.com/api/payments/pab");
xhr.setRequestHeader("accept", "application/json");
xhr.setRequestHeader("content-type", "application/json");
xhr.setRequestHeader("x-api-version", "1");
xhr.setRequestHeader("key", "sQO8Q3i5-HeD7F0BqVSIN1p......qnjqMDo8Bl0GKUTvexaVm5n7g");
xhr.send(data);

Money

Field Type Required Description
amount Number Transaction value
currency String Currency code (ISO 4217):EUR

BankPayee

Field Type Required Description
country String Bank payee country code: LT
currency String Bank Payee Currency: EUR
entityId String optional BankPayee unique identification number
description String optional Description for this transfer which min character is 1 and max characters are 25
fields Map Map of type String

fields

Field Type Required Description
IBAN String Bank IBAN: Alphanumeric (20)
CUSTOMER_NAME String First and Last Name(Max 70 characters)
BANK_NAME String Alphanumeric (Max 70 characters)
BENEFICIARY_ADDRESS_COUNTRY_ISO_CODE String Country code

Successful response

{

    "payload": [
        {
            "transactionId": "6PX0FjAufQSJ9eEMzjdyuMpFeR4vXI_Ln08rgzdvO-I=",
            "transactionReference": "4c9f3bf3-1c92-4d79-bbf0-b3d85cee2980",
            "traceId": "82595452748399303479",
            "datePosted": "2018-09-24T09:53:52.158Z",
            "sourceMoney": {
                "amount": 10,
                "currency": "EUR",
                "displayable": "EUR10.00"
            },
            "destinationMoney": {
                "amount": 10,
                "currency": "EUR",
                "displayable": "EUR10.00"
            },
            "exchangeRate": 1,
            "totalFees": {
                "amount": 0,
                "currency": "EUR",
                "displayable": "EUR0.00"
            }
        }
    ]
}
33. Luxembourg
var data = JSON.stringify({
        "money" : {"amount":10, "currency":"EUR"},
        "description" : "10 EUR PAB",
        "sourceAccount" : "5001000001080652",
        "traceId" : "zeihwhp-43gs8iwyf7v4h9k",
        "bankPayee": {
          "country": "LU",
          "currency": "EUR",
          "description": "bank payment description",
          "fields": {
            "IBAN": "LU280019400644750000",
            "BENEFICIARY_ADDRESS_COUNTRY_ISO_CODE":"LU",
            "CUSTOMER_NAME": "Customer Name",
            "BANK_NAME": "Name of Bank"
          }
  }
});

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === 4) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "https://demo.mifinity.com/api/payments/pab");
xhr.setRequestHeader("accept", "application/json");
xhr.setRequestHeader("content-type", "application/json");
xhr.setRequestHeader("x-api-version", "1");
xhr.setRequestHeader("key", "sQO8Q3i5-HeD7F0BqVSIN1p......qnjqMDo8Bl0GKUTvexaVm5n7g");
xhr.send(data);

Money

Field Type Required Description
amount Number Transaction value
currency String Currency code (ISO 4217):EUR

BankPayee

Field Type Required Description
country String Bank payee country code: LU
currency String Bank Payee Currency: EUR
entityId String optional BankPayee unique identification number
description String optional Description for this transfer which min character is 1 and max characters are 25
fields Map Map of type String

fields

Field Type Required Description
IBAN String Bank IBAN: Alphanumeric (20)
CUSTOMER_NAME String First and Last Name(Max 70 characters)
BANK_NAME String Alphanumeric (Max 70 characters)
BENEFICIARY_ADDRESS_COUNTRY_ISO_CODE String Country code

Successful response

{

    "payload": [
        {
            "transactionId": "6PX0FjAufQSJ9eEMzjdyuMpFeR4vXI_Ln08rgzdvO-I=",
            "transactionReference": "4c9f3bf3-1c92-4d79-bbf0-b3d85cee2980",
            "traceId": "82595452748399303479",
            "datePosted": "2018-09-24T09:53:52.158Z",
            "sourceMoney": {
                "amount": 10,
                "currency": "EUR",
                "displayable": "EUR10.00"
            },
            "destinationMoney": {
                "amount": 10,
                "currency": "EUR",
                "displayable": "EUR10.00"
            },
            "exchangeRate": 1,
            "totalFees": {
                "amount": 0,
                "currency": "EUR",
                "displayable": "EUR0.00"
            }
        }
    ]
}
34. Latvia
var data = JSON.stringify({
        "money" : {"amount":10, "currency":"EUR"},
        "description" : "10 EUR PAB",
        "sourceAccount" : "5001000001080652",
        "traceId" : "zeihwhp-43gs8iwyf7v4h9k",
        "bankPayee": {
          "country": "LV",
          "currency": "EUR",
          "description": "bank payment description",
          "fields": {
            "IBAN": "LV80BANK0000435195001",
            "BENEFICIARY_ADDRESS_COUNTRY_ISO_CODE":"LV",
            "CUSTOMER_NAME": "Customer Name",
            "BANK_NAME": "Name of Bank"
          }
  }
});

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === 4) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "https://demo.mifinity.com/api/payments/pab");
xhr.setRequestHeader("accept", "application/json");
xhr.setRequestHeader("content-type", "application/json");
xhr.setRequestHeader("x-api-version", "1");
xhr.setRequestHeader("key", "sQO8Q3i5-HeD7F0BqVSIN1p......qnjqMDo8Bl0GKUTvexaVm5n7g");
xhr.send(data);

Money

Field Type Required Description
amount Number Transaction value
currency String Currency code (ISO 4217): EUR

BankPayee

Field Type Required Description
country String Bank payee country code: LV
currency String Bank Payee Currency: EUR
entityId String optional BankPayee unique identification number
description String optional Description for this transfer which min character is 1 and max characters are 25
fields Map Map of type String

fields

Field Type Required Description
IBAN String Bank IBAN: Alphanumeric (21)
CUSTOMER_NAME String First and Last Name(Max 70 characters)
BANK_NAME String Alphanumeric (Max 70 characters)
BENEFICIARY_ADDRESS_COUNTRY_ISO_CODE String Country code

Successful response

{

    "payload": [
        {
            "transactionId": "6PX0FjAufQSJ9eEMzjdyuMpFeR4vXI_Ln08rgzdvO-I=",
            "transactionReference": "4c9f3bf3-1c92-4d79-bbf0-b3d85cee2980",
            "traceId": "82595452748399303479",
            "datePosted": "2018-09-24T09:53:52.158Z",
            "sourceMoney": {
                "amount": 10,
                "currency": "EUR",
                "displayable": "EUR10.00"
            },
            "destinationMoney": {
                "amount": 10,
                "currency": "EUR",
                "displayable": "EUR10.00"
            },
            "exchangeRate": 1,
            "totalFees": {
                "amount": 0,
                "currency": "EUR",
                "displayable": "EUR0.00"
            }
        }
    ]
}
35. Monaco
var data = JSON.stringify({
        "money" : {"amount":10, "currency":"EUR"},
        "description" : "10 EUR PAB",
        "sourceAccount" : "5001000001080652",
        "traceId" : "zeihwhp-43gs8iwyf7v4h9k",
        "bankPayee": {
          "country": "MC",
          "currency": "EUR",
          "description": "bank payment description",
          "fields": {
            "IBAN": "MC5810096180790123456789085",
            "BIC": "BACAMCMC",
            "BENEFICIARY_ADDRESS_COUNTRY_ISO_CODE":"MC",
            "CUSTOMER_NAME": "Customer Name",
            "BANK_NAME": "Name of Bank"
          }
  }
});

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === 4) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "https://demo.mifinity.com/api/payments/pab");
xhr.setRequestHeader("accept", "application/json");
xhr.setRequestHeader("content-type", "application/json");
xhr.setRequestHeader("x-api-version", "1");
xhr.setRequestHeader("key", "sQO8Q3i5-HeD7F0BqVSIN1p......qnjqMDo8Bl0GKUTvexaVm5n7g");
xhr.send(data);

Money

Field Type Required Description
amount Number Transaction value
currency String Currency code (ISO 4217): EUR

BankPayee

Field Type Required Description
country String Bank payee country code: MC
currency String Bank Payee Currency: EUR
entityId String optional BankPayee unique identification number
description String optional Description for this transfer which min character is 1 and max characters are 25
fields Map Map of type String

fields

Field Type Required Description
IBAN String Bank IBAN: Alphanumeric (27)
BIC String Bank BIC: Alphanumeric (Min 8, Max 11)
CUSTOMER_NAME String First and Last Name(Max 70 characters)
BANK_NAME String Alphanumeric (Max 70 characters)
BENEFICIARY_ADDRESS_COUNTRY_ISO_CODE String Country code

Successful response

{

    "payload": [
        {
            "transactionId": "6PX0FjAufQSJ9eEMzjdyuMpFeR4vXI_Ln08rgzdvO-I=",
            "transactionReference": "4c9f3bf3-1c92-4d79-bbf0-b3d85cee2980",
            "traceId": "82595452748399303479",
            "datePosted": "2018-09-24T09:53:52.158Z",
            "sourceMoney": {
                "amount": 10,
                "currency": "EUR",
                "displayable": "EUR10.00"
            },
            "destinationMoney": {
                "amount": 10,
                "currency": "EUR",
                "displayable": "EUR10.00"
            },
            "exchangeRate": 1,
            "totalFees": {
                "amount": 0,
                "currency": "EUR",
                "displayable": "EUR0.00"
            }
        }
    ]
}
36. Martinique
var data = JSON.stringify({
        "money" : {"amount":10, "currency":"EUR"},
        "description" : "10 EUR PAB",
        "sourceAccount" : "5001000001080652",
        "traceId" : "zeihwhp-43gs8iwyf7v4h9k",
        "bankPayee": {
          "country": "MQ",
          "currency": "EUR",
          "description": "bank payment description",
          "fields": {
            "IBAN": "FR7630006000011234567890189",
            "BIC": "BNPAMQMX",
           "BENEFICIARY_ADDRESS_COUNTRY_ISO_CODE":"MQ",
            "CUSTOMER_NAME": "Customer Name",
            "BANK_NAME": "Name of Bank"
          }
  }
});

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === 4) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "https://demo.mifinity.com/api/payments/pab");
xhr.setRequestHeader("accept", "application/json");
xhr.setRequestHeader("content-type", "application/json");
xhr.setRequestHeader("x-api-version", "1");
xhr.setRequestHeader("key", "sQO8Q3i5-HeD7F0BqVSIN1p......qnjqMDo8Bl0GKUTvexaVm5n7g");
xhr.send(data);

Money

Field Type Required Description
amount Number Transaction value
currency String Currency code (ISO 4217): EUR

BankPayee

Field Type Required Description
country String Bank payee country code: MQ
currency String Bank Payee Currency: EUR
entityId String optional BankPayee unique identification number
description String optional Description for this transfer which min character is 1 and max characters are 25
fields Map Map of type String

fields

Field Type Required Description
IBAN String Bank IBAN: Alphanumeric (27)
BIC String Bank BIC: Alphanumeric (Min 8, Max 11)
CUSTOMER_NAME String First and Last Name(Max 70 characters)
BANK_NAME String Alphanumeric (Max 70 characters)
BENEFICIARY_ADDRESS_COUNTRY_ISO_CODE String Country code

Successful response

{

    "payload": [
        {
            "transactionId": "6PX0FjAufQSJ9eEMzjdyuMpFeR4vXI_Ln08rgzdvO-I=",
            "transactionReference": "4c9f3bf3-1c92-4d79-bbf0-b3d85cee2980",
            "traceId": "82595452748399303479",
            "datePosted": "2018-09-24T09:53:52.158Z",
            "sourceMoney": {
                "amount": 10,
                "currency": "EUR",
                "displayable": "EUR10.00"
            },
            "destinationMoney": {
                "amount": 10,
                "currency": "EUR",
                "displayable": "EUR10.00"
            },
            "exchangeRate": 1,
            "totalFees": {
                "amount": 0,
                "currency": "EUR",
                "displayable": "EUR0.00"
            }
        }
    ]
}
37. Malta
var data = JSON.stringify({
        "money" : {"amount":10, "currency":"EUR"},
        "description" : "10 EUR PAB",
        "sourceAccount" : "5001000001080652",
        "traceId" : "zeihwhp-43gs8iwyf7v4h9k",
        "bankPayee": {
          "country": "MT",
          "currency": "EUR",
          "description": "bank payment description",
          "fields": {
            "IBAN": "MT84MALT011000012345MTLCAST001S",
            "BENEFICIARY_ADDRESS_COUNTRY_ISO_CODE":"MT",
            "CUSTOMER_NAME": "Customer Name",
            "BANK_NAME": "Name of Bank"
          }
  }
});

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === 4) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "https://demo.mifinity.com/api/payments/pab");
xhr.setRequestHeader("accept", "application/json");
xhr.setRequestHeader("content-type", "application/json");
xhr.setRequestHeader("x-api-version", "1");
xhr.setRequestHeader("key", "sQO8Q3i5-HeD7F0BqVSIN1p......qnjqMDo8Bl0GKUTvexaVm5n7g");
xhr.send(data);

Money

Field Type Required Description
amount Number Transaction value
currency String Currency code (ISO 4217): EUR

BankPayee

Field Type Required Description
country String Bank payee country code: MT
currency String Bank Payee Currency: EUR
entityId String optional BankPayee unique identification number
description String optional Description for this transfer which min character is 1 and max characters are 25
fields Map Map of type String

fields

Field Type Required Description
IBAN String Bank IBAN: Alphanumeric (31)
CUSTOMER_NAME String First and Last Name(Max 70 characters)
BANK_NAME String Alphanumeric (Max 70 characters)
BENEFICIARY_ADDRESS_COUNTRY_ISO_CODE String Country code

Successful response

{

    "payload": [
        {
            "transactionId": "6PX0FjAufQSJ9eEMzjdyuMpFeR4vXI_Ln08rgzdvO-I=",
            "transactionReference": "4c9f3bf3-1c92-4d79-bbf0-b3d85cee2980",
            "traceId": "82595452748399303479",
            "datePosted": "2018-09-24T09:53:52.158Z",
            "sourceMoney": {
                "amount": 10,
                "currency": "EUR",
                "displayable": "EUR10.00"
            },
            "destinationMoney": {
                "amount": 10,
                "currency": "EUR",
                "displayable": "EUR10.00"
            },
            "exchangeRate": 1,
            "totalFees": {
                "amount": 0,
                "currency": "EUR",
                "displayable": "EUR0.00"
            }
        }
    ]
}
38. Mexico
var data = JSON.stringify({
        "money" : {"amount":10, "currency":"MXN"},
        "description" : "10 MXN PAB",
        "sourceAccount" : "5001000001080652",
        "traceId" : "zeihwhp-43gs8iwyf7v4h9k",
        "bankPayee": {
          "country": "MX",
          "currency": "MXN",
          "description": "bank payment description",
          "fields": {
            "ACCOUNT_NUMBER": "012345678912345678",
            "PERSONAL_ID_NUMBER": "123456789012345678",
            "ACCOUNT_TYPE": "1",
            "CUSTOMER_NAME": "Customer Name",
            "BANK_NAME": "Name of Bank"
          }
  }
});

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === 4) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "https://demo.mifinity.com/api/payments/pab");
xhr.setRequestHeader("accept", "application/json");
xhr.setRequestHeader("content-type", "application/json");
xhr.setRequestHeader("x-api-version", "1");
xhr.setRequestHeader("key", "sQO8Q3i5-HeD7F0BqVSIN1p......qnjqMDo8Bl0GKUTvexaVm5n7g");
xhr.send(data);

Money

Field Type Required Description
amount Number Transaction value
currency String Currency code (ISO 4217): MXN

BankPayee

Field Type Required Description
country String Bank payee country code: MX
currency String Bank Payee Currency: MXN
entityId String optional BankPayee unique identification number
description String optional Description for this transfer which min character is 1 and max characters are 25
fields Map Map of type String

fields

Field Type Required Description
ACCOUNT_NUMBER String CLABE: 18 digits
PERSONAL_ID_NUMBER String CURP: 18 alphanumeric characters
ACCOUNT_TYPE String 0: checking account or 1: savings account
CUSTOMER_NAME String Alphanumeric (Max 70 characters)
BANK_NAME String Alphanumeric (Max 70 characters)

Successful response

{

    "payload": [
        {
            "transactionId": "6PX0FjAufQSJ9eEMzjdyuMpFeR4vXI_Ln08rgzdvO-I=",
            "transactionReference": "4c9f3bf3-1c92-4d79-bbf0-b3d85cee2980",
            "traceId": "82595452748399303479",
            "datePosted": "2018-09-24T09:53:52.158Z",
            "sourceMoney": {
                "amount": 10,
                "currency": "MXN",
                "displayable": "MXN10.00"
            },
            "destinationMoney": {
                "amount": 10,
                "currency": "MXN",
                "displayable": "MXN10.00"
            },
            "exchangeRate": 1,
            "totalFees": {
                "amount": 0,
                "currency": "MXN",
                "displayable": "MXN0.00"
            }
        }
    ]
}
39. Netherlands
var data = JSON.stringify({
       "money" : {"amount":10, "currency":"EUR"},
        "description" : "10 EUR PAB",
        "sourceAccount" : "5001000001080652",
        "traceId" : "zeihwhp-43gs8iwyf7v4h9k",
        "bankPayee": {
          "country": "NL",
          "currency": "EUR",
          "description": "bank payment description",
          "fields": {
            "IBAN": "NL91ABNA0417164300",
            "BENEFICIARY_ADDRESS_COUNTRY_ISO_CODE":"NL",
            "CUSTOMER_NAME": "Customer Name",
            "BANK_NAME": "Name of Bank"
          }
  }
});

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === 4) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "https://demo.mifinity.com/api/payments/pab");
xhr.setRequestHeader("accept", "application/json");
xhr.setRequestHeader("content-type", "application/json");
xhr.setRequestHeader("x-api-version", "1");
xhr.setRequestHeader("key", "sQO8Q3i5-HeD7F0BqVSIN1p......qnjqMDo8Bl0GKUTvexaVm5n7g");
xhr.send(data);

Money

Field Type Required Description
amount Number Transaction value
currency String Currency code (ISO 4217): EUR

BankPayee

Field Type Required Description
country String Bank payee country code: NL
currency String Bank Payee Currency: EUR
entityId String optional BankPayee unique identification number
description String optional Description for this transfer which min character is 1 and max characters are 25
fields Map Map of type String

fields

Field Type Required Description
IBAN String Bank IBAN: Alphanumeric (18)
CUSTOMER_NAME String First and Last Name(Max 70 characters)
BANK_NAME String Alphanumeric (Max 70 characters)
BENEFICIARY_ADDRESS_COUNTRY_ISO_CODE String Country code

Successful response

{

    "payload": [
        {
            "transactionId": "6PX0FjAufQSJ9eEMzjdyuMpFeR4vXI_Ln08rgzdvO-I=",
            "transactionReference": "4c9f3bf3-1c92-4d79-bbf0-b3d85cee2980",
            "traceId": "82595452748399303479",
            "datePosted": "2018-09-24T09:53:52.158Z",
            "sourceMoney": {
                "amount": 10,
                "currency": "EUR",
                "displayable": "EUR10.00"
            },
            "destinationMoney": {
                "amount": 10,
                "currency": "EUR",
                "displayable": "EUR10.00"
            },
            "exchangeRate": 1,
            "totalFees": {
                "amount": 0,
                "currency": "EUR",
                "displayable": "EUR0.00"
            }
        }
    ]
}
40. Peru
var data = JSON.stringify({
        "money" : {"amount":10, "currency":"PEN"},
        "description" : "10 PEN PAB",
        "sourceAccount" : "5001000001080652",
        "traceId" : "zeihwhp-43gs8iwyf7v4h9k",
        "bankPayee": {
          "country": "PE",
          "currency": "PEN",
          "description": "bank payment description",
          "fields": {
            "ACCOUNT_NUMBER": "00000123456789123456",
            "PERSONAL_ID_NUMBER": "12345678",
            "ACCOUNT_TYPE": "1",
            "CUSTOMER_NAME": "Customer Name",
            "BANK_NAME": "Name of Bank"
          }
  }
});

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === 4) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "https://demo.mifinity.com/api/payments/pab");
xhr.setRequestHeader("accept", "application/json");
xhr.setRequestHeader("content-type", "application/json");
xhr.setRequestHeader("x-api-version", "1");
xhr.setRequestHeader("key", "sQO8Q3i5-HeD7F0BqVSIN1p......qnjqMDo8Bl0GKUTvexaVm5n7g");
xhr.send(data);

Money

Field Type Required Description
amount Number Transaction value
currency String Currency code (ISO 4217): PEN

BankPayee

Field Type Required Description
country String Bank payee country code: PE
currency String Bank Payee Currency: PEN
entityId String optional BankPayee unique identification number
description String optional Description for this transfer which min character is 1 and max characters are 25
fields Map Map of type String

fields

Field Type Required Description
ACCOUNT_NUMBER String (20 digits)
ACCOUNT_TYPE String 0: checking account or 1: savings account
PERSONAL_ID_NUMBER String DNI: 8 digits, numeric or RUC: 11 digits, numeric or Foreigner Card: 12 digits, alphanumeric
CUSTOMER_NAME String Alphanumeric (Max 70 characters)
BANK_NAME String Alphanumeric (Max 70 characters)

Successful response

{

    "payload": [
        {
            "transactionId": "6PX0FjAufQSJ9eEMzjdyuMpFeR4vXI_Ln08rgzdvO-I=",
            "transactionReference": "4c9f3bf3-1c92-4d79-bbf0-b3d85cee2980",
            "traceId": "82595452748399303479",
            "datePosted": "2018-09-24T09:53:52.158Z",
            "sourceMoney": {
                "amount": 10,
                "currency": "PEN",
                "displayable": "PEN10.00"
            },
            "destinationMoney": {
                "amount": 10,
                "currency": "PEN",
                "displayable": "PEN10.00"
            },
            "exchangeRate": 1,
            "totalFees": {
                "amount": 0,
                "currency": "PEN",
                "displayable": "PEN0.00"
            }
        }
    ]
}
41. Poland
41.1. EUR currency example
var data = JSON.stringify({
        "money" : {"amount":10, "currency":"EUR"},
        "description" : "10 EUR PAB",
        "sourceAccount" : "5001000001080652",
        "traceId" : "zeihwhp-43gs8iwyf7v4h9k",
        "bankPayee": {
          "country": "PL",
          "currency": "EUR",
          "description": "bank payment description",
          "fields": {
            "IBAN": "PL61109010140000071219812874",
            "BENEFICIARY_ADDRESS_COUNTRY_ISO_CODE":"PL",
            "CUSTOMER_NAME": "Customer Name",
            "BANK_NAME": "Name of Bank"
          }
  }
});

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === 4) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "https://demo.mifinity.com/api/payments/pab");
xhr.setRequestHeader("accept", "application/json");
xhr.setRequestHeader("content-type", "application/json");
xhr.setRequestHeader("x-api-version", "1");
xhr.setRequestHeader("key", "sQO8Q3i5-HeD7F0BqVSIN1p......qnjqMDo8Bl0GKUTvexaVm5n7g");
xhr.send(data);

Money

Field Type Required Description
amount Number Transaction value
currency String Currency code (ISO 4217): EUR

BankPayee

Field Type Required Description
country String Bank payee country code: PL
currency String Bank Payee Currency: EUR
entityId String optional BankPayee unique identification number
description String optional Description for this transfer which min character is 1 and max characters are 25
fields Map Map of type String

fields

Field Type Required Description
IBAN String Bank IBAN: Alphanumeric (28)
CUSTOMER_NAME String First and Last Name(Max 70 characters)
BANK_NAME String Alphanumeric (Max 70 characters)
BENEFICIARY_ADDRESS_COUNTRY_ISO_CODE String Country code

Successful response

{

    "payload": [
        {
            "transactionId": "6PX0FjAufQSJ9eEMzjdyuMpFeR4vXI_Ln08rgzdvO-I=",
            "transactionReference": "4c9f3bf3-1c92-4d79-bbf0-b3d85cee2980",
            "traceId": "82595452748399303479",
            "datePosted": "2018-09-24T09:53:52.158Z",
            "sourceMoney": {
                "amount": 10,
                "currency": "EUR",
                "displayable": "EUR10.00"
            },
            "destinationMoney": {
                "amount": 10,
                "currency": "EUR",
                "displayable": "EUR10.00"
            },
            "exchangeRate": 1,
            "totalFees": {
                "amount": 0,
                "currency": "EUR",
                "displayable": "EUR0.00"
            }
        }
    ]
}
41.2. PLN currency example
var data = JSON.stringify({
        "money" : {"amount":10, "currency":"PLN"},
        "description" : "10 PLN PAB",
        "sourceAccount" : "5001000001080652",
        "traceId" : "zeihwhp-43gs8iwyf7v4h9k",
        "bankPayee": {
          "country": "PL",
          "currency": "PLN",
          "description": "bank payment description",
          "fields": {
            "IBAN": "PL61109010140000071219812874",
            "CUSTOMER_NAME": "Customer Name",
            "BANK_NAME": "Name of Bank"
          }
  }
});

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === 4) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "https://demo.mifinity.com/api/payments/pab");
xhr.setRequestHeader("accept", "application/json");
xhr.setRequestHeader("content-type", "application/json");
xhr.setRequestHeader("x-api-version", "1");
xhr.setRequestHeader("key", "sQO8Q3i5-HeD7F0BqVSIN1p......qnjqMDo8Bl0GKUTvexaVm5n7g");
xhr.send(data);

Money

Field Type Required Description
amount Number Transaction value
currency String Currency code (ISO 4217): PLN

BankPayee

Field Type Required Description
country String Bank payee country code: PL
currency String Bank Payee Currency: PLN
entityId String optional BankPayee unique identification number
description String optional Description for this transfer which min character is 1 and max characters are 25
fields Map Map of type String

fields

Field Type Required Description
IBAN String Bank IBAN: Alphanumeric (28)
CUSTOMER_NAME String First and Last Name(Max 70 characters)
BANK_NAME String Alphanumeric (Max 70 characters)

Successful response

{

    "payload": [
        {
            "transactionId": "6PX0FjAufQSJ9eEMzjdyuMpFeR4vXI_Ln08rgzdvO-I=",
            "transactionReference": "4c9f3bf3-1c92-4d79-bbf0-b3d85cee2980",
            "traceId": "82595452748399303479",
            "datePosted": "2018-09-24T09:53:52.158Z",
            "sourceMoney": {
                "amount": 10,
                "currency": "PLN",
                "displayable": "PLN10.00"
            },
            "destinationMoney": {
                "amount": 10,
                "currency": "PLN",
                "displayable": "PLN10.00"
            },
            "exchangeRate": 1,
            "totalFees": {
                "amount": 0,
                "currency": "PLN",
                "displayable": "PLN0.00"
            }
        }
    ]
}
42. Portugal
var data = JSON.stringify({
        "money" : {"amount":10, "currency":"EUR"},
        "description" : "10 EUR PAB",
        "sourceAccount" : "5001000001080652",
        "traceId" : "zeihwhp-43gs8iwyf7v4h9k",
        "bankPayee": {
          "country": "PT",
          "currency": "EUR",
          "description": "bank payment description",
          "fields": {
            "IBAN": "PT50000201231234567890154",
            "BENEFICIARY_ADDRESS_COUNTRY_ISO_CODE":"PT",
            "CUSTOMER_NAME": "Customer Name",
            "BANK_NAME": "Name of Bank"
          }
  }
});

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === 4) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "https://demo.mifinity.com/api/payments/pab");
xhr.setRequestHeader("accept", "application/json");
xhr.setRequestHeader("content-type", "application/json");
xhr.setRequestHeader("x-api-version", "1");
xhr.setRequestHeader("key", "sQO8Q3i5-HeD7F0BqVSIN1p......qnjqMDo8Bl0GKUTvexaVm5n7g");
xhr.send(data);

Money

Field Type Required Description
amount Number Transaction value
currency String Currency code (ISO 4217): EUR

BankPayee

Field Type Required Description
country String Bank payee country code: PT
currency String Bank Payee Currency: EUR
entityId String optional BankPayee unique identification number
description String optional Description for this transfer which min character is 1 and max characters are 25
fields Map Map of type String

fields

Field Type Required Description
IBAN String Bank IBAN: Alphanumeric (25)
CUSTOMER_NAME String First and Last Name(Max 70 characters)
BANK_NAME String Alphanumeric (Max 70 characters)
BENEFICIARY_ADDRESS_COUNTRY_ISO_CODE String Country code

Successful response

{

    "payload": [
        {
            "transactionId": "6PX0FjAufQSJ9eEMzjdyuMpFeR4vXI_Ln08rgzdvO-I=",
            "transactionReference": "4c9f3bf3-1c92-4d79-bbf0-b3d85cee2980",
            "traceId": "82595452748399303479",
            "datePosted": "2018-09-24T09:53:52.158Z",
            "sourceMoney": {
                "amount": 10,
                "currency": "EUR",
                "displayable": "EUR10.00"
            },
            "destinationMoney": {
                "amount": 10,
                "currency": "EUR",
                "displayable": "EUR10.00"
            },
            "exchangeRate": 1,
            "totalFees": {
                "amount": 0,
                "currency": "EUR",
                "displayable": "EUR0.00"
            }
        }
    ]
}
43. Reunion
var data = JSON.stringify({
        "money" : {"amount":10, "currency":"EUR"},
        "description" : "10 EUR PAB",
        "sourceAccount" : "5001000001080652",
        "traceId" : "zeihwhp-43gs8iwyf7v4h9k",
        "bankPayee": {
          "country": "RE",
          "currency": "EUR",
          "description": "bank payment description",
          "fields": {
            "IBAN": "FR7630006000011234567890189",
            "BIC": "BFCORERX",
            "BENEFICIARY_ADDRESS_COUNTRY_ISO_CODE":"RE",
            "CUSTOMER_NAME": "Customer Name",
            "BANK_NAME": "Name of Bank"
          }
  }
});

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === 4) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "https://demo.mifinity.com/api/payments/pab");
xhr.setRequestHeader("accept", "application/json");
xhr.setRequestHeader("content-type", "application/json");
xhr.setRequestHeader("x-api-version", "1");
xhr.setRequestHeader("key", "sQO8Q3i5-HeD7F0BqVSIN1p......qnjqMDo8Bl0GKUTvexaVm5n7g");
xhr.send(data);

Money

Field Type Required Description
amount Number Transaction value
currency String Currency code (ISO 4217): EUR

BankPayee

Field Type Required Description
country String Bank payee country code: RE
currency String Bank Payee Currency: EUR
entityId String optional BankPayee unique identification number
description String optional Description for this transfer which min character is 1 and max characters are 25
fields Map Map of type String

fields

Field Type Required Description
IBAN String Bank IBAN: Alphanumeric (27)
BIC String Bank BIC: Alphanumeric (Min 8, Max 11)
CUSTOMER_NAME String First and Last Name(Max 70 characters)
BANK_NAME String Alphanumeric (Max 70 characters)
BENEFICIARY_ADDRESS_COUNTRY_ISO_CODE String Country code

Successful response

{

    "payload": [
        {
            "transactionId": "6PX0FjAufQSJ9eEMzjdyuMpFeR4vXI_Ln08rgzdvO-I=",
            "transactionReference": "4c9f3bf3-1c92-4d79-bbf0-b3d85cee2980",
            "traceId": "82595452748399303479",
            "datePosted": "2018-09-24T09:53:52.158Z",
            "sourceMoney": {
                "amount": 10,
                "currency": "EUR",
                "displayable": "EUR10.00"
            },
            "destinationMoney": {
                "amount": 10,
                "currency": "EUR",
                "displayable": "EUR10.00"
            },
            "exchangeRate": 1,
            "totalFees": {
                "amount": 0,
                "currency": "EUR",
                "displayable": "EUR0.00"
            }
        }
    ]
}
44. Romania
44.1. EUR currency example
var data = JSON.stringify({
        "money" : {"amount":10, "currency":"EUR"},
        "description" : "10 EUR PAB",
        "sourceAccount" : "5001000001080652",
        "traceId" : "zeihwhp-43gs8iwyf7v4h9k",
        "bankPayee": {
          "country": "RO",
          "currency": "EUR",
          "description": "bank payment description",
          "fields": {
            "IBAN": "RO49AAAA1B31007593840000",
            "BENEFICIARY_ADDRESS_COUNTRY_ISO_CODE":"RO",
            "CUSTOMER_NAME": "Customer Name",
            "BANK_NAME": "Name of Bank"
          }
  }
});

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === 4) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "https://demo.mifinity.com/api/payments/pab");
xhr.setRequestHeader("accept", "application/json");
xhr.setRequestHeader("content-type", "application/json");
xhr.setRequestHeader("x-api-version", "1");
xhr.setRequestHeader("key", "sQO8Q3i5-HeD7F0BqVSIN1p......qnjqMDo8Bl0GKUTvexaVm5n7g");
xhr.send(data);

Money

Field Type Required Description
amount Number Transaction value
currency String Currency code (ISO 4217): EUR

BankPayee

Field Type Required Description
country String Bank payee country code: RO
currency String Bank Payee Currency: EUR
entityId String optional BankPayee unique identification number
description String optional Description for this transfer which min character is 1 and max characters are 25
fields Map Map of type String

fields

Field Type Required Description
IBAN String Bank IBAN: Alphanumeric (24)
CUSTOMER_NAME String First and Last Name(Max 70 characters)
BANK_NAME String Alphanumeric (Max 70 characters)
BENEFICIARY_ADDRESS_COUNTRY_ISO_CODE String Country code

Successful response

{

    "payload": [
        {
            "transactionId": "6PX0FjAufQSJ9eEMzjdyuMpFeR4vXI_Ln08rgzdvO-I=",
            "transactionReference": "4c9f3bf3-1c92-4d79-bbf0-b3d85cee2980",
            "traceId": "82595452748399303479",
            "datePosted": "2018-09-24T09:53:52.158Z",
            "sourceMoney": {
                "amount": 10,
                "currency": "EUR",
                "displayable": "EUR10.00"
            },
            "destinationMoney": {
                "amount": 10,
                "currency": "EUR",
                "displayable": "EUR10.00"
            },
            "exchangeRate": 1,
            "totalFees": {
                "amount": 0,
                "currency": "EUR",
                "displayable": "EUR0.00"
            }
        }
    ]
}
44.2. RON currency example
var data = JSON.stringify({
        "money" : {"amount":10, "currency":"RON"},
        "description" : "10 RON PAB",
        "sourceAccount" : "5001000001080652",
        "traceId" : "zeihwhp-43gs8iwyf7v4h9k",
        "bankPayee": {
          "country": "RO",
          "currency": "RON",
          "description": "bank payment description",
          "fields": {
            "IBAN": "RO49AAAA1B31007593840000",
            "CUSTOMER_NAME": "Customer Name",
            "BANK_NAME": "Name of Bank"
          }
  }
});

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === 4) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "https://demo.mifinity.com/api/payments/pab");
xhr.setRequestHeader("accept", "application/json");
xhr.setRequestHeader("content-type", "application/json");
xhr.setRequestHeader("x-api-version", "1");
xhr.setRequestHeader("key", "sQO8Q3i5-HeD7F0BqVSIN1p......qnjqMDo8Bl0GKUTvexaVm5n7g");
xhr.send(data);

Money

Field Type Required Description
amount Number Transaction value
currency String Currency code (ISO 4217): RON

BankPayee

Field Type Required Description
country String Bank payee country code: RO
currency String Bank Payee Currency: RON
entityId String optional BankPayee unique identification number
description String optional Description for this transfer which min character is 1 and max characters are 25
fields Map Map of type String

fields

Field Type Required Description
IBAN String Bank IBAN: Alphanumeric (24)
CUSTOMER_NAME String First and Last Name(Max 70 characters)
BANK_NAME String Alphanumeric (Max 70 characters)

Successful response

{

    "payload": [
        {
            "transactionId": "6PX0FjAufQSJ9eEMzjdyuMpFeR4vXI_Ln08rgzdvO-I=",
            "transactionReference": "4c9f3bf3-1c92-4d79-bbf0-b3d85cee2980",
            "traceId": "82595452748399303479",
            "datePosted": "2018-09-24T09:53:52.158Z",
            "sourceMoney": {
                "amount": 10,
                "currency": "EUR",
                "displayable": "EUR10.00"
            },
            "destinationMoney": {
                "amount": 10,
                "currency": "EUR",
                "displayable": "EUR10.00"
            },
            "exchangeRate": 1,
            "totalFees": {
                "amount": 0,
                "currency": "EUR",
                "displayable": "EUR0.00"
            }
        }
    ]
}
45. Sweden
45.1. SEK currency example
var data = JSON.stringify({
        "money" : {"amount":10, "currency":"SEK"},
        "description" : "10 SEK PAB",
        "sourceAccount" : "5001000001080652",
        "traceId" : "zeihwhp-43gs8iwyf7v4h9k",
        "bankPayee": {
          "country": "SE",
          "currency": "SEK",
          "description": "bank payment description",
          "fields": {
            "IBAN": "SE4550000000058398257466",
            "ACCOUNT_NUMBER": "310910412",
            "BANK_CODE": "6000",
            "CUSTOMER_ADDRESS_1": "asdsasadsadsadas",
            "CUSTOMER_CITY": "city",
            "BENEFICIARY_ADDRESS_COUNTRY_ISO_CODE":"SE",
            "CUSTOMER_NAME": "Customer Name",
            "BANK_NAME": "Name of Bank"
          }
  }
});

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === 4) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "https://demo.mifinity.com/api/payments/pab");
xhr.setRequestHeader("accept", "application/json");
xhr.setRequestHeader("content-type", "application/json");
xhr.setRequestHeader("x-api-version", "1");
xhr.setRequestHeader("key", "sQO8Q3i5-HeD7F0BqVSIN1p......qnjqMDo8Bl0GKUTvexaVm5n7g");
xhr.send(data);

Money

Field Type Required Description
amount Number Transaction value
currency String Currency code (ISO 4217): SEK

BankPayee

Field Type Required Description
country String Bank payee country code: SE
currency String Bank Payee Currency: SEK
entityId String optional BankPayee unique identification number
description String optional Description for this transfer which min character is 1 and max characters are 25
fields Map Map of type String

fields

Field Type Required Description
ACCOUNT_NUMBER String normally 6-10 digits
BANK_CODE String normally 4 digits (but 5 digits in case of Swedbank)
CUSTOMER_CITY String Alphanumeric (Max 25 characters
CUSTOMER_ADDRESS_1 String Alphanumeric (Max 25 characters
CUSTOMER_NAME String First and Last Name(Max 70 characters)
BANK_NAME String Alphanumeric (Max 70 characters)
BENEFICIARY_ADDRESS_COUNTRY_ISO_CODE String Country code

Successful response

{

    "payload": [
        {
            "transactionId": "6PX0FjAufQSJ9eEMzjdyuMpFeR4vXI_Ln08rgzdvO-I=",
            "transactionReference": "4c9f3bf3-1c92-4d79-bbf0-b3d85cee2980",
            "traceId": "82595452748399303479",
            "datePosted": "2018-09-24T09:53:52.158Z",
            "sourceMoney": {
                "amount": 10,
                "currency": "SEK",
                "displayable": "SEK10.00"
            },
            "destinationMoney": {
                "amount": 10,
                "currency": "SEK",
                "displayable": "SEK10.00"
            },
            "exchangeRate": 1,
            "totalFees": {
                "amount": 0,
                "currency": "SEK",
                "displayable": "SEK0.00"
            }
        }
    ]
}
45.2. EUR currency example
var data = JSON.stringify({
        "money" : {"amount":10, "currency":"EUR"},
        "description" : "10 EUR PAB",
        "sourceAccount" : "5001000001080652",
        "traceId" : "zeihwhp-43gs8iwyf7v4h9k",
        "bankPayee": {
          "country": "SE",
          "currency": "EUR",
          "description": "bank payment description",
          "fields": {
            "IBAN": "SE4550000000058398257466",
            "ACCOUNT_NUMBER": "310910412",
            "BANK_CODE": "6000",
            "BENEFICIARY_ADDRESS_COUNTRY_ISO_CODE":"SE",
            "CUSTOMER_NAME": "Customer Name",
            "BANK_NAME": "Name of Bank"
          }
  }
});

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === 4) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "https://demo.mifinity.com/api/payments/pab");
xhr.setRequestHeader("accept", "application/json");
xhr.setRequestHeader("content-type", "application/json");
xhr.setRequestHeader("x-api-version", "1");
xhr.setRequestHeader("key", "sQO8Q3i5-HeD7F0BqVSIN1p......qnjqMDo8Bl0GKUTvexaVm5n7g");
xhr.send(data);

Money

Field Type Required Description
amount Number Transaction value
currency String Currency code (ISO 4217): EUR

BankPayee

Field Type Required Description
country String Bank payee country code: SE
currency String Bank Payee Currency: EUR
entityId String optional BankPayee unique identification number
description String optional Description for this transfer which min character is 1 and max characters are 25
fields Map Map of type String

fields

Field Type Required Description
IBAN String Bank IBAN: Alphanumeric (24)
CUSTOMER_NAME String First and Last Name(Max 70 characters)
BANK_NAME String Alphanumeric (Max 70 characters)
BENEFICIARY_ADDRESS_COUNTRY_ISO_CODE String Country code

Successful response

{

    "payload": [
        {
            "transactionId": "6PX0FjAufQSJ9eEMzjdyuMpFeR4vXI_Ln08rgzdvO-I=",
            "transactionReference": "4c9f3bf3-1c92-4d79-bbf0-b3d85cee2980",
            "traceId": "82595452748399303479",
            "datePosted": "2018-09-24T09:53:52.158Z",
            "sourceMoney": {
                "amount": 10,
                "currency": "EUR",
                "displayable": "EUR10.00"
            },
            "destinationMoney": {
                "amount": 10,
                "currency": "EUR",
                "displayable": "EUR10.00"
            },
            "exchangeRate": 1,
            "totalFees": {
                "amount": 0,
                "currency": "EUR",
                "displayable": "EUR0.00"
            }
        }
    ]
}
46. Slovenia
var data = JSON.stringify({
        "money" : {"amount":10, "currency":"EUR"},
        "description" : "10 EUR PAB",
        "sourceAccount" : "5001000001080652",
        "traceId" : "zeihwhp-43gs8iwyf7v4h9k",
        "bankPayee": {
          "country": "SI",
          "currency": "EUR",
          "description": "bank payment description",
          "fields": {
            "IBAN": "SI56031001001300933",
            "BENEFICIARY_ADDRESS_COUNTRY_ISO_CODE":"SI",
            "CUSTOMER_NAME": "Customer Name",
            "BANK_NAME": "Name of Bank"
          }
  }
});

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === 4) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "https://demo.mifinity.com/api/payments/pab");
xhr.setRequestHeader("accept", "application/json");
xhr.setRequestHeader("content-type", "application/json");
xhr.setRequestHeader("x-api-version", "1");
xhr.setRequestHeader("key", "sQO8Q3i5-HeD7F0BqVSIN1p......qnjqMDo8Bl0GKUTvexaVm5n7g");
xhr.send(data);

Money

Field Type Required Description
amount Number Transaction value
currency String Currency code (ISO 4217): EUR

BankPayee

Field Type Required Description
country String Bank payee country code: SI
currency String Bank Payee Currency: EUR
entityId String optional BankPayee unique identification number
description String optional Description for this transfer which min character is 1 and max characters are 25
fields Map Map of type String

fields

Field Type Required Description
IBAN String Bank IBAN: Alphanumeric (19
CUSTOMER_NAME String First and Last Name(Max 70 characters)
BANK_NAME String Alphanumeric (Max 70 characters)
BENEFICIARY_ADDRESS_COUNTRY_ISO_CODE String Country code

Successful response

{

    "payload": [
        {
            "transactionId": "6PX0FjAufQSJ9eEMzjdyuMpFeR4vXI_Ln08rgzdvO-I=",
            "transactionReference": "4c9f3bf3-1c92-4d79-bbf0-b3d85cee2980",
            "traceId": "82595452748399303479",
            "datePosted": "2018-09-24T09:53:52.158Z",
            "sourceMoney": {
                "amount": 10,
                "currency": "EUR",
                "displayable": "EUR10.00"
            },
            "destinationMoney": {
                "amount": 10,
                "currency": "EUR",
                "displayable": "EUR10.00"
            },
            "exchangeRate": 1,
            "totalFees": {
                "amount": 0,
                "currency": "EUR",
                "displayable": "EUR0.00"
            }
        }
    ]
}
47. Slovakia (Slovak Republic)
var data = JSON.stringify({
        "money" : {"amount":10, "currency":"EUR"},
        "description" : "10 EUR PAB",
        "sourceAccount" : "5001000001080652",
        "traceId" : "zeihwhp-43gs8iwyf7v4h9k",
        "bankPayee": {
          "country": "SK",
          "currency": "EUR",
          "description": "bank payment description",
          "fields": {
            "IBAN": "SK9311110000001057361004",
            "BENEFICIARY_ADDRESS_COUNTRY_ISO_CODE":"SK",
            "CUSTOMER_NAME": "Customer Name",
            "BANK_NAME": "Name of Bank"
          }
  }
});

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === 4) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "https://demo.mifinity.com/api/payments/pab");
xhr.setRequestHeader("accept", "application/json");
xhr.setRequestHeader("content-type", "application/json");
xhr.setRequestHeader("x-api-version", "1");
xhr.setRequestHeader("key", "sQO8Q3i5-HeD7F0BqVSIN1p......qnjqMDo8Bl0GKUTvexaVm5n7g");
xhr.send(data);

Money

Field Type Required Description
amount Number Transaction value
currency String Currency code (ISO 4217): EUR

BankPayee

Field Type Required Description
country String Bank payee country code: SK
currency String Bank Payee Currency: EUR
entityId String optional BankPayee unique identification number
description String optional Description for this transfer which min character is 1 and max characters are 25
fields Map Map of type String

fields

Field Type Required Description
IBAN String Bank IBAN: Alphanumeric (24)
CUSTOMER_NAME String First and Last Name(Max 70 characters)
BANK_NAME String Alphanumeric (Max 70 characters)
BENEFICIARY_ADDRESS_COUNTRY_ISO_CODE String Country code

Successful response

{

    "payload": [
        {
            "transactionId": "6PX0FjAufQSJ9eEMzjdyuMpFeR4vXI_Ln08rgzdvO-I=",
            "transactionReference": "4c9f3bf3-1c92-4d79-bbf0-b3d85cee2980",
            "traceId": "82595452748399303479",
            "datePosted": "2018-09-24T09:53:52.158Z",
            "sourceMoney": {
                "amount": 10,
                "currency": "EUR",
                "displayable": "EUR10.00"
            },
            "destinationMoney": {
                "amount": 10,
                "currency": "EUR",
                "displayable": "EUR10.00"
            },
            "exchangeRate": 1,
            "totalFees": {
                "amount": 0,
                "currency": "EUR",
                "displayable": "EUR0.00"
            }
        }
    ]
}
48. San Marino
var data = JSON.stringify({
        "money" : {"amount":10, "currency":"EUR"},
        "description" : "10 EUR PAB",
        "sourceAccount" : "5001000001080652",
        "traceId" : "zeihwhp-43gs8iwyf7v4h9k",
        "bankPayee": {
          "country": "SM",
          "currency": "EUR",
          "description": "bank payment description",
          "fields": {
            "IBAN": "SM86U0322509800000000270100",
            "CUSTOMER_NAME": "Customer Name",
            "BANK_NAME": "Name of Bank"
          }
  }
});

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === 4) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "https://demo.mifinity.com/api/payments/pab");
xhr.setRequestHeader("accept", "application/json");
xhr.setRequestHeader("content-type", "application/json");
xhr.setRequestHeader("x-api-version", "1");
xhr.setRequestHeader("key", "sQO8Q3i5-HeD7F0BqVSIN1p......qnjqMDo8Bl0GKUTvexaVm5n7g");
xhr.send(data);

Money

Field Type Required Description
amount Number Transaction value
currency String Currency code (ISO 4217): EUR

BankPayee

Field Type Required Description
country String Bank payee country code: SM
currency String Bank Payee Currency: EUR
entityId String optional BankPayee unique identification number
description String optional Description for this transfer which min character is 1 and max characters are 25
fields Map Map of type String

fields

Field Type Required Description
IBAN String Bank IBAN: Alphanumeric (27)
CUSTOMER_NAME String First and Last Name(Max 70 characters)
BANK_NAME String Alphanumeric (Max 70 characters)

Successful response

{

    "payload": [
        {
            "transactionId": "6PX0FjAufQSJ9eEMzjdyuMpFeR4vXI_Ln08rgzdvO-I=",
            "transactionReference": "4c9f3bf3-1c92-4d79-bbf0-b3d85cee2980",
            "traceId": "82595452748399303479",
            "datePosted": "2018-09-24T09:53:52.158Z",
            "sourceMoney": {
                "amount": 10,
                "currency": "EUR",
                "displayable": "EUR10.00"
            },
            "destinationMoney": {
                "amount": 10,
                "currency": "EUR",
                "displayable": "EUR10.00"
            },
            "exchangeRate": 1,
            "totalFees": {
                "amount": 0,
                "currency": "EUR",
                "displayable": "EUR0.00"
            }
        }
    ]
}
49. Uruguay
var data = JSON.stringify({
        "money" : {"amount":10, "currency":"UYU"},
        "description" : "10 UYU PAB",
        "sourceAccount" : "5001000001080652",
        "traceId" : "zeihwhp-43gs8iwyf7v4h9k",
        "bankPayee": {
          "country": "UY",
          "currency": "UYU",
          "description": "bank payment description",
          "fields": {
            "ACCOUNT_NUMBER": "01234567891234",
            "PERSONAL_ID_NUMBER": "12345678",
            "ACCOUNT_TYPE": "1",
            "CUSTOMER_NAME": "Customer Name",
            "BANK_NAME": "Name of Bank"
          }
  }
});

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === 4) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "https://demo.mifinity.com/api/payments/pab");
xhr.setRequestHeader("accept", "application/json");
xhr.setRequestHeader("content-type", "application/json");
xhr.setRequestHeader("x-api-version", "1");
xhr.setRequestHeader("key", "sQO8Q3i5-HeD7F0BqVSIN1p......qnjqMDo8Bl0GKUTvexaVm5n7g");
xhr.send(data);

Money

Field Type Required Description
amount Number Transaction value
currency String Currency code (ISO 4217): UYU

BankPayee

Field Type Required Description
country String Bank payee country code: UY
currency String Bank Payee Currency: UYU
entityId String optional BankPayee unique identification number
description String optional Description for this transfer which min character is 1 and max characters are 25
fields Map Map of type String

fields

Field Type Required Description
ACCOUNT_NUMBER String (Min 7, Max 14 digits)
PERSONAL_ID_NUMBER String Cedula de Identidad: 8 digits, numeric or RUT: 12 digits, numeric
ACCOUNT_TYPE String 0: checking account or 1: savings account
CUSTOMER_NAME String First and Last Name(Max 70 characters)
BANK_NAME String Alphanumeric (Max 70 characters)

Successful response

{

    "payload": [
        {
            "transactionId": "6PX0FjAufQSJ9eEMzjdyuMpFeR4vXI_Ln08rgzdvO-I=",
            "transactionReference": "4c9f3bf3-1c92-4d79-bbf0-b3d85cee2980",
            "traceId": "82595452748399303479",
            "datePosted": "2018-09-24T09:53:52.158Z",
            "sourceMoney": {
                "amount": 10,
                "currency": "UYU",
                "displayable": "UYU10.00"
            },
            "destinationMoney": {
                "amount": 10,
                "currency": "UYU",
                "displayable": "UYU10.00"
            },
            "exchangeRate": 1,
            "totalFees": {
                "amount": 0,
                "currency": "UYU",
                "displayable": "UYU0.00"
            }
        }
    ]
}
50. Mayotte
var data = JSON.stringify({
        "money" : {"amount":10, "currency":"EUR"},
        "description" : "10 EUR PAB",
        "sourceAccount" : "5001000001080652",
        "traceId" : "zeihwhp-43gs8iwyf7v4h9k",
        "bankPayee": {
          "country": "YT",
          "currency": "EUR",
          "description": "bank payment description",
          "fields": {
            "IBAN": "FR7630006000011234567890189",
            "BIC": "BFCOYTYT",
            "BENEFICIARY_ADDRESS_COUNTRY_ISO_CODE":"YT",
            "CUSTOMER_NAME": "Customer Name",
            "BANK_NAME": "Name of Bank"
          }
  }
});

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === 4) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "https://demo.mifinity.com/api/payments/pab");
xhr.setRequestHeader("accept", "application/json");
xhr.setRequestHeader("content-type", "application/json");
xhr.setRequestHeader("x-api-version", "1");
xhr.setRequestHeader("key", "sQO8Q3i5-HeD7F0BqVSIN1p......qnjqMDo8Bl0GKUTvexaVm5n7g");
xhr.send(data);

Money

Field Type Required Description
amount Number Transaction value
currency String Currency code (ISO 4217): EUR

BankPayee

Field Type Required Description
country String Bank payee country code: YT
currency String Bank Payee Currency: EUR
entityId String optional BankPayee unique identification number
description String optional Description for this transfer which min character is 1 and max characters are 25
fields Map Map of type String

fields

Field Type Required Description
IBAN String Bank IBAN: Alphanumeric (27)
BIC String Bank BIC: Alphanumeric (Min 8, Max 11)
CUSTOMER_NAME String First and Last Name(Max 70 characters)
BANK_NAME String Alphanumeric (Max 70 characters)
BENEFICIARY_ADDRESS_COUNTRY_ISO_CODE String Country code

Successful response

{

    "payload": [
        {
            "transactionId": "6PX0FjAufQSJ9eEMzjdyuMpFeR4vXI_Ln08rgzdvO-I=",
            "transactionReference": "4c9f3bf3-1c92-4d79-bbf0-b3d85cee2980",
            "traceId": "82595452748399303479",
            "datePosted": "2018-09-24T09:53:52.158Z",
            "sourceMoney": {
                "amount": 10,
                "currency": "EUR",
                "displayable": "EUR10.00"
            },
            "destinationMoney": {
                "amount": 10,
                "currency": "EUR",
                "displayable": "EUR10.00"
            },
            "exchangeRate": 1,
            "totalFees": {
                "amount": 0,
                "currency": "EUR",
                "displayable": "EUR0.00"
            }
        }
    ]
}

• Transaction Information

o Get Transactions

An API call that gets transactions for a particular account holder. We return the transactions ordered by decreasing creation date, new transactions displayed first. We return the transactions in pages, such that you can use the page parameter to get the next list of transactions after the first API call. If you want to get the status of a single transaction you can use Get Transaction Status API call. It is recommended to always use the fromdate and todate parameters.

To get transaction, use this code:


var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === 4) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://demo.mifinity.com/api/account-holders/{accountHolderId}/transactions?fromdate=2020-03-22T00:00:00.000Z&todate=2020-03-22T23:59:59.999Z&page=1&size=50");
xhr.setRequestHeader("accept", "application/json");
xhr.setRequestHeader("content-type", "application/json");
xhr.setRequestHeader("x-api-version", "1");
xhr.setRequestHeader("key", "sQO8Q3i5-HeD7F0BqVSIN1p......qnjqMDo8Bl0GKUTvexaVm5n7g");

HTTP Request

GET https://demo.mifinity.com/api/account-holders/{accountHolderId}/transactions?fromdate=2020-03-22T00:00:00.000Z&todate=2020-03-22T23:59:59.999Z&page=1&size=50

Parameter Type Description
Content-Type String Use value ‘application/json’
Accept String Use value ‘application/json’
x-api-version String Use value 1
Key String API key

Parameters

Field Type Required Description
accountHolderId String Unique account Holder Id (Path Variable)
fromdate DateTime optional transactions from date (Request Parameter)
todate DateTime optional transactions to date (Request Parameter)
description String optional Description for transaction
traceId String optional Trace ID for transaction
arn String optional ARN Number
accountNumber String optional Account Number
statusCode Integer optional Status Code
transactionReference String optional Transaction Reference
paymentCategoryType String optional Payment Category containing:GAMING, REMITTANCE, REFUND, PAYROLL, EXPENSES, E_COMMERCE, TRAVEL and NOT_SET
eventType String optional Event type for transactions: LOAD_FROM_CARD, LOAD_FROM_BANK, LOAD_FROM_SGPG etc
minSourceAmount BigDecimal optional Min source amount
maxSourceAmount BigDecimal optional Max source amount
currencyCode String optional Currency of the transfer
minAmount BigDecimal optional Min transaction amount
maxAmount BigDecimal optional Max transaction amount
page int optional page that will be returned
size int optional The number of transactons history

Successful response

{
    "payload": [
        {
            "money": {
                "amount": 100,
                "currency": "EUR",
                "presentationAmount": "EUR100.00"
            },
            "source": "Card. 448541XXXXXX7109",
            "destination": "50010001000015",
            "description": "test",
            "transactionStatus": 3,
            "transactionStatusDescription": "Submitted",
            "traceId": "eadf3bf9-4536-49e3-a309-b6e72c17fa93",
            "transactionReference": "5131dc21-b4cc-461c-b4d7-9141ff7fa638",
            "createdOn": "2020-03-22T10:07:19.795Z",
            "paymentCategoryType": "NOT_SET",
            "entityId": "nIElxgeQoyqOWkxRrbm2i8tHsbJXlj0Nukh8fH1gW6o=",
            "eventType": "LOAD_FROM_CARD_SGPG",
            "accountEntries": [
                {
                    "money": {
                        "amount": 100,
                        "currency": "EUR",
                        "presentationAmount": "EUR100.00"
                    },
                    "datePosted": "2020-03-22T10:07:19.796Z",
                    "description": "test",
                    "eventName": "Load From VISA",
                    "transactionReference": "5131dc21-b4cc-461c-b4d7-9141ff7fa638",
                    "accountFee": false
                }
            ],
            "sourceAccountEntries": [
                {
                    "money": {
                        "amount": -100,
                        "currency": "EUR",
                        "presentationAmount": "EUR-100.00"
                    },
                    "datePosted": "2020-03-22T10:07:19.796Z",
                    "description": "test",
                    "eventName": "Load From VISA",
                    "transactionReference": "5131dc21-b4cc-461c-b4d7-9141ff7fa638",
                    "accountFee": false
                }
            ],
            "status": "OK",
            "type": "LOAD_FROM_CARD_SGPG",
            "processorType": "SECURE_TRADING",
            "initiatorUser": "akfz44tUsbYfT5OmltBXEW0S5SKVi0IutcZF2_VoWrw=",
            "initiatorAccountHolderId": "ECouoAw29Jj5F35UZe4sHAvpWs_bb6Y6owRtI1U0KYc="
        }
    ],
    "page": {
        "size": 50,
        "page": 0,
        "total": 1
    }  
}

Successful Response

Field Type Description
money Money Complex Object Containing money amount
source String a source account
destination String a destination account
descripton String Description for the transaction
transactionStatus Integer Related with legacyTransactionState: RECEIVED(“1”), INTERNAL_ERROR(“2”), SUBMITTED(“3”), PROCESSED_BY_PSP(“4”), PROCESSED_BY_ACQUIRER(“5”), REJECTED(“6”), IN_PROGRESS(“7”) and ON_HOLD_KYC(“8)
transactionStatusDescription String Related with legacyTransactionState: RECEIVED("1”), INTERNAL_ERROR(“2”), SUBMITTED(“3”), PROCESSED_BY_PSP(“4”), PROCESSED_BY_ACQUIRER(“5”), REJECTED(“6”), IN_PROGRESS(“7”) and ON_HOLD_KYC(“8)
traceId String Unique transaction identifier, Trace id of original request
transactionReference String Transaction Reference
createdOn String Date and time token generation timestamp
paymentCategoryType String Complex enum Object containing: GAMING_PAYOUT, REMITTANCE, REFUND, PAYROLL, EXPENSES, E_COMMERCE, TRAVEL and NOT_SET
entityId String Unique
eventType String Complex enum Object containing: LOAD_FROM_CARD, LOAD_FROM_BANK, LOAD_FROM_SGPG, PAY_MY_CARD, PAY_ANY_CARD,PAY_ANY_BANK, LOAD_FROM_CARD_SGPG and so on
status String status for http request
type String that is same with eventType
processorType String Complex enum Object containing: FINTRAX, ENVOY, REALEX, UNION_PAY, EARTHPORT, SECURE_TRADING,REPORTSENDER and so on
initiatorUser String Unique user id
initiatorAccountHolderId String Unique account holder id

AccountEntries & SourceAccountEntries

Field Type Description
money Money Complex Object Containing money amount
datePosted String Date and time token posted timestamp
descripton String Transaction creation timestamp
eventName String Transaction Name
transactionReference String Transaction Reference
accountFee boolean Defines whether entry is an account fee or not

Money

Field Type Description
amount BigDecimal The amount of Money
money String Currency in ISO 4217 Format
presentationAmount String Consists of Currency Code and Amount

o Retrieving a Single Transaction

To retrieve a single transaction it is recommended to use either the traceId or transactionReference, both of which are unique. An example is shown below:

To get transaction by traceId, use this code:


var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === 4) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://demo.mifinity.com/api/account-holders/{accountHolderId}/transactions?traceId= eadf3bf9-4536-49e3-a309-b6e72c17fa93");
xhr.setRequestHeader("accept", "application/json");
xhr.setRequestHeader("content-type", "application/json");
xhr.setRequestHeader("x-api-version", "1");
xhr.setRequestHeader("key", "sQO8Q3i5-HeD7F0BqVSIN1p......qnjqMDo8Bl0GKUTvexaVm5n7g");

HTTP Request

GET https://demo.mifinity.com/api/account-holders/{accountHolderId}/transactions?traceId= eadf3bf9-4536-49e3-a309-b6e72c17fa93

To get transaction by transactionReference, use this code:


var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === 4) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://demo.mifinity.com/api/account-holders/{accountHolderId}/transactions?transactionReference= 5131dc21-b4cc-461c-b4d7-9141ff7fa638");
xhr.setRequestHeader("accept", "application/json");
xhr.setRequestHeader("content-type", "application/json");
xhr.setRequestHeader("x-api-version", "1");
xhr.setRequestHeader("key", "sQO8Q3i5-HeD7F0BqVSIN1p......qnjqMDo8Bl0GKUTvexaVm5n7g");

HTTP Request

GET https://demo.mifinity.com/api/account-holders/{accountHolderId}/transactions?transactionReference= 5131dc21-b4cc-461c-b4d7-9141ff7fa638

Parameter Type Description
Content-Type String Use value ‘application/json’
Accept String Use value ‘application/json’
x-api-version String Use value 1
Key String API key

Parameters

Field Type Required Description
accountHolderId String Unique account Holder Id (Path Variable)
fromdate DateTime optional transactions from date (Request Parameter)
todate DateTime optional transactions to date (Request Parameter)
description String optional Description for transaction
traceId String optional Trace ID for transaction
arn String optional ARN Number
accountNumber String optional Account Number
statusCode Integer optional Status Code
transactionReference String optional Transaction Reference
paymentCategoryType String optional Payment Category containing:GAMING, REMITTANCE, REFUND, PAYROLL, EXPENSES, E_COMMERCE, TRAVEL and NOT_SET
eventType String optional Event type for transactions: LOAD_FROM_CARD, LOAD_FROM_BANK, LOAD_FROM_SGPG etc
minSourceAmount BigDecimal optional Min source amount
maxSourceAmount BigDecimal optional Max source amount
currencyCode String optional Currency of the transfer
minAmount BigDecimal optional Min transaction amount
maxAmount BigDecimal optional Max transaction amount
page int optional page that will be returned
size int optional The number of transactons history

Successful response

{
    "payload": [
        {
            "money": {
                "amount": 100,
                "currency": "EUR",
                "presentationAmount": "EUR100.00"
            },
            "source": "Card. 448541XXXXXX7109",
            "destination": "50010001000015",
            "description": "test",
            "transactionStatus": 3,
            "transactionStatusDescription": "Submitted",
            "traceId": "eadf3bf9-4536-49e3-a309-b6e72c17fa93",
            "transactionReference": "5131dc21-b4cc-461c-b4d7-9141ff7fa638",
            "createdOn": "2020-03-22T10:07:19.795Z",
            "paymentCategoryType": "NOT_SET",
            "entityId": "nIElxgeQoyqOWkxRrbm2i8tHsbJXlj0Nukh8fH1gW6o=",
            "eventType": "LOAD_FROM_CARD_SGPG",
            "accountEntries": [
                {
                    "money": {
                        "amount": 100,
                        "currency": "EUR",
                        "presentationAmount": "EUR100.00"
                    },
                    "datePosted": "2020-03-22T10:07:19.796Z",
                    "description": "test",
                    "eventName": "Load From VISA",
                    "transactionReference": "5131dc21-b4cc-461c-b4d7-9141ff7fa638",
                    "accountFee": false
                }
            ],
            "sourceAccountEntries": [
                {
                    "money": {
                        "amount": -100,
                        "currency": "EUR",
                        "presentationAmount": "EUR-100.00"
                    },
                    "datePosted": "2020-03-22T10:07:19.796Z",
                    "description": "test",
                    "eventName": "Load From VISA",
                    "transactionReference": "5131dc21-b4cc-461c-b4d7-9141ff7fa638",
                    "accountFee": false
                }
            ],
            "status": "OK",
            "type": "LOAD_FROM_CARD_SGPG",
            "processorType": "SECURE_TRADING",
            "initiatorUser": "akfz44tUsbYfT5OmltBXEW0S5SKVi0IutcZF2_VoWrw=",
            "initiatorAccountHolderId": "ECouoAw29Jj5F35UZe4sHAvpWs_bb6Y6owRtI1U0KYc="
        }
    ],
    "page": {
        "size": 50,
        "page": 0,
        "total": 1
    }  
}

Successful Response

Field Type Description
money Money Complex Object Containing money amount
source String a source account
destination String a destination account
descripton String Description for the transaction
transactionStatus Integer Related with legacyTransactionState: RECEIVED("1”), INTERNAL_ERROR(“2”), SUBMITTED(“3”), PROCESSED_BY_PSP(“4”), PROCESSED_BY_ACQUIRER(“5”), REJECTED(“6”), IN_PROGRESS(“7”) and ON_HOLD_KYC(“8)
transactionStatusDescription String Related with legacyTransactionState: RECEIVED("1”), INTERNAL_ERROR(“2”), SUBMITTED(“3”), PROCESSED_BY_PSP(“4”), PROCESSED_BY_ACQUIRER(“5”), REJECTED(“6”), IN_PROGRESS(“7”) and ON_HOLD_KYC(“8)
traceId String Unique transaction identifier, Trace id of original request
transactionReference String Transaction Reference
createdOn String Date and time token generation timestamp
paymentCategoryType String Complex enum Object containing: GAMING_PAYOUT, REMITTANCE, REFUND, PAYROLL, EXPENSES, E_COMMERCE, TRAVEL and NOT_SET
entityId String Unique
eventType String Complex enum Object containing: LOAD_FROM_CARD, LOAD_FROM_BANK, LOAD_FROM_SGPG, PAY_MY_CARD, PAY_ANY_CARD,PAY_ANY_BANK, LOAD_FROM_CARD_SGPG and so on
status String status for http request
type String that is same with eventType
processorType String Complex enum Object containing: FINTRAX, ENVOY, REALEX, UNION_PAY, EARTHPORT, SECURE_TRADING,REPORTSENDER and so on
initiatorUser String Unique user id
initiatorAccountHolderId String Unique account holder id

AccountEntries & SourceAccountEntries

Field Type Description
money Money Complex Object Containing money amount
datePosted String Date and time token posted timestamp
descripton String Transaction creation timestamp
eventName String Transaction Name
transactionReference String Transaction Reference
accountFee boolean Defines whether entry is an account fee or not

Money

Field Type Description
amount BigDecimal The amount of Money
money String Currency in ISO 4217 Format
presentationAmount String Consists of Currency Code and Amount

o Get Account Entries

API Call used to search relevant transactional entries of a particular account. This API call will return the transactions for the given account. Transactions are returned in pages, and one can return the next list of transactions using the page parameter.

To get transaction detail, use this code:


var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === 4) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://demo.mifinity.com/api/accounts/7FjySjwTibCU3puJcqkYMMZDeN4hdGnuWOREvIR8WZ0=/entries");
xhr.setRequestHeader("accept", "application/json");
xhr.setRequestHeader("content-type", "application/json");
xhr.setRequestHeader("x-api-version", "1");
xhr.setRequestHeader("key", "sQO8Q3i5-HeD7F0BqVSIN1p......qnjqMDo8Bl0GKUTvexaVm5n7g");

HTTP Request

GET https://demo.mifinity.com/api/accounts/{accountId}/entries

Parameter Type Description
Content-Type String Use value ‘application/json’
Accept String Use value ‘application/json’
x-api-version String Use value 1
Key String API key

Parameters

Field Type Required Description
accoutId String Unique account Id (Path Variable)
fromdate DateTime transactions from date (Request Parameter)
todate DateTime transactions to date (Request Parameter)
total long optional
page int optional page that will be returned
size int optional

Successful response

{
      "payload": [
        {
            "account": {
                "accountNumber": "50010001000007",
                "accountDescription": "specific account for Travel Europe",
                "balance": {
                    "amount": 98,
                    "currency": "EUR",
                    "presentationAmount": "EUR98.00"
                },
                "availableBalance": {
                    "amount": 98,
                    "currency": "EUR",
                    "presentationAmount": "EUR98.00"
                },
                "displayInfo": "50010001000007-specific account for Travel Europe [ 98.00 EUR ]",
                "accountHolderId": "9q90bBfHWdg41SYDq1fuHKrvA7nUdr26c6fJ80mPROw=",
                "accountType": "PLATFORM",
                "notificationThresholdAmount": 0,
                "accountCategory": "GAMING",
                "createdOn": "2018-09-12T10:37:46.185Z",
                "isDefault": true,
                "entityId": "EmYyFJ4J_YMfzwJ3Smdy0xfEAr8MC1aLud6kdA8NUp0="
            },
            "money": {
                "amount": 1,
                "currency": "EUR",
                "presentationAmount": "EUR1.00"
            },
            "runningBalanceInDisplay": {
                "amount": 119,
                "currency": "EUR",
                "presentationAmount": "EUR119.00"
            },
            "datePosted": "2018-09-21T09:27:08.039+01:00",
            "description": "Pegasus Card Verification",
            "eventName": "Load From VISA",
            "transactionReference": "e830ec55-6bcb-49b2-a972-400347c94b71",
            "accountFee": false
        }
    ],
    "page": {
        "size": 100,
        "page": 0,
        "total": 3
    }
}

Successful Response

Field Type Required Description
account Account Complex object containing account details. shown below
money Money Complex Object Containing money amount
runningBalanceInDisplay Money Complex Object Containing money running balance
descripton String Transaction creation timestamp
eventName boolean Transaction Name
transactionReference String Transaction Reference
accountFee boolean Defines whether entry is an account fee or not

Account

Field Type Description
accountNumber String The unique account number
accountDescription String Description of the account
balance Object Complex object containing amount, currency and persentationAmount
avaiableBalance Object Complex object containing amount, currency and persentationAmount
displayInfo String Display information
accountHolderId String Unique account holder Id
accountType String the type of account
notificationThresholdAmount int
createdOn String Date and time token generation timestamp
accountCategory String Account category. Values: GAMING, TRAVEL, E_COMMERCE, FOREX
isDefault boolean
entityId String Unique entity id

Money

Field Type Required Description
amount BigDecimal The amount of Money
money String Currency in ISO 4217 Format
presentationAmount String optional Consists of Currency Code and Amount

o Get Account Transaction Entries

An API call that returns the transaction entries for all accounts belonging to your account holder. Transactions are returned in pages, and one can return the next list of transactions using the page parameter.

To get transaction history, use this code:

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === 4) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://demo.mifinity.com/api/account-holders/N_hdbbvpUCqIxjW9tpf_GXGcXs2UBViztcbTEEcWX3Y=/accounts/entries");
xhr.setRequestHeader("accept", "application/json");
xhr.setRequestHeader("content-type", "application/json");
xhr.setRequestHeader("x-api-version", "1");
xhr.setRequestHeader("key", "sQO8Q3i5-HeD7F0BqVSIN1p......qnjqMDo8Bl0GKUTvexaVm5n7g");

HTTP Request

GET https://demo.mifinity.com/api/account-holders/{accountHolderId}/accounts/entries

Parameter Type Description
Content-Type String Use value ‘application/json’
Accept String Use value ‘application/json’
x-api-version String Use value 1
Key String API key

Parameters

Field Type Required Description
accoutHolderId String Unique account Holder Id (Path Variable)
fromdate DateTime optional transactions from date (Request Parameter)
todate DateTime optional transactions to date (Request Parameter)
transactionRef string optional specific transaction reference
total long optional
page int optional
size int optional

Successful response

{
     "payload": [
        {
            "account": {
                "accountNumber": "50010001000007",
                "accountDescription": "specific account for Travel Europe",
                "balance": {
                    "amount": 98,
                    "currency": "EUR",
                    "presentationAmount": "EUR98.00"
                },
                "availableBalance": {
                    "amount": 98,
                    "currency": "EUR",
                    "presentationAmount": "EUR98.00"
                },
                "displayInfo": "50010001000007-specific account for Travel Europe [ 98.00 EUR ]",
                "accountHolderId": "9q90bBfHWdg41SYDq1fuHKrvA7nUdr26c6fJ80mPROw=",
                "accountType": "PLATFORM",
                "notificationThresholdAmount": 0,
                "accountCategory": "GAMING",
                "createdOn": "2018-09-12T10:37:46.185Z",
                "isDefault": true,
                "entityId": "EmYyFJ4J_YMfzwJ3Smdy0xfEAr8MC1aLud6kdA8NUp0="
            },
            "money": {
                "amount": 1,
                "currency": "EUR",
                "presentationAmount": "EUR1.00"
            },
            "runningBalanceInDisplay": {
                "amount": 119,
                "currency": "EUR",
                "presentationAmount": "EUR119.00"
            },
            "datePosted": "2018-09-21T09:27:08.039+01:00",
            "description": "Pegasus Card Verification",
            "eventName": "Load From VISA",
            "transactionReference": "e830ec55-6bcb-49b2-a972-400347c94b71",
            "accountFee": false
        }
    ],
    "page": {
        "size": 100,
        "page": 0,
        "total": 1
    }
}

Successful Response

Field Type Description
account Account Complex object containing account details. shown below
money Money Complex Object Containing money amount
runningBalanceInDisplay Money Complex Object Containing money running balance
descripton String Transaction creation timestamp
eventName boolean Transaction Name
transactionReference String Transaction Reference
accountFee boolean Defines whether entry is an account fee or not

Account

Field Type Description
accountNumber String The unique account number
accountDescription String Description of the account
balance Object Complex object containing amount, currency and persentationAmount
avaiableBalance Object Complex object containing amount, currency and persentationAmount
displayInfo String Display information
accountHolderId String Unique account holder Id
accountType String the type of account
notificationThresholdAmount int
createdOn String Date and time token generation timestamp
accountCategory String Account category. Values: GAMING, TRAVEL, E_COMMERCE, FOREX
isDefault boolean
entityId String Unique entity id

Money

Field Type Description
amount BigDecimal The amount of Money
money String Currency in ISO 4217 Format
presentationAmount String Consists of Currency Code and Amount

o Get Transaction Status

An API call that given a transaction reference, returns the status of that particular transaction.

To get transaction Status, use this code:


var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === 4) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://demo.mifinity.com/api/transactions/69f6c395-ef54-4140-8a63-a1f869150f81/status");
xhr.setRequestHeader("accept", "application/json");
xhr.setRequestHeader("content-type", "application/json");
xhr.setRequestHeader("x-api-version", "1");
xhr.setRequestHeader("key", "sQO8Q3i5-HeD7F0BqVSIN1p......qnjqMDo8Bl0GKUTvexaVm5n7g");

HTTP Request

GET https://demo.mifinity.com/api/transactions/{transactionReference}/status

Parameter Type Description
Content-Type String Use value ‘application/json’
Accept String Use value ‘application/json’
x-api-version String Use value 1
Key String API key

Parameters

Field Type Required Description
TrasactionReference String Unique transaction id identifier (Path Variable)

Successful response

{
      "payload": [
         {
            "transactionReference": "69f6c395-ef54-4140-8a63-a1f869150f81",
            "transactionStatus": 3,
            "transactionStatusDescription": "Submitted",
            "transactionLastUpdated": "2018-09-21T10:15:58.189Z",
            "traceId": "R3f3r3n)E"
        }
    ]
}

Successful Response

Field Type Description
transactionReference String Transaction Reference
transactionStatus Integer Related with legacyTransactionState: RECEIVED("1”), INTERNAL_ERROR(“2”), SUBMITTED(“3”), PROCESSED_BY_PSP(“4”), PROCESSED_BY_ACQUIRER(“5”), REJECTED(“6”) and IN_PROGRESS(“7”)
transactionStatusDescription String Related with legacyTransactionState: RECEIVED(“1”), INTERNAL_ERROR(“2”), SUBMITTED(“3”), PROCESSED_BY_PSP(“4”), PROCESSED_BY_ACQUIRER(“5”), REJECTED(“6”) and IN_PROGRESS(“7”)
transactionLastUpdated DateTime
traceId String Trace Id of original request

o Get Transactions Status History

An API call that gets transaction status history for a particular account holder between fromdate and todate. If fromdate and todate both are on a same date, it will display whole day transactions status history no matter what time they are. We return the transaction status history in pages, you can use the page parameter to get the next list of transactions after the first API call.

To get transaction, use this code:


var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === 4) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://demo.mifinity.com/api/account-holders/N_hdbbvpUCqIxjW9tpf_GXGcXs2UBViztcbTEEcWX3Y=/transactions/history?fromdate=2018-12-03T10:07:19.795Z&todate=2019-02-20T16:07:19.795Z");
xhr.setRequestHeader("accept", "application/json");
xhr.setRequestHeader("content-type", "application/json");
xhr.setRequestHeader("x-api-version", "1");
xhr.setRequestHeader("key", "sQO8Q3i5-HeD7F0BqVSIN1p......qnjqMDo8Bl0GKUTvexaVm5n7g");

HTTP Request

GET https://demo.mifinity.com/api/account-holders/{accountHolderId}/transactions/history?fromdate=2018-12-03T10:07:19.795Z&todate=2019-02-20T16:07:19.795Z

Parameter Type Description
Content-Type String Use value ‘application/json’
Accept String Use value ‘application/json’
x-api-version String Use value 1
Key String API key

Parameters

Field Type Required Description
accountHolderId String Unique account Holder Id (Path Variable)
fromdate DateTime transactions from date (Request Parameter)
todate DateTime transactions to date (Request Parameter)

Successful response

{
   "payload": [
        {
            "traceId": "399e0a4d-fc1e-419a-97cb-eeeb9ae9aa2e",
            "createdOn": "2019-02-20T15:47:41.728Z",
            "description": "INITIAL",
            "stateName": "RECEIVED"
        },
        {
            "traceId": "399e0a4d-fc1e-419a-97cb-eeeb9ae9aa2e",
            "createdOn": "2019-02-20T15:47:42.924Z",
            "description": "DISPATCHER_CALLED",
            "stateName": "IN_PROGRESS"
        },
        {
            "traceId": "399e0a4d-fc1e-419a-97cb-eeeb9ae9aa2e",
            "createdOn": "2019-02-20T15:47:43.004Z",
            "description": "OK",
            "stateName": "SUBMITTED"
        }
    ],
    "page": {
        "size": 50,
        "page": 0,
        "total": 3
    }
}

Successful Response

Field Type Description
descripton String Enum Constant
traceId String Unique transaction identifier, Trace id of original request
createdOn String Date and time token generation timestamp
stateName String Enum Type, containing Enum Constant: RECEIVED, INTERNAL_ERROR, SUBMITTED, PROCESSED_BY_PSP, PROCESSED_BY_ACQUIRER, REJECTED and IN_PROGRESS

o Updating a Transactions status

To update the status of a transaction, please use the example below replacing key with the values you have from the previous steps, ACCOUNT_HOLDER_ID with the value of the account holder who owns the transaction and TRANSACTION_REFERENCE with the transactions Id

To do a transaction status update.

var data = JSON.stringify({  
         "comment":"reverse transaction",
                "status":"REVERSED"
});

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === 4) {
    console.log(this.responseText);
  }
});

xhr.open("PUT", "https://demo.mifinity.com/api/account-holders/AZhR22ONlVUcbkqCyeN5S2b7vGfpxCEzkF3TGq40sGI=/transaction/34b89889-f536-482c-9d7d-75b56af8d950");
xhr.setRequestHeader("accept", "application/json");
xhr.setRequestHeader("content-type", "application/json");
xhr.setRequestHeader("x-api-version", "1");
xhr.setRequestHeader("key", "qbS2i_dlYYQrLwYvTzDd2CHpZ-KNR...VNs-3qLI1jQg7uvfx-A-bYwAS9EbHl-3h_OuQWNxjIO25mkr-t7j");
xhr.send(data);

HTTP Request

PUT https://demo.mifinity.com/api/account-holders/ACCOUNT_HOLDER_ID/transaction/TRANSACTION_REFERENCE

Parameter Type Description
Content-Type String Use value ‘application/json’
Accept String Use value ‘application/json’
x-api-version String Use value 1
Key String API key

Parameters

Field Type Required Description
comment String Comment on the reason for the status change
status String Status to change the transaction to, currently can only change from ON_HOLD_KYC to REVERSED
ACCOUNT_HOLDER_ID String The Id of the account holder who owns this transaction
TRANSACTION_REFERENCE String The Transaction Reference of the transaction that will be updated

Successful response

{
            "money": {
                "amount": 20,
                "currency": "EUR",
                "presentationAmount": "EUR20.00"
            },
            "source": "5001000001200599",
            "destination": "Card. Currency EUR for Sarah Park(448541XXX7109)",
            "description": "test kyc reverse",
            "transactionStatus": 6,
            "transactionStatusDescription": "Rejected",
            "traceId": "94d7c467-07fa-47c1-bc86-5026450b2616",
            "transactionReference": "d02381a6-6476-41b4-85c6-30f26c506a04",
            "createdOn": "2019-05-01T08:27:53.805Z",
            "paymentCategoryType": "GAMING_PAYOUT",
            "entityId": "yX4kd4sCduCPufDU_eensG94J9O0P84r5vZlicW3cGQ=",
            "eventType": "PAY_ANY_CARD",
            "accountEntries": [
                {
                    "account": {
                        "accountNumber": "0000000000000800",
                        "accountDescription": "SecureTrading EUR account",
                        "balance": {
                            "amount": 1000020,
                            "currency": "EUR",
                            "presentationAmount": "EUR1,000,020.00"
                        },
                        "availableBalance": {
                            "amount": 1000020,
                            "currency": "EUR",
                            "presentationAmount": "EUR1,000,020.00"
                        },
                        "displayInfo": "0000000000000800-SecureTrading EUR account [ 1000020.00 EUR ]",
                        "accountHolderId": "sd3bVyqTigVjWg2bhK6WV4LZum5Cz_PE1FzkaSPlNJY=",
                        "accountType": "SYSTEM",
                        "notificationThresholdAmount": 0,
                        "accountCategory": "GAMING",
                        "createdOn": "2013-09-18T17:56:14.127Z",
                        "isDefault": false,
                        "entityId": "l1i8wskNrOB-Rg9W9t3xEnkFbYaiMfL2AoNXZnmPKfw=",
                        "disabled": false
                    },
                    "money": {
                        "amount": 20,
                        "currency": "EUR",
                        "presentationAmount": "EUR20.00"
                    },
                    "datePosted": "2019-05-01T08:27:53.889Z",
                    "description": "test kyc reverse",
                    "eventName": "Pay Any Card",
                    "transactionReference": "d02381a6-6476-41b4-85c6-30f26c506a04",
                    "accountFee": false,
                    "eventRollback": false,
                    "eventSubtype": "PAY_ANY_CARD"
                },
                {
                    "account": {
                        "accountNumber": "5001000001200599",
                        "accountDescription": "test",
                        "balance": {
                            "amount": 2016.65,
                            "currency": "EUR",
                            "presentationAmount": "EUR2,016.65"
                        },
                        "availableBalance": {
                            "amount": 2016.65,
                            "currency": "EUR",
                            "presentationAmount": "EUR2,016.65"
                        },
                        "displayInfo": "5001000001200599-test [ 2016.65 EUR ]",
                        "accountHolderId": "pKrZbTgt4wmFqcJqlQutKfkCDL9-X2KCCDPIf0J2iIc=",
                        "accountType": "PLATFORM",
                        "notificationThresholdAmount": 0,
                        "accountCategory": "GAMING",
                        "createdOn": "2018-12-27T14:23:06.415Z",
                        "isDefault": false,
                        "entityId": "na-OUXVOgSZoy_vKG9lazJO1SnU3dXpJr8FOu9dx8sQ=",
                        "disabled": false
                    },
                    "money": {
                        "amount": -20,
                        "currency": "EUR",
                        "presentationAmount": "EUR-20.00"
                    },
                    "datePosted": "2019-05-01T08:27:53.889Z",
                    "description": "test kyc reverse",
                    "eventName": "Pay Any Card",
                    "transactionReference": "d02381a6-6476-41b4-85c6-30f26c506a04",
                    "accountFee": false,
                    "eventRollback": false,
                    "eventSubtype": "PAY_ANY_CARD"
                }
            ],
            "status": "REVERSED",
            "type": "PAY_ANY_CARD",
            "processorType": "SECURE_TRADING",
            "initiatorUser": "NP3Avpc2nsAt9L2DwNy88Hss4m3lO8RuheiQJ4VO-bE=",
            "auditableEvent": {
                "type": "MONEY_TRANSFER_AUDITABLE_EVENT",
                "description": "PAY_ANY_CARD",
                "status": "REVERSED",
                "whenNoticed": "2019-05-01T08:27:52.940Z",
                "whenOccurred": "2019-05-01T08:27:52.936Z",
                "money": {
                    "amount": 20,
                    "currency": "EUR",
                    "presentationAmount": "EUR20.00"
                },
                "source": "5001000001200599",
                "destination": "Card. Currency EUR"
            },
            "initiatorAccountHolderId": "Bxkkz35EWh2oFpdl9EhnWM5Va3QUs2B05JmU4g5NIbQ="
        }

Successful Response

Field Type Description
money Money Complex Object Containing money amount
source String a source account
destination String a destination account
descripton String Description for the transaction
transactionStatus Integer Related with legacyTransactionState: RECEIVED(“1”), INTERNAL_ERROR(“2”), SUBMITTED(“3”), PROCESSED_BY_PSP(“4”), PROCESSED_BY_ACQUIRER(“5”), REJECTED(“6”), IN_PROGRESS(“7”) and ON_HOLD_KYC(“8)
transactionStatusDescription String Related with legacyTransactionState: RECEIVED("1”), INTERNAL_ERROR(“2”), SUBMITTED(“3”), PROCESSED_BY_PSP(“4”), PROCESSED_BY_ACQUIRER(“5”), REJECTED(“6”), IN_PROGRESS(“7”) and ON_HOLD_KYC(“8)
traceId String Unique transaction identifier, Trace id of original request
transactionReference String Transaction Reference
createdOn String Date and time token generation timestamp
paymentCategoryType String Complex enum Object containing: GAMING_PAYOUT, REMITTANCE, REFUND, PAYROLL, EXPENSES, E_COMMERCE, TRAVEL and NOT_SET
entityId String Unique
eventType String Complex enum Object containing: LOAD_FROM_CARD, LOAD_FROM_BANK, LOAD_FROM_SGPG, PAY_MY_CARD, PAY_ANY_CARD,PAY_ANY_BANK, LOAD_FROM_CARD_SGPG and so on
status String status for http request
type String that is same with eventType
processorType String Complex enum Object containing: FINTRAX, ENVOY, REALEX, UNION_PAY, EARTHPORT, SECURE_TRADING,REPORTSENDER and so on
initiatorUser String Unique user id
initiatorAccountHolderId String Unique account holder id

AccountEntries & SourceAccountEntries

Field Type Description
money Money Complex Object Containing money amount
datePosted String Date and time token posted timestamp
descripton String Transaction creation timestamp
eventName String Transaction Name
transactionReference String Transaction Reference
accountFee boolean Defines whether entry is an account fee or not

Money

Field Type Description
amount BigDecimal The amount of Money
money String Currency in ISO 4217 Format
presentationAmount String Consists of Currency Code and Amount

Notification Management

Our Notification Management allows the account holder to receive real time automatic notifications in the form of API callbacks related to a transaction, thus informing the account holder whether a transaction was successful or failed. These are applicable for the following types of transactions: • Account To Account transactions • Pay Any Card / Pay My Card transactions • Pay Any Bank transactions From your end, you need to subscribe to our notifications by providing MiFinity with your callback URLs, or you can define them on your own using our API. Note that the design on how to develop the callback logic is up to your development team. You can either define different callback URL’s and handle the logic separately, or you can provide us with a single endpoint and handle the logic within that endpoint for both cases (success or failure). It is suggested that the notifications are subscribed to the account holder.

Successful Notification received

{
   "payload": [
        {
             "postedOn": null,
             "money": {
                "amount": 1,
                "currency": "EUR",
                "presentationAmount": "EUR1.00"
             },
            "source": "5001000001156551",
            "destination": "5001000001161478",
            "description": "test",
            "transactionStatus": 3,
            "transactionStatusDescription": "Submitted",
            "traceId": "eb3cb323-96e1-473d-915a-6388a12a8f72",
            "transactionReference": "0c1d4779-77f5-461d-85bc-396269688fb1",
            "eventTypeDescription": "Account to Account Transfer",
            "createdOn": "2018-10-24T14:43:54.989Z",
            "arn": null,
         "paymentCategoryType": "E_COMMERCE"
        }
    ]
}

Failure Notification received

{
   "payload": [
        {
             "postedOn": null,
             "money": {
                "amount": 1,
                "currency": "EUR",
                "presentationAmount": "EUR1.00"
             },
            "source": "50010001000007",
            "destination": "Card. Currency EUR for ddddd(448541XXX7109)",
            "description": "test",
            "transactionStatus": 6,
            "transactionStatusDescription": "Rejected",
            "traceId": "3f5d27fe-e47a-4c8b-b582-9eaa24959953",
            "transactionReference": "929b124b-f9d1-41e6-82e7-432998f17124",
            "eventTypeDescription": "Pay Any Card",
            "createdOn": "2018-10-25T09:30:17.502+01:00",
            "arn": null,
         "paymentCategoryType": "TRAVEL"
        }
    ]
}

There are JSON examples for HTTP notification payload in the right side:

Successful/Failure response

Field Type Description
postedOn String Default value: null
money Object Containing amount(Integer), currency(String) and presentationAmount(String)
source String Source Account Number
destination String Destination Account Number
transactionStatus Integer RECEIVED(“1”), INTERNAL_ERROR(“2”), SUBMITTED(“3”), PROCESSED_BY_PSP(“4”), PROCESSED_BY_ACQUIRER(“5”), REJECTED(“6”),IN_PROGRESS(“7”) and ON_HOLD_KYC(“8”)
description String Description for this transaction
transactionStatusDescription String Related with eventTypeDescription: RECEIVED(“1”), INTERNAL_ERROR(“2”), SUBMITTED(“3”), PROCESSED_BY_PSP(“4”), PROCESSED_BY_ACQUIRER(“5”), REJECTED(“6”),IN_PROGRESS(“7”) and ON_HOLD_KYC(“8”)
traceId String Trace id of original request
transactionReference String Transaction reference
eventTypeDescription String enum Object containing: LOAD_FROM_CARD, LOAD_FROM_BANK, LOAD_FROM_SGPG, PAY_MY_CARD, PAY_ANY_CARD,PAY_ANY_BANK, LOAD_FROM_CARD_SGPG and so on
createdOn DateTime Date Time for the transaction
arn String Acquirer Reference Number. Default value : null
paymentCategoryType String Containing

Add Account Holder Notifications

Add a notification preference for an Account Holder. In reality, it is possible to create SMS, EMAIL and HTTP_JSON notifications for each notification type from account holders, users and accounts. However, at the moment some notification types are only associated with account holder. For example, we use transaction state change events (TRANSACTION_NOTIFICATION_SUCCESS, TRANSACTION_NOTIFICATION_FAILURE) notifications for account holders and accounts, but not for users. Thus, the attribute Usage has the value YES when the notification type is associated with account holders.

To add account holder notifications, use this code

var data = JSON.stringify({
        "method" : "EMAIL",
        "type" : "ACCOUNT_HOLDER_ACTIVATION_TOKEN",
        "value" : "false",
        "keyType" : "DESTINATION",
        "canEdit" : false
});

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === 4) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "https://demo.mifinity.com/api/account-holders/N_hdbbvpUCqIxjW9tpf_GXGcXs2UBViztcbTEEcWX3Y=/preferences/notifications");
xhr.setRequestHeader("accept", "application/json");
xhr.setRequestHeader("content-type", "application/json");
xhr.setRequestHeader("x-api-version", "1");
xhr.setRequestHeader("key", "sQO8Q3i5-HeD7F0BqVSIN1p......qnjqMDo8Bl0GKUTvexaVm5n7g");
xhr.send(data);

HTTP Request

POST https://demo.mifinity.com/api/account-holders/{accountHolderId}/preferences/notifications

Parameter Type Description
Content-Type String Use value ‘application/json’
Accept String Use value ‘application/json’
x-api-version String Use value 1
Key String API key

Parameters

Field Type Required Description
accoutHolderId String Unique account holder Id (Path Variable)
method String Containing: SMS, EMAIL and HTTP_JSON
type String Containing many options
value String Value for the notification preference
keyType String Containing: ENABLED, DESTINATION,LAST_SENT, REMINDER_PERIOD and SINGLE_SEND
preferenceId String optional Id for this particular preference entity
entityId String optional Entity Id for the Account Holder
entityType String optional ACCOUNT_HOLDER
canEdit Boolean optional Flag indicating if this particular preference can be edited

type

Field Type Usage
MS_ACCOUNT_REPORT_READY NotificationType NO
ACCOUNT_HOLDER_RESET_PASS_CONFIRMATION NotificationType NO
ACCOUNT_HOLDER_CHANGE_EMAIL_TOKEN NotificationType NO
ACCOUNT_HOLDER_CHANGE_EMAIL_INFORMATION NotificationType NO
ACCOUNT_HOLDER_RESET_PASS_TOKEN NotificationType NO
ACCOUNT_HOLDER_CHANGE_PASS NotificationType NO
ACCOUNT_HOLDER_PASSWORD_EXPIRATION_WARNING NotificationType NO
ACCOUNT_HOLDER_PASSWORD_EXPIRED NotificationType NO
ACCOUNT_HOLDER_PENDING_KYC_VERIFICATION NotificationType NO
ACCOUNT_HOLDER_FLAGGED_KYC_VERIFICATION NotificationType NO
ACCOUNT_HOLDER_KYC_LEVEL_UNVERIFIED NotificationType NO
ACCOUNT_HOLDER_ACTIVATION_TOKEN NotificationType NO
ACCOUNT_HOLDER_ACTIVATION_TOKEN_IFRAME NotificationType NO
SILENT_ACCOUNT_HOLDER_RESET_PASS_TOKEN NotificationType NO
QUICK_TRANSFER_SENT NotificationType NO
QUICK_TRANSFER_RECEIVED NotificationType NO
QUICK_TRANSFER_ROLLBACK NotificationType NO
ADMIN_MANUAL_WITHDRAWAL NotificationType NO
ADMIN_GOODWILL_CORRECTION NotificationType NO
ADMIN_MANUAL_FEE_WITHDRAWAL NotificationType NO
ADMIN_MANUAL_LOAD_FOUNDS_CONFIRMATION NotificationType NO
ADMIN_MANUAL_LOAD_FOUNDS_APPROVAL NotificationType NO
ADMIN_MANUAL_LOAD_FOUNDS NotificationType NO
ADMIN_TRANSACTION_REVERSAL NotificationType NO
ADMIN_KYC_DOCUMENT_VERIFICATION_FAILED NotificationType NO
ADMIN_KYC_DOCUMENT_VERIFICATION_PASSED_AFTER_FAILED NotificationType NO
SIMPLE_MESSAGE NotificationType NO
CONTACT_SUPPORT NotificationType NO
CONTACT_SUPPORT_CONFIRMATION NotificationType NO
INVITATION NotificationType NO
SET_PASSWORD_BY_CLIENT NotificationType NO
CURRENCY_EXCEPTIONS_NOTIFICATIONS NotificationType YES
KYC_CALLBACK NotificationType NO
KYC_WATCHLIST NotificationType NO
KYC_PEP NotificationType NO
KYC_OFAC_REPORT NotificationType NO
KYC_LIMIT_EXCEEDED NotificationType NO
KYC_LIMIT_REACHED NotificationType NO
KYC_LIMIT_THRESHOLD NotificationType NO
KYC_CARD_TRANSACTION_WARNING NotificationType NO
ADMIN_KYC_LIMIT_EXCEEDED NotificationType NO
ACCOUNT_HOLDER_KYC_DOCUMENT_VERIFICATION_PASSED NotificationType YES
SGPG_PAYMENT_NOTIFICATION NotificationType NO
SGPG_ERROR_NOTIFICATION NotificationType NO
ACCOUNT_HOLDER_MERCHANT_ACTIVATION_TOKEN NotificationType NO
COUPON_NOTIFICATION NotificationType NO
COUPON_SENDER_NOTIFICATION NotificationType YES
RECURRING_FAILED_NOTIFICATION NotificationType YES
SECURITY_CODE_NOTIFICATION NotificationType NO
BIN_FILE_EXPIRED_NOTIFICATION NotificationType NO
TRANSACTION_NOTIFICATION_SUCCESS NotificationType YES
TRANSACTION_NOTIFICATION_FAILURE NotificationType YES
DELEGATE_ACTIVATION_NOTIFICATION NotificationType YES
SECURITY_QUESTION_UPDATE_NOTIFICATION NotificationType NO
ACCOUNT_HOLDER_KYC_DOCUMENT_UPLOADED NotificationType NO
KYC_UPLOAD_SUCCESS_NOTIFICATION NotificationType NO

Successful response

{
   "payload": [
        {
            "method": "EMAIL",
            "type": "ACCOUNT_HOLDER_ACTIVATION_TOKEN",
            "value": "false",
            "keyType": "DESTINATION",
            "preferenceId": "tnsouB-KWOl2S_DmlLmW1PEa5szaxWlPLqPSDbgDyzc=",
            "entityId": "jJU2QqfjDow6Mmiffc29vj42yL9ZutJdkUzsaEIYrPE=",
            "entityType": "ACCOUNT_HOLDER",
            "canEdit": false
        }
    ]
}

Successful response

Field Type Description
method String Containing: SMS, EMAIL and HTTP_JSON
type String Containing many options: see above parameter section
value String Value for the notification preference
keyType String Containing: ENABLED, DESTINATION,LAST_SENT, REMINDER_PERIOD and SINGLE_SEND
preferenceId String Id for this particular preference entity
entityId String Entity Id for the Account Holder
entityType String ACCOUNT_HOLDER
canEdit Boolean Flag indicating if this particular preference can be edited

Add Account Notification

Add a notification preferences for an account. In the type table, attribute Usage has the value YES when the notification type is associated with accounts.

To add account notifications, use this code

var data = JSON.stringify({
        "method" : "EMAIL",
        "type" : "ACCOUNT_HOLDER_ACTIVATION_TOKEN",
        "value" : "false",
        "keyType" : "DESTINATION",
        "canEdit" : false
});

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === 4) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "https://demo.mifinity.com/api/accounts/7FjySjwTibCU3puJcqkYMMZDeN4hdGnuWOREvIR8WZ0=/preferences/notifications");
xhr.setRequestHeader("accept", "application/json");
xhr.setRequestHeader("content-type", "application/json");
xhr.setRequestHeader("x-api-version", "1");
xhr.setRequestHeader("key", "sQO8Q3i5-HeD7F0BqVSIN1p......qnjqMDo8Bl0GKUTvexaVm5n7g");
xhr.send(data);

HTTP Request

POST https://demo.mifinity.com/api/accounts/{accountId}/preferences/notifications

Parameter Type Description
Content-Type String Use value ‘application/json’
Accept String Use value ‘application/json’
x-api-version String Use value 1
Key String API key

Parameters

Field Type Required Description
accoutId String Unique account Id (Path Variable)
method String Containing: SMS, EMAIL and HTTP_JSON
type String Containing many options: see the below
value String Value for the notification preference
keyType String Containing: ENABLED, DESTINATION,LAST_SENT, REMINDER_PERIOD and SINGLE_SEND
preferenceId String optional Id for this particular preference entity
entityId String optional Entity Id for the Account
entityType String optional ACCOUNT
canEdit Boolean optional Flag indicating if this particular preference can be edited

type

Field Type Usage
MS_ACCOUNT_REPORT_READY NotificationType YES
ACCOUNT_HOLDER_RESET_PASS_CONFIRMATION NotificationType NO
ACCOUNT_HOLDER_CHANGE_EMAIL_TOKEN NotificationType NO
ACCOUNT_HOLDER_CHANGE_EMAIL_INFORMATION NotificationType NO
ACCOUNT_HOLDER_RESET_PASS_TOKEN NotificationType NO
ACCOUNT_HOLDER_CHANGE_PASS NotificationType NO
ACCOUNT_HOLDER_PASSWORD_EXPIRATION_WARNING NotificationType NO
ACCOUNT_HOLDER_PASSWORD_EXPIRED NotificationType NO
ACCOUNT_HOLDER_PENDING_KYC_VERIFICATION NotificationType NO
ACCOUNT_HOLDER_FLAGGED_KYC_VERIFICATION NotificationType NO
ACCOUNT_HOLDER_KYC_LEVEL_UNVERIFIED NotificationType NO
ACCOUNT_HOLDER_ACTIVATION_TOKEN NotificationType NO
ACCOUNT_HOLDER_ACTIVATION_TOKEN_IFRAME NotificationType NO
SILENT_ACCOUNT_HOLDER_RESET_PASS_TOKEN NotificationType NO
QUICK_TRANSFER_SENT NotificationType YES
QUICK_TRANSFER_RECEIVED NotificationType YES
QUICK_TRANSFER_ROLLBACK NotificationType YES
ADMIN_MANUAL_WITHDRAWAL NotificationType YES
ADMIN_GOODWILL_CORRECTION NotificationType YES
ADMIN_MANUAL_FEE_WITHDRAWAL NotificationType YES
ADMIN_MANUAL_LOAD_FOUNDS_CONFIRMATION NotificationType YES
ADMIN_MANUAL_LOAD_FOUNDS_APPROVAL NotificationType YES
ADMIN_MANUAL_LOAD_FOUNDS NotificationType YES
ADMIN_TRANSACTION_REVERSAL NotificationType YES
ADMIN_KYC_DOCUMENT_VERIFICATION_FAILED NotificationType YES
ADMIN_KYC_DOCUMENT_VERIFICATION_PASSED_AFTER_FAILED NotificationType YES
SIMPLE_MESSAGE NotificationType NO
CONTACT_SUPPORT NotificationType NO
CONTACT_SUPPORT_CONFIRMATION NotificationType NO
INVITATION NotificationType NO
SET_PASSWORD_BY_CLIENT NotificationType YES
CURRENCY_EXCEPTIONS_NOTIFICATIONS NotificationType NO
KYC_CALLBACK NotificationType NO
KYC_WATCHLIST NotificationType NO
KYC_PEP NotificationType NO
KYC_OFAC_REPORT NotificationType NO
KYC_LIMIT_EXCEEDED NotificationType NO
KYC_LIMIT_REACHED NotificationType NO
KYC_LIMIT_THRESHOLD NotificationType NO
KYC_CARD_TRANSACTION_WARNING NotificationType NO
ADMIN_KYC_LIMIT_EXCEEDED NotificationType NO
ACCOUNT_HOLDER_KYC_DOCUMENT_VERIFICATION_PASSED NotificationType NO
SGPG_PAYMENT_NOTIFICATION NotificationType NO
SGPG_ERROR_NOTIFICATION NotificationType NO
ACCOUNT_HOLDER_MERCHANT_ACTIVATION_TOKEN NotificationType NO
COUPON_NOTIFICATION NotificationType NO
COUPON_SENDER_NOTIFICATION NotificationType NO
RECURRING_FAILED_NOTIFICATION NotificationType YES
ACCOUNT_THRESHOLD_NOTIFICATION NotificationType YES
SECURITY_CODE_NOTIFICATION NotificationType NO
BIN_FILE_EXPIRED_NOTIFICATION NotificationType NO
TRANSACTION_NOTIFICATION_SUCCESS NotificationType YES
TRANSACTION_NOTIFICATION_FAILURE NotificationType YES
DELEGATE_ACTIVATION_NOTIFICATION NotificationType YES
SECURITY_QUESTION_UPDATE_NOTIFICATION NotificationType NO
ACCOUNT_HOLDER_KYC_DOCUMENT_UPLOADED NotificationType NO
KYC_UPLOAD_SUCCESS_NOTIFICATION StriNotificationTypeng NO

Successful response

{
   "payload": [
        {
            "method": "EMAIL",
            "type": "ACCOUNT_HOLDER_ACTIVATION_TOKEN",
            "value": "false",
            "keyType": "DESTINATION",
            "preferenceId": "zZzXQVGtlQ8BkenJTL-T1Wd2k5PbUlgCPCfFs2ouR9E=",
            "entityId": "MfjK2svMSfKQqgSuZ5jYwbTKXX3ZlVvdt5X2_9zSG1k=",
            "entityType": "ACCOUNT",
            "canEdit": false
        }
    ]
}

Successful response

Field Type Description
method String Containing: SMS, EMAIL and HTTP_JSON
type String Containing many options: see the above parameter section
value String Value for the notification preference
keyType String Containing: ENABLED, DESTINATION,LAST_SENT, REMINDER_PERIOD and SINGLE_SEND
preferenceId String Id for this particular preference entity
entityId String Entity Id for the Account
entityType String ACCOUNT
canEdit Boolean Flag indicating if this particular preference can be edited

Add User’s Notification

Add a notification preferences for a user. In the type table, attribute named Usage has the value YES when the notification type is associated with users.

To add account holder notifications, use this code

var data = JSON.stringify({
        "method" : "EMAIL",
        "type" : "ACCOUNT_HOLDER_ACTIVATION_TOKEN",
        "value" : "false",
        "keyType" : "DESTINATION",
        "canEdit" : false
});

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === 4) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "https://demo.mifinity.com/api/users/anRUeiOf5zB5HbqwZAQ9IQYG-n96oLixsI_Q4N6p9mY=/preferences/notifications");
xhr.setRequestHeader("accept", "application/json");
xhr.setRequestHeader("content-type", "application/json");
xhr.setRequestHeader("x-api-version", "1");
xhr.setRequestHeader("key", "sQO8Q3i5-HeD7F0BqVSIN1p......qnjqMDo8Bl0GKUTvexaVm5n7g");
xhr.send(data);

HTTP Request

POST https://demo.mifinity.com/api/users/{userId}/preferences/notifications

Parameter Type Description
Content-Type String Use value ‘application/json’
Accept String Use value ‘application/json’
x-api-version String Use value 1
Key String API key

Parameters

Field Type Required Description
userId String Unique account user Id (Path Variable)
method String Containing: SMS, EMAIL and HTTP_JSON
type String Containing many options: see the below
value String Value for the notification preference
keyType String Containing: ENABLED, DESTINATION,LAST_SENT, REMINDER_PERIOD and SINGLE_SEND
preferenceId String optional Id for this particular preference entity
entityId String optional Entity Id for the User
entityType String optional USER
canEdit Boolean optional Flag indicating if this particular preference can be edited

type

Field Type Usage
MS_ACCOUNT_REPORT_READY NotificationType NO
ACCOUNT_HOLDER_RESET_PASS_CONFIRMATION NotificationType YES
ACCOUNT_HOLDER_CHANGE_EMAIL_TOKEN NotificationType YES
ACCOUNT_HOLDER_CHANGE_EMAIL_INFORMATION NotificationType YES
ACCOUNT_HOLDER_RESET_PASS_TOKEN NotificationType YES
ACCOUNT_HOLDER_CHANGE_PASS NotificationType YES
ACCOUNT_HOLDER_PASSWORD_EXPIRATION_WARNING NotificationType YES
ACCOUNT_HOLDER_PASSWORD_EXPIRED NotificationType YES
ACCOUNT_HOLDER_PENDING_KYC_VERIFICATION NotificationType YES
ACCOUNT_HOLDER_FLAGGED_KYC_VERIFICATION NotificationType YES
ACCOUNT_HOLDER_KYC_LEVEL_UNVERIFIED NotificationType YES
ACCOUNT_HOLDER_ACTIVATION_TOKEN NotificationType YES
ACCOUNT_HOLDER_ACTIVATION_TOKEN_IFRAME NotificationType YES
SILENT_ACCOUNT_HOLDER_RESET_PASS_TOKEN NotificationType YES
QUICK_TRANSFER_SENT NotificationType NO
QUICK_TRANSFER_RECEIVED NotificationType NO
QUICK_TRANSFER_ROLLBACK NotificationType NO
ADMIN_MANUAL_WITHDRAWAL NotificationType NO
ADMIN_GOODWILL_CORRECTION NotificationType NO
ADMIN_MANUAL_FEE_WITHDRAWAL NotificationType NO
ADMIN_MANUAL_LOAD_FOUNDS_CONFIRMATION NotificationType NO
ADMIN_MANUAL_LOAD_FOUNDS_APPROVAL NotificationType NO
ADMIN_MANUAL_LOAD_FOUNDS NotificationType NO
ADMIN_TRANSACTION_REVERSAL NotificationType NO
ADMIN_KYC_DOCUMENT_VERIFICATION_FAILED NotificationType NO
ADMIN_KYC_DOCUMENT_VERIFICATION_PASSED_AFTER_FAILED NotificationType NO
SIMPLE_MESSAGE NotificationType YES
CONTACT_SUPPORT NotificationType YES
CONTACT_SUPPORT_CONFIRMATION NotificationType YES
INVITATION NotificationType YES
SET_PASSWORD_BY_CLIENT NotificationType NO
CURRENCY_EXCEPTIONS_NOTIFICATIONS NotificationType NO
KYC_CALLBACK NotificationType YES
KYC_WATCHLIST NotificationType YES
KYC_PEP NotificationType YES
KYC_OFAC_REPORT NotificationType YES
KYC_LIMIT_EXCEEDED NotificationType YES
KYC_LIMIT_REACHED NotificationType YES
KYC_LIMIT_THRESHOLD NotificationType YES
KYC_CARD_TRANSACTION_WARNING NotificationType YES
ADMIN_KYC_LIMIT_EXCEEDED NotificationType YES
ACCOUNT_HOLDER_KYC_DOCUMENT_VERIFICATION_PASSED NotificationType YES
SGPG_PAYMENT_NOTIFICATION NotificationType YES
SGPG_ERROR_NOTIFICATION NotificationType YES
ACCOUNT_HOLDER_MERCHANT_ACTIVATION_TOKEN NotificationType YES
COUPON_NOTIFICATION NotificationType NO
COUPON_SENDER_NOTIFICATION NotificationType YES
RECURRING_FAILED_NOTIFICATION NotificationType NO
ACCOUNT_THRESHOLD_NOTIFICATION NotificationType NO
SECURITY_CODE_NOTIFICATION NotificationType YES
BIN_FILE_EXPIRED_NOTIFICATION NotificationType YES
TRANSACTION_NOTIFICATION_SUCCESS NotificationType NO
TRANSACTION_NOTIFICATION_FAILURE NotificationType NO
DELEGATE_ACTIVATION_NOTIFICATION NotificationType NO
SECURITY_QUESTION_UPDATE_NOTIFICATION NotificationType YES
ACCOUNT_HOLDER_KYC_DOCUMENT_UPLOADED NotificationType YES
KYC_UPLOAD_SUCCESS_NOTIFICATION NotificationType YES

Successful response

{"payload": [
        {
            "method": "EMAIL",
            "type": "ACCOUNT_HOLDER_ACTIVATION_TOKEN",
            "value": "false",
            "keyType": "DESTINATION",
            "preferenceId": "9MyuLpy84OBmbCFUqw_mfa5dqf0GniYQWtcXqiQWiIg=",
            "entityId": "LZvOASTDTfcP_i1FKbw_9yM4XUR89QQJuDWTEf9ImGQ=",
            "entityType": "USER",
            "canEdit": false
        }
    ]
}

Successful response

Field Type Description
method String Containing: SMS, EMAIL and HTTP_JSON
type String Containing many options: see the above parameter section
value String Value for the notification preference
keyType String Containing: ENABLED, DESTINATION,LAST_SENT, REMINDER_PERIOD and SINGLE_SEND
preferenceId String Id for this particular preference entity
entityId String Entity Id for the User
entityType String USER
canEdit Boolean Flag indicating if this particular preference can be edited

Delete Notification Details

Delete a notification preference. Only works for destinations.


var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === 4) {
    console.log(this.responseText);
  }
});

xhr.open("DELETE", "https://demo.mifinity.com/api/preferences/notifications/9MyuLpy84OBmbCFUqw_mfa5dqf0GniYQWtcXqiQWiIg=");
xhr.setRequestHeader("accept", "application/json");
xhr.setRequestHeader("content-type", "application/json");
xhr.setRequestHeader("x-api-version", "1");
xhr.setRequestHeader("key", "sQO8Q3i5-HeD7F0BqVSIN1p......qnjqMDo8Bl0GKUTvexaVm5n7g");


HTTP Request

DELETE https://demo.mifinity.com/api/preferences/notifications/{preferenceId}

Parameter Type Description
Content-Type String Use value ‘application/json’
Accept String Use value ‘application/json’
x-api-version String Use value 1
Key String API key

Parameters

Field Type Required Description
preferenceId String Entity Id for the Preference (Path Variable)

Successful response

{
     "payload": []

}

Successful response

HTTP status code 200. It means that the specific notification has been deleted successfully.

Get Notification Preferences

Get Notification Preference by preferenceId.

To get Notificaton Preferences, use this code:

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === 4) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://demo.mifinity.com/api/preferences/notifications/9MyuLpy84OBmbCFUqw_mfa5dqf0GniYQWtcXqiQWiIg=");
xhr.setRequestHeader("accept", "application/json");
xhr.setRequestHeader("content-type", "application/json");
xhr.setRequestHeader("x-api-version", "1");
xhr.setRequestHeader("key", "sQO8Q3i5-HeD7F0BqVSIN1p......qnjqMDo8Bl0GKUTvexaVm5n7g");

HTTP Request

GET https://demo.mifinity.com/api/preferences/notifications/{preferenceId}

Parameter Type Description
Content-Type String Use value ‘application/json’
Accept String Use value ‘application/json’
x-api-version String Use value 1
Key String API key

Parameters

Field Type Required Description
preferenceId String Entity Id for the Preference (Path Variable)

Successful response

{
     "payload": [
        {
            "method": "EMAIL",
            "type": "ACCOUNT_HOLDER_ACTIVATION_TOKEN",
            "value": "false",
            "keyType": "DESTINATION",
            "preferenceId": "UlL-CD8U46vimigRTt-BBE_fFWnntSQj4qQ3IjO19cY=",
            "entityId": "vPWTUqE0oU6-E3RW_LQ4O44VJAz35OGa43uhGYTa-HE=",
            "entityType": "USER",
            "canEdit": false
        }
    ]
}

Successful Response

Field Type Description
method String Containing: SMS, EMAIL and HTTP_JSON
type String Containing many options: see the above Add User’s Notification part
value String Value for the notification preference
keyType String Containing: ENABLED, DESTINATION,LAST_SENT, REMINDER_PERIOD and SINGLE_SEND
preferenceId String Id for this particular preference entity
entityId String Entity Id for the relevant entityType
entityType String ACCOUNT, ACCOUNT_HOLDER or USER
canEdit Boolean Flag indicating if this particular preference can be edited

Retrieve Notification details

By User Id

Retrieves all the notification preferences for a user.

To retrieve Notificaton details for a user, use this code:

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === 4) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://demo.mifinity.com/api/users/anRUeiOf5zB5HbqwZAQ9IQYG-n96oLixsI_Q4N6p9mY=/preferences/notifications");
xhr.setRequestHeader("accept", "application/json");
xhr.setRequestHeader("content-type", "application/json");
xhr.setRequestHeader("x-api-version", "1");
xhr.setRequestHeader("key", "sQO8Q3i5-HeD7F0BqVSIN1p......qnjqMDo8Bl0GKUTvexaVm5n7g");

HTTP Request

GET https://demo.mifinity.com/api/users/{userId}/preferences/notifications

Parameter Type Description
Content-Type String Use value ‘application/json’
Accept String Use value ‘application/json’
x-api-version String Use value 1
Key String API key

Parameters

Field Type Required Description
userId String Entity Id for the Preference (Path Variable)

Successful response

{
     "payload": [
        {
            "method": "EMAIL",
            "type": "ACCOUNT_HOLDER_ACTIVATION_TOKEN",
            "value": "false",
            "keyType": "DESTINATION",
            "preferenceId": "6UjCnGbIx68YsBpr18HCaabAt7uyqEyBySHuSWX7vuk=",
            "entityId": "_Md6P8iXwHhShbyM9gNXOq6sYATbvmzGKQehrl6p4R0=",
            "entityType": "ACCOUNT_HOLDER",
            "canEdit": false
        },
        {
            "method": "EMAIL",
            "type": "ACCOUNT_HOLDER_ACTIVATION_TOKEN",
            "value": "false",
            "keyType": "DESTINATION",
            "preferenceId": "IfSQpkuAby2d1D7ueKiVjYxxetDgfym5fuAOHQMiE-o=",
            "entityId": "j5IIPKXBAi_O5aiMc9_pfdXx-HMjpWsooHhgoCT8mN0=",
            "entityType": "ACCOUNT",
            "canEdit": false
        }
    ]
}

Successful Response

Field Type Description
method String Containing: SMS, EMAIL and HTTP_JSON
type String Containing many options: see the above Add User’s Notification part
value String Value for the notification preference
keyType String Containing: ENABLED, DESTINATION,LAST_SENT, REMINDER_PERIOD and SINGLE_SEND
preferenceId String Id for this particular preference entity
entityId String Entity Id for the relevant entityType
entityType String ACCOUNT, ACCOUNT_HOLDER or USER
canEdit Boolean Flag indicating if this particular preference can be edited

By account Id

To retrieve Notificaton details for an account, use this code:

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === 4) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://demo.mifinity.com/api/accounts/7FjySjwTibCU3puJcqkYMMZDeN4hdGnuWOREvIR8WZ0=/notifications");
xhr.setRequestHeader("accept", "application/json");
xhr.setRequestHeader("content-type", "application/json");
xhr.setRequestHeader("x-api-version", "1");
xhr.setRequestHeader("key", "sQO8Q3i5-HeD7F0BqVSIN1p......qnjqMDo8Bl0GKUTvexaVm5n7g");

HTTP Request

GET https://demo.mifinity.com/api/accounts/{accountId}/notifications

Parameter Type Description
Content-Type String Use value ‘application/json’
Accept String Use value ‘application/json’
x-api-version String Use value 1
Key String API key

Parameters

Field Type Required Description
accountId String Entity Id for the Preference (Path Variable)

Successful response

{
     "payload": [
        {
            "method": "EMAIL",
            "type": "ACCOUNT_HOLDER_ACTIVATION_TOKEN",
            "value": "false",
            "keyType": "DESTINATION",
            "preferenceId": "5AqSwLX9kRyNj9SVNcWkcAflClpwRqn-EnExY37OfrQ=",
            "entityId": "L-cL-E_O991EeZNMHDZfE7_CigM-ERwMsWl2C2i0gpA=",
            "entityType": "ACCOUNT",
            "canEdit": false
        }
    ]
}

Successful Response

Field Type Description
method String Containing: SMS, EMAIL and HTTP_JSON
type String Containing many options: see the above Add User’s Notification part
value String Value for the notification preference
keyType String Containing: ENABLED, DESTINATION,LAST_SENT, REMINDER_PERIOD and SINGLE_SEND
preferenceId String Id for this particular preference entity
entityId String Entity Id for the relevant entityType
entityType String Containing : Account, ACCOUNT_HOLDER or USER
canEdit Boolean Flag indicating if this particular preference can be edited

Update Notification Details

Update a preference vaule.

To update a preference value, use this code

var data = JSON.stringify({
        "method" : "EMAIL",
        "type" : "ACCOUNT_HOLDER_ACTIVATION_TOKEN",
        "value" : "false",
        "keyType" : "DESTINATION",
        "canEdit" : false
});

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === 4) {
    console.log(this.responseText);
  }
});

xhr.open("PUT", "https://demo.mifinity.com/api/preferences/notifications/5AqSwLX9kRyNj9SVNcWkcAflClpwRqn-EnExY37OfrQ=");
xhr.setRequestHeader("accept", "application/json");
xhr.setRequestHeader("content-type", "application/json");
xhr.setRequestHeader("x-api-version", "1");
xhr.setRequestHeader("key", "sQO8Q3i5-HeD7F0BqVSIN1p......qnjqMDo8Bl0GKUTvexaVm5n7g");
xhr.send(data);

HTTP Request

PUT https://demo.mifinity.com/api/preferences/notifications/{preferenceId}

Parameter Type Description
Content-Type String Use value ‘application/json’
Accept String Use value ‘application/json’
x-api-version String Use value 1
Key String API key

Parameters

Field Type Required Description
perferenceId String Entity Id for the Preference (Path Variable)
method String Containing: SMS, EMAIL and HTTP_JSON
type String Containing many options: see the below
value String Value for the notification preference
keyType String Containing: ENABLED, DESTINATION,LAST_SENT, REMINDER_PERIOD and SINGLE_SEND
preferenceId String optional Id for this particular preference entity
entityId String optional Entity Id for the relevant entityType
entityType String optional ACCOUNT,ACCOUNT_HOLDER or USER
canEdit Boolean optional Flag indicating if this particular preference can be edited

type

Field Type -Description
MS_ACCOUNT_REPORT_READY NotificationType
ACCOUNT_HOLDER_RESET_PASS_CONFIRMATION NotificationType
ACCOUNT_HOLDER_CHANGE_EMAIL_TOKEN NotificationType
ACCOUNT_HOLDER_CHANGE_EMAIL_INFORMATION NotificationType
ACCOUNT_HOLDER_RESET_PASS_TOKEN NotificationType
ACCOUNT_HOLDER_CHANGE_PASS NotificationType
ACCOUNT_HOLDER_PASSWORD_EXPIRATION_WARNING NotificationType
ACCOUNT_HOLDER_PASSWORD_EXPIRED NotificationType
ACCOUNT_HOLDER_PENDING_KYC_VERIFICATION NotificationType
ACCOUNT_HOLDER_FLAGGED_KYC_VERIFICATION NotificationType
ACCOUNT_HOLDER_KYC_LEVEL_UNVERIFIED NotificationType
ACCOUNT_HOLDER_ACTIVATION_TOKEN NotificationType
ACCOUNT_HOLDER_ACTIVATION_TOKEN_IFRAME NotificationType
SILENT_ACCOUNT_HOLDER_RESET_PASS_TOKEN NotificationType
QUICK_TRANSFER_SENT NotificationType
QUICK_TRANSFER_RECEIVED NotificationType
QUICK_TRANSFER_ROLLBACK NotificationType
ADMIN_MANUAL_WITHDRAWAL NotificationType
ADMIN_GOODWILL_CORRECTION NotificationType
ADMIN_MANUAL_FEE_WITHDRAWAL NotificationType
ADMIN_MANUAL_LOAD_FOUNDS_CONFIRMATION NotificationType
ADMIN_MANUAL_LOAD_FOUNDS_APPROVAL NotificationType
ADMIN_MANUAL_LOAD_FOUNDS NotificationType
ADMIN_TRANSACTION_REVERSAL NotificationType
ADMIN_KYC_DOCUMENT_VERIFICATION_FAILED NotificationType
ADMIN_KYC_DOCUMENT_VERIFICATION_PASSED_AFTER_FAILED NotificationType
SIMPLE_MESSAGE NotificationType
CONTACT_SUPPORT NotificationType
CONTACT_SUPPORT_CONFIRMATION NotificationType
INVITATION NotificationType
SET_PASSWORD_BY_CLIENT NotificationType
CURRENCY_EXCEPTIONS_NOTIFICATIONS NotificationType
KYC_CALLBACK NotificationType
KYC_WATCHLIST NotificationType
KYC_PEP NotificationType
KYC_OFAC_REPORT NotificationType
KYC_LIMIT_EXCEEDED NotificationType
KYC_LIMIT_REACHED NotificationType
KYC_LIMIT_THRESHOLD NotificationType
KYC_CARD_TRANSACTION_WARNING NotificationType
ADMIN_KYC_LIMIT_EXCEEDED NotificationType
ACCOUNT_HOLDER_KYC_DOCUMENT_VERIFICATION_PASSED NotificationType
SGPG_PAYMENT_NOTIFICATION NotificationType
SGPG_ERROR_NOTIFICATION NotificationType
ACCOUNT_HOLDER_MERCHANT_ACTIVATION_TOKEN NotificationType
COUPON_NOTIFICATION NotificationType
COUPON_SENDER_NOTIFICATION NotificationType
RECURRING_FAILED_NOTIFICATION NotificationType
ACCOUNT_THRESHOLD_NOTIFICATION NotificationType
SECURITY_CODE_NOTIFICATION NotificationType
BIN_FILE_EXPIRED_NOTIFICATION NotificationType
TRANSACTION_NOTIFICATION_SUCCESS NotificationType
TRANSACTION_NOTIFICATION_FAILURE NotificationType
DELEGATE_ACTIVATION_NOTIFICATION NotificationType
SECURITY_QUESTION_UPDATE_NOTIFICATION NotificationType
ACCOUNT_HOLDER_KYC_DOCUMENT_UPLOADEDK NotificationType
KYC_UPLOAD_SUCCESS_NOTIFICATION NotificationType

Successful response

{
   "payload": [
        {
            "method": "EMAIL",
            "type": "ACCOUNT_HOLDER_ACTIVATION_TOKEN",
            "value": "false",
            "keyType": "DESTINATION",
            "preferenceId": "UR8H0U27yS4k2SN-vMNf1AqBuAA1YrwmNbKX9Bwt890=",
            "entityId": "a2tX-FTFcYPgEOlkzQdv2jLTNur5gTBMW5BddBabvRs=",
            "entityType": "USER",
            "canEdit": false
        }
    ]
}

Successful response

Field Type Description
method String Containing: SMS, EMAIL and HTTP_JSON
type String Containing many options: see the above the parameter
value String Value for the notification preference
keyType String Containing: ENABLED, DESTINATION,LAST_SENT, REMINDER_PERIOD and SINGLE_SEND
preferenceId String Id for this particular preference entity
entityId String Entity Id for the entityType
entityType String ACCOUNT,ACCOUNT_HOLDER or USER
canEdit Boolean Flag indicating if this particular preference can be edited