Introduction

Description

Paytriot Merchant API provides access for the third-parties to standard functions and services implemented in Paytriot.

Developers can build their own custom applications, tools, and services to support their programs or components of their programs.

Security

  • The following aspects create additional security for each third-party.
  • Both login and password are required for each call to API to authenticate the third-party.
  • The password is unique per each third-party.
  • HTTPS Security is mandatory – an SSL certificate is required.
  • All sensitive data are transmitted in an encrypted format under a 3-DES key.

Version

To see current version and details of recent changes, please see Changelog.

Actions

Account

Change address

Change account address.

URL
https://api.paytriot.co.uk/api/merchant/v/1.0/function/update_account_address

Request

Parameter M Type Length Description
account Y AN 100
country_code N A 3 ISO 3166-1
address_line1 N AN 100
address_line2 N AN 100
city N A 45
state N AN 40
postal_code N AN 10
billing_country_code N A 3 ISO 3166-1
billing_address_line1 Y AN 100
billing_address_line2 N AN 100
billing_city N A 45
billing_state N AN 40
billing_postal_code N AN 10
key Y AN 16 Merchant API Key – provided by Paytriot.
ts Y N 10 Request timestamp.
sign Y AN 32 See Sign generation.
{
   "account": 1753298,  
   "country_code": "GBR",  
   "address_line1": "Bridge St",  
   "address_line2": "",  
   "city": "London",  
   "state": "",  
   "postal_code": "",  
   "billing_country_code": "",  
   "billing_address_line1": "",  
   "billing_address_line2": "",  
   "billing_city": "",  
   "billing_state": "",  
   "billing_postal_code": "",  
   "key": "_MERCHANT_KEY_",  
   "ts": "_TIMESTAMP_",  
   "sign": "_SIGN_"
}

Response

Parameter M Type Length Description
status Y AN 10 Success/error.
msg Y AN 255 See Message code.
{
   "status": "success",  
   "msg": "Address updated"
}

Change owner

Change account owner.

URL
https://api.paytriot.co.uk/api/merchant/v/1.0/function/update_account_owner

Request

Parameter M Type Length Description
account Y N 20
username Y AN 100
key Y AN 16 Merchant API Key – provided by Paytriot.
ts Y N 10 Request timestamp.
sign Y AN 32 See Sign generation.
{
   "account": 1753242,  
   "username": "john.doe",  
   "key": "_MERCHANT_KEY_",  
   "ts": "_TIMESTAMP_",
   "sign": "_SIGN_"
}

Response

Parameter M Type Length Description
status Y AN 10 Success/error.
msg Y AN 255 See Message code.
{
   "status": "success",  
   "msg": "Account owner updated"
}

Create

Create additional account to user. User must be approved first.

URL
https://api.paytriot.co.uk/api/merchant/v/1.0/function/create_account

Request

Parameter M Type Length Description
username Y AN 100
currency Y A 3 ISO 4217
key Y AN 16 Merchant API Key – provided by Paytriot.
ts Y N 10 Request timestamp.
sign Y AN 32 See Sign generation.
{
   "username": "john.doe",  
   "currency": "USD",  
   "key": "_MERCHANT_KEY_",  
   "ts": "_TIMESTAMP_",  
   "sign": "_SIGN_"
}

Response

Parameter M Type Length Description
status Y AN 10 Success/error.
account_id Y N 20
msg Y AN 255 See Message code.
{
   "status": "success",  
   "account_id": "1753298",  
   "msg": "Account successfully created."
}

Get card list

Get all account cards.

URL
https://api.paytriot.co.uk/api/merchant/v/1.0/function/get_account_cards

Request

Parameter M Type Length Description
account Y AN 100
key Y AN 16 Merchant API Key – provided by Paytriot.
ts Y N 10 Request timestamp.
sign Y AN 32 See Sign generation.
{
   "account": "100002",  
   "key": "_MERCHANT_KEY_",  
   "ts": "_TIMESTAMP_",  
   "sign": "_SIGN_"
}

Response

Parameter M Type Length Description
status Y AN 10 Success/error.
msg Y AN 255 See Message code.
cards Y LIST
id Y N 20
balance N N 10,2
status Y A 1 Possible values: A: activated, N: not activated, B: blocked, S: suspended, T: admin suspend (temporary blocked), E: expired.
currency Y A 3 ISO 4217
{
   "status": "success",  
   "msg": "Success",  
   "cards":[    
      {    
         "id": "20",  
         "balance": "0.00",  
         "status": "N",  
         "currency": "USD"  
      }  
   ]
}

Get details

Get account detail by account ID.

URL
https://api.paytriot.co.uk/api/merchant/v/1.0/function/get_account_details

Request

Parameter M Type Length Description
account Y AN 100
key Y AN 16 Merchant API Key – provided by Paytriot.
ts Y N 10 Request timestamp.
sign Y AN 32 See Sign generation.
{
   "account": "1753298",  
   "key": "_MERCHANT_KEY_",  
   "ts": "_TIMESTAMP_",  
   "sign": "_SIGN_"
}

Response

Parameter M Type Length Description
status Y AN 10 Success/error.
msg Y AN 255 See Message code.
account_details Y
account_number N N 20
currency N A 3 ISO 4217
account_program_group N AN 100
account_owner N AN 200
account_type N AN 100 Business/personal.
register_date N AN 10 ISO 8601
timezone N AN 100
account_address N AN 100
account_address_2 N AN 100
account_city N AN 100
account_state N AN 100
account_postal_code N AN 100
account_country N AN 100
account_home_phone N AN 100
account_work_phone N AN 100
account_cell_phone N AN 100
account_billing_address N AN 100
account_billing_address_2 N AN 100
account_billing_city N AN 100
account_billing_state N AN 100
account_billing_postal_code N AN 100
account_billing_country N AN 100
{
   "status": "success",  
   "msg": "Success",  
   "account_details":{    
      "account_number": "1753298",  
      "currency": "USD",  
      "account_program_group": "Group name",  
      "account_owner": "John Doe",  
      "account_type": "business",  
      "register_date": "2015-04-01",  
      "timezone": "Europe/London",  
      "account_address": "",  
      "account_address_2": "",  
      "account_city": "",  
      "account_state": "",  
      "account_postal_code": "",  
      "account_country": "United Kingdom",  
      "account_home_phone": "",  
      "account_work_phone": "",  
      "account_cell_phone": "",  
      "account_billing_address": "",  
      "account_billing_address_2": "",  
      "account_billing_city": "",  
      "account_billing_state": "",  
      "account_billing_postal_code": "",  
      "account_billing_country": "United Kingdom"  
   }
}

Get inventory

Get a list of envelope numbers and card ID numbers.

URL
https://api.paytriot.co.uk/api/merchant/v/1.0/function/get_account_inventory

Request

Parameter M Type Length Description
account Y AN 100
key Y AN 16 Merchant API Key – provided by Paytriot.
ts Y N 10 Request timestamp.
sign Y AN 32 See Sign generation.
{
   "account": "100002",  
   "key": "_MERCHANT_KEY_",  
   "ts": "_TIMESTAMP_",  
   "sign": "_SIGN_"
}

Response

Parameter M Type Length Description
status Y AN 10 success/ error.
msg Y AN 255 See Message code.
account Y AN 20 Account ID.
inventory Y AN Result is env1,cid1\|env2,cid2\|etc….
{
   "status": "success",  
   "msg": "Success",  
   "account": "100002",  
   "inventory": "742652000000,15|742652000001,16|742652000002,17"
}

Get status

Get account status.

URL
https://api.paytriot.co.uk/api/merchant/v/1.0/function/get_account_status

Request

Parameter M Type Length Description
account Y N 10
key Y AN 16 Merchant API Key – provided by Paytriot.
ts Y N 10 Request timestamp.
sign Y AN 32 See Sign generation.
{
   "account": "100002",  
   "key": "_MERCHANT_KEY_",  
   "ts": "_TIMESTAMP_",  
   "sign": "_SIGN_"
}

Response

Parameter M Type Length Description
status Y AN 10 success/ error.
msg Y AN 255 See Message code.
account Y
id Y N 20
balance N N 10,2
currency Y A 3 ISO 4217
status_code Y N 2 See Account status*.
status Y A 10

*Note: Possible values: 1: normal, 3: receive funds only, 4: send funds only, 17: suspended by admin.

{
   "status": "success",  
   "msg": "Success",  
   "account":[    
      {    
         "id": "1753298",  
         "balance": "0.00",  
         "currency": "USD",  
         "status_code": "1",  
         "status": "Normal"  
      }  
   ]
}

Bank account

Add

Add external bank account.

URL
https://api.paytriot.co.uk/api/merchant/v/1.0/function/add_bank_account

Request

Parameter M Type Length Description
full_name_on_bank_account Y AN 255
bank_name Y AN 100
bank_address Y AN 100
bank_iban Y AN 40
bank_swift Y AN 11
bank_city Y AN 100
bank_country_code Y A 2
bank_contact_phone N AN 100
branch_code N AN 100
bank_state N AN 100
corresponding_bank_swift N AN 11
corresponding_bank_name N AN 100
corresponding_bank_city N AN 100
corresponding_bank_currency_code N A 3 ISO 4217
key Y AN 16 Merchant API Key – provided by Paytriot.
ts Y N 10 Request timestamp.
sign Y AN 32 See Sign generation.
{
   "full_name_on_bank_account": "John Doe",  
   "bank_name": "Bank name",  
   "bank_address": "Street name 1",  
   "bank_iban": "123456",  
   "bank_swift": "654321",  
   "bank_city": "London",  
   "bank_country_code": "GBR",  
   "bank_contact_phone": "37012312345",  
   "branch_code": "73195",  
   "bank_state": "",  
   "corresponding_bank_swift": "",
   "corresponding_bank_name": "",
   "corresponding_bank_city": "",
   "corresponding_bank_currency_code": "_ISO_4217_",
   "key": "_MERCHANT_KEY_",  
   "ts": "_TIMESTAMP_",  
   "sign": "_SIGN_"
}

Response

Parameter M Type Length Description
status Y AN 10 success/ error.
msg Y AN 255 See Message code.
Description N AN
bank_accounts_id Y N 20
{
   "status": "success",  
   "msg": "Bank account added",  
   "bank_accounts_id": "9625"
}

Get list

Get all user external bank accounts.

URL
https://api.paytriot.co.uk/api/merchant/v/1.0/function/get_user_bank_accounts

Request

Parameter M Type Length Description
username Y AN 100
key Y AN 16 Merchant API Key – provided by Paytriot.
ts Y N 10 Request timestamp.
sign Y AN 32 See Sign generation.
{
   "username": "timer",  
   "key": "_MERCHANT_KEY_",  
   "ts": "_TIMESTAMP_",  
   "sign": "_SIGN_"
}

Response

Parameter M Type Length Description
status Y AN 10 success/ error.
msg Y AN 255 See Message code.
accounts Y LIST
id Y LIST
id Y N 20
account_number Y A 30
status Y A 1 A: activated, N: not activated.
bank Y A 255
country Y A 5
swift Y A 11
{
   "status": "success",  
   "msg": "Success",  
   "accounts":{    
      "9592":{    
         "id": "9592",  
         "account_number": "123456",  
         "status": "A",  
         "bank": "Bank Name",  
         "country": "LT",  
         "swift": "654321"  
      }  
   }
}

Card

Activate

Activate card by ID.

URL
https://api.paytriot.co.uk/api/merchant/v/1.0/function/activate_card

Request

Parameter M Type Length Description
card_id Y AN 20
key Y AN 16 Merchant API Key – provided by Paytriot.
ts Y N 10 Request timestamp.
sign Y AN 32 See Sign generation.
{
   "card_id": 22,  
   "key": "_MERCHANT_KEY_",  
   "ts": "_TIMESTAMP_",  
   "sign": "_SIGN_"
}

Response

Parameter M Type Length Description
status Y AN 10 Success/error.
msg Y AN 255 See Message code.
{
   "status": "Card successfully activated",  
   "msg": "Success"
}

Assign to account

Can assign card without movements from own account to other own or user’s account.

URL
https://api.paytriot.co.uk/api/merchant/v/1.0/function/assign_card_to_account

Request

Parameter M Type Length Description
inventoryaccount Y N 20 From account.
card_id Y N 20 Card ID.
account Y N 20 To account.
key Y AN 16 Merchant API Key – provided by Paytriot.
ts Y N 10 Request timestamp.
sign Y AN 32 See Sign generation.
{
   "inventoryaccount": 1000001,  
   "card_id": "1",  
   "account": "1000002",  
   "key": "_MERCHANT_KEY_",  
   "ts": "_TIMESTAMP_",  
   "sign": "_SIGN_"
}

Response

Parameter M Type Length Description
status Y AN 10 Success/error.
msg Y AN 255 See Message code.
{
   "status": "success",  
   "msg": "Card assigned to account"
}

Check ID info

Check card information by ID.

URL
https://api.paytriot.co.uk/api/merchant/v/1.0/function/check_cardid_info

Request

Parameter M Type Length Description
card_id Y AN 20 Card ID.
cardnumber Y N 16 Full card number, must be encrypted by 3DES algorithm with 3DES key – provided by Paytriot.
cvv Y N 3 CVV number, must be encrypted by 3DES algorithm with 3DES key – provided by Paytriot.
nameoncard Y AN 30
expirymonth Y N 2
expiryyear Y N 4
firstname Y A 60
lastname Y A 60
email Y A 50
mobile Y AN 20
key Y AN 16 Merchant API Key – provided by Paytriot.
ts Y N 10 Request timestamp.
sign Y AN 32 See Sign generation.
{
   "card_id": "1353",  
   "cardnumber": "+auQjcJ8sh6xiArXQpsyYA==",  
   "cvv": "qcsc0SC\\/V\\/A=",  
   "nameoncard": "John Doe",  
   "expirymonth": "12",  
   "expiryyear": "15",  
   "firstname": "John",  
   "lastname": "Doe",  
   "email": "john.doe@test.loc",  
   "mobile": "38741220012",  
   "key": "_MERCHANT_KEY_",  
   "ts": "_TIMESTAMP_",  
   "sign": "_SIGN_"
}

Response

Parameter M Type Length Description
status Y AN 10 Success/error.
data
cardnumber Y A 5 If data match : ok, if does not match : notok.
cvv Y A 5 If data match : ok, if does not match : notok.
nameoncard Y A 5 If data match : ok, if does not match : notok.
expirymonth Y A 5 If data match : ok, if does not match : notok.
expiryyear Y A 5 If data match : ok, if does not match : notok.
firstname Y A 5 If data match : ok, if does not match : notok.
lastname Y A 5 If data match : ok, if does not match : notok.
email Y A 5 If data match : ok, if does not match : notok.
mobile Y A 5 If data match : ok, if does not match : notok.
{
   "status": "success",  
   "data":{    
      "cardnumber": "ok",  
      "cvv": "ok",  
      "nameoncard": "notok",  
      "expirymonth": "notok",  
      "expiryyear": "notok",  
      "firstname": "notok",  
      "lastname": "notok",  
      "email": "notok",  
      "mobile": "notok"  
   }
}

Create

Create card to account. In order to see if your card order was approved please use a function GetUserCards.

URL
https://api.paytriot.co.uk/api/merchant/v/1.0/function/create_card

Request

Parameter M Type Length Description
username Y AN 100
accounts Y N 20 Accounts must be comma , separated, associated with user and different currency.
card_type Y N 20 ID must be get using call Get program.
country Y A 3 ISO 3166-1
nationality Y A 3 ISO 3166-1
first_name Y A 50
middle_name Y A 50
last_name Y A 50
embossed_name Y A (3-21) Name to be printed on the plastic card including space (“ “) as separator between family name and first name. Example: JOHN DOE.
family_status N A 1 Possible values: S: single, M: married, D: divorced, W :widower.
gender Y A 1 Possible values: M: male, F: female.
title Y A 4 Possible values: Dr: doctor, Mr: mister, Ms: miss, Mrs: misses.
dob Y AN 10 ISO 8601
email Y AN 50
phone Y AN 16 Phone number without + sign.
address1 Y AN 30
address2 N AN 30
city Y AN 100
state Y AN 100
post_code Y AN 10
is_virtual Y A 1 Possible values: Y: yes N: no.
shipping_method_id N N 20 Required field for physical card. ID must be get using call Get shipping method.
language N A 3 ISO 639-1.
key Y AN 16 Merchant API Key – provided by Paytriot.
ts Y N 10 Request timestamp.
sign Y AN 32 See Sign generation.
{
   "username": "john.doe",  
   "accounts": "1753298,1753299",  
   "card_type": "15163652121588",  
   "country": "GBR",  
   "nationality": "GBR",  
   "first_name": "John",  
   "middle_name": "",  
   "last_name": "Doe",  
   "embossed_name": "John/Doe",  
   "family_status": "M",  
   "gender": "M",  
   "title": "Mr",  
   "dob": "1981-11-28",  
   "email": "john.doe@test.com",  
   "phone": "4432611151",  
   "phone2": "",  
   "address1": "Super str 115",  
   "address2": "",  
   "city": "London",  
   "state": "",  
   "post_code": "15452",  
   "is_virtual": "Y",  
   "language": "ENG",  
   "key": "_MERCHANT_KEY_",  
   "ts": "_TIMESTAMP_",  
   "sign": "_SIGN_"
}

Response

Parameter M Type Length Description
status Y AN 10 Success/error.
msg Y AN 255
{
   "status": "success",  
   "msg": "You have successfully ordered a new card. Your request is under administration review now."
}

Get CVV

Get card CVV by card ID.

URL
https://api.paytriot.co.uk/api/merchant/v/1.0/function/get_card_cvv

Request

Parameter M Type Length Description
card_id Y AN 20
key Y AN 16 Merchant API Key – provided by Paytriot.
ts Y N 10 Request timestamp.
sign Y AN 32 See Sign generation.
{
   "card_id": 22,  
   "key": "_MERCHANT_KEY_",  
   "ts": "_TIMESTAMP_",  
   "sign": "_SIGN_"
}

Response

Parameter M Type Length Description
status Y AN 10 Success/error.
msg Y AN 255 See Message code.
card_cvv Y AN Encrypted card CVV. See Cryptography.
{
   "status": "success",  
   "msg": "Success",
   "card_cvv": "2pulYPkKkjY="
}

Get details

Get card details by card ID.

URL
https://api.paytriot.co.uk/api/merchant/v/1.0/function/get_card_details

Request

Parameter M Type Length Description
card_id Y AN 20
key Y AN 16 Merchant API Key – provided by Paytriot.
ts Y N 10 Request timestamp.
sign Y AN 32 See Sign generation.
{
   "card_id": 22,  
   "key": "_MERCHANT_KEY_",  
   "ts": "_TIMESTAMP_",  
   "sign": "_SIGN_"
}

Response

Parameter M Type Length Description
status Y AN 10 Success/error.
msg Y AN 255 See Message code.
card_details Y
client_id Y N 20
card number Y AN Encrypted card number. See Cryptography.
date_expired Y AN Encrypted expired date mm/yy. See Cryptography.
date_created Y AN 10 ISO 8601
name_on_card Y AN
card_type Y AN Virtual/physical.
{
   "status": "success",  
   "msg": "Success",
   "card_details": {
      "client_id": "8181581815",
      "card_number": "PlKaAjbbDYfuBkH7P7WCnVRL3pEkqC5C",
      "date_expired": "2020-12-01",
      "date_created": "2015-05-26",
      "name_on_card": "John Doe",
      "card_type": "physical"
   }
}

Get PIN

Get card PIN by card ID.

URL
https://api.paytriot.co.uk/api/merchant/v/1.0/function/get_card_pin

Request

Parameter M Type Length Description
card_id Y AN 20
key Y AN 16 Merchant API Key – provided by Paytriot.
ts Y N 10 Request timestamp.
sign Y AN 32 See Sign generation.
{
   "card_id": 22,  
   "key": "_MERCHANT_KEY_",  
   "ts": "_TIMESTAMP_",  
   "sign": "_SIGN_"
}

Response

Parameter M Type Length Description
status Y AN 10 Success/error.
msg Y AN 255 See Message code.
card_pin Y AN Encrypted card PIN. See Cryptography.
{
   "status": "success",  
   "msg": "Success",
   "card_pin": "0widB10vG/Y="
}

Get program

Get card programs to account.

URL
https://api.paytriot.co.uk/api/merchant/v/1.0/function/get_card_programs

Request

Parameter M Type Length Description
account_id Y N 20
key Y AN 16 Merchant API Key – provided by Paytriot.
ts Y N 10 Request timestamp.
sign Y AN 32 See Sign generation.
{
   "account_id": "1753298",  
   "key": "_MERCHANT_KEY_",  
   "ts": "_TIMESTAMP_",  
   "sign": "_SIGN_"
}

Response

Parameter M Type Length Description
status Y AN 10 Success/error.
N LIST
card_type N N 20
title N AN 100
is_virtual N N 1 Possible values: 1: yes, 0: no.
currency_id N N 11 Internal Paytriot currency id.
{  
   "status": "success",  
   "0":{  
      "card_type": "15163652121588",  
      "title": "Corporate Card",  
      "is_virtual": "1",  
      "currency_id": "43"
   },  
   "1":{  
      "card_type": "15163652492401",  
      "title": "Corporate Card",  
      "is_virtual": "0",  
      "currency_id": "43"
   }
}

Get shipping method

Get list of all available shipping methods for country.

URL
https://api.paytriot.co.uk/api/merchant/v/1.0/function/get_shipping_methods

Request

Parameter M Type Length Description
country_code Y A 3 ISO 3166-1
key Y AN 16 Merchant API Key – provided by Paytriot.
ts Y N 10 Request timestamp.
sign Y AN 32 See Sign generation.
{
   "country_code": "GBR",  
   "key": "_MERCHANT_KEY_",  
   "ts": "_TIMESTAMP_",  
   "sign": "_SIGN_"
}

Response

Parameter M Type Length Description
status Y AN 10 Success/error.
msg Y AN 255 See Message code.
shipping_methods Y LIST
id Y N 20
name Y AN 100
{
   "status": "success",  
   "msg": "Success",  
   "shipping_methods":[    
      {    
         "id": "1",  
         "name": "Standard"  
      }  
   ]
}

Get status

Get card status by card ID.

URL
https://api.paytriot.co.uk/api/merchant/v/1.0/function/get_card_status

Request

Parameter M Type Length Description
card_id Y AN 20
key Y AN 16 Merchant API Key – provided by Paytriot.
ts Y N 10 Request timestamp.
sign Y AN 32 See Sign generation.
{
   "card_id": 22,  
   "key": "_MERCHANT_KEY_",  
   "ts": "_TIMESTAMP_",  
   "sign": "_SIGN_"
}

Response

Parameter M Type Length Description
status Y AN 10 Success/error.
msg Y AN 255 See Message code.
card_status Y A 1 Possible values: A: activated, N: not activated, B: blocked, S: suspended, T: admin suspend (temporary blocked), E: expired.
card_status_decription Y A 40
{
   "status": "success",  
   "msg": "Success",  
   "card_status": "N",  
   "card_status_Description": "Not Activated"
}

Card (external)

Get list

Get all user external cards.

URL
https://api.paytriot.co.uk/api/merchant/v/1.0/function/get_user_external_cards

Request

Parameter M Type Length Description
username Y AN 100
key Y AN 16 Merchant API Key – provided by Paytriot.
ts Y N 10 Request timestamp.
sign Y AN 32 See Sign generation.
{
   "username": "john.doe",  
   "key": "_MERCHANT_KEY_",  
   "ts": "_TIMESTAMP_",  
   "sign": "_SIGN_"
}

Response

Parameter M Type Length Description
status Y AN 10 Success/error.
msg Y AN 255 See Message code.
cards Y LIST
id Y LIST
id Y N 20
number Y A 19 Partial card number.
status Y A 1 A: activated, N: not activated, B: blocked.
{
   "status": "success",  
   "msg": "Success",  
   "cards":{    
      "33209":{    
         "id": "33209",  
         "number": "**** **** **** 1199",  
         "status": "A"
      }  
   }
}

Verify

Verify previously linked external card.

URL
https://api.paytriot.co.uk/api/merchant/v/1.0/function/verify_external_card

Request

Parameter M Type Length Description
credit_card_id Y N 20
verification_amount Y N 10,2
key Y AN 16 Merchant API Key – provided by Paytriot.
ts Y N 10 Request timestamp.
sign Y AN 32 See Sign generation.
{
   "credit_card_id": "33220",  
   "verification_amount": "0.66",  
   "key": "_MERCHANT_KEY_",  
   "ts": "_TIMESTAMP_",  
   "sign": "_SIGN_"
}

Response

Parameter M Type Length Description
status Y AN 10 Success/error.
msg Y AN 255 See Message code.
Description N AN
credit_card_id Y N 20
{
   "status": "success",  
   "msg": "External card has been verified",  
   "credit_card_id": "33220"
}

Direct debit

Status change

Change direct debit transaction status.

URL
https://api.paytriot.co.uk/api/merchant/v/1.0/function/direct_debit_status_change

Request

Parameter M Type Length Description
transaction_id Y N 20
should_pay Y N 1 Possible values: 1: yes, 0: no.
key Y AN 16 Merchant API Key – provided by Paytriot.
ts Y N 10 Request timestamp.
sign Y AN 32 See Sign generation.
{
    "transaction_id": 12345678910,
    "should_pay": 1,
    "key": "_MERCHANT_KEY_",  
    "ts": "_TIMESTAMP_",  
    "sign": "_SIGN_"
}

Response

Parameter M Type Length Description
status Y AN 10 Success/error.
msg Y AN 255 See Message code.
transaction_id Y N 20
{
   "status": "success",  
   "msg": "Successfully changed direct debit `should_pay` status to 1",
   "transaction_id": 12345678910
}

Direct debit mandate

Cancel

Cancel direct debit mandate.

URL
https://api.paytriot.co.uk/api/merchant/v/1.0/function/direct_debit_mandate_cancel

Request

Parameter M Type Length Description
mandate_id Y N 20
reason_code Y A 255 See Mandate cancelation reasons.
key Y AN 16 Merchant API Key – provided by Paytriot.
ts Y N 10 Request timestamp.
sign Y AN 32 See Sign generation.
{
    "mandate_id": 12345678910,
    "reason_code": "CANCELLED_BY_PAYER",
    "key": "_MERCHANT_KEY_",  
    "ts": "_TIMESTAMP_",  
    "sign": "_SIGN_"
}

Response

Parameter M Type Length Description
status Y AN 10 Success/error.
msg Y AN 255 See Message code.
mandate_id Y N 20
{
   "status": "success",  
   "msg": "Successfully requested to cancel direct debit mandate.",
   "mandate_id": 12345678910
}

Reject

Reject direct debit mandate.

URL
https://api.paytriot.co.uk/api/merchant/v/1.0/function/direct_debit_mandate_reject

Request

Parameter M Type Length Description
mandate_id Y N 20
reason_code Y A 255 See Mandate rejection reasons.
key Y AN 16 Merchant API Key – provided by Paytriot.
ts Y N 10 Request timestamp.
sign Y AN 32 See Sign generation.
{
    "mandate_id": 12345678910,
    "reason_code": "PAYER_ACCOUNT_CLOSED",
    "key": "_MERCHANT_KEY_",  
    "ts": "_TIMESTAMP_",  
    "sign": "_SIGN_"
}

Response

Parameter M Type Length Description
status Y AN 10 Success/error.
msg Y AN 255 See Message code.
mandate_id Y N 20
{
   "status": "success",  
   "msg": "Successfully requested to reject direct debit mandate.",
   "mandate_id": 12345678910
}

IBAN

Change status

Change IBAN status.

URL
https://api.paytriot.co.uk/api/merchant/v/1.0/function/iban_status_change

Request

Parameter M Type Length Description
iban Y AN 34
status_id Y N 4 See IBAN statuses*.
key Y AN 16 Merchant API Key – provided by Paytriot.
ts Y N 10 Request timestamp.
sign Y AN 32 See Sign generation.

*Note: If IBAN has status suspended by admin (4), disabled (5) or suspended by system (7) status cannot be changed to any other.

{
    "iban": "GB888888888888888",
    "status_id": 1,
    "key": "_MERCHANT_KEY_",  
    "ts": "_TIMESTAMP_",  
    "sign": "_SIGN_"
}

Response

Parameter M Type Length Description
status Y AN 10 success/ error.
msg Y AN 255 See Message code.
old_status_id Y N 4 See IBAN statuses.
new_status_id Y N 4 See IBAN statuses.
iban Y AN 34
{
   "status": "success",
   "msg": "Successfully requested to change IBAN status from 'Receive funds only' to 'Send and receive funds'.",
   "old_status_id": 2,
   "new_status_id": 1,
   "iban": "GB888888888888888"
}

Create

Create international bank account number.

URL
https://api.paytriot.co.uk/api/merchant/v/1.0/function/create_iban

Request

Parameter M Type Length Description
account_id C N 20 Required if 'currency' field is empty.
bank_account_holder_title C A 7 Mandatory when agreed with Paytriot.
bank_account_holder_first_name C A 50 Mandatory when agreed with Paytriot.
bank_account_holder_last_name C A 50 Mandatory when agreed with Paytriot..
bank_account_holder_address_line1 C AN 100 Mandatory when agreed with Paytriot. Special symbols allowed: dashes, commas, dots and slashes.
bank_account_holder_address_line2 C AN 100 Mandatory when agreed with Paytriot. Special symbols allowed: dashes, commas, dots and slashes.
bank_account_holder_address_line3 C AN 100 Mandatory when agreed with Paytriot. Special symbols allowed: dashes, commas, dots and slashes.
bank_account_holder_address_line4 C AN 100 Mandatory when agreed with Paytriot. Special symbols allowed: dashes, commas, dots and slashes.
bank_account_holder_postal_code C AN 9 Mandatory when agreed with Paytriot. Special symbols allowed: dashes.
bank_account_holder_city C AN 50 Mandatory when agreed with Paytriot. Special symbols allowed: dashes.
bank_account_holder_state C AN 50 Mandatory when agreed with Paytriot. Special symbols allowed: dashes.
bank_account_holder_country_iso_code C N 3 ISO 3166-1 numeric code.
bank_account_holder_phone C AN 16 Phone number prefixed with +
internal_name N AN 100 This is the description of the account and is displayed in the Institution Portal only.
currency C A 3 ISO 4217 - Required if 'account_id' field is empty.
account_holder_risk_score N N 1 Possible values: 1 - "low risk", 2 - "medium risk", 3 - "high risk"
request_reference N AN 255 Request reference. If this field is not empty - minimum length must be at least 10.
key Y AN 16 Merchant API Key – provided by Paytriot.
ts Y N 10 Request timestamp.
sign Y AN 32 See Sign generation.
{
    "account_id": 12345678910,
    "bank_account_holder_title": "",
    "bank_account_holder_first_name": "John",
    "bank_account_holder_last_name": "Joe",
    "bank_account_holder_address_line1": "Richland Avenue",
    "bank_account_holder_address_line2": "",
    "bank_account_holder_address_line3": "",
    "bank_account_holder_address_line4": "",
    "bank_account_holder_postal_code": "123457",
    "bank_account_holder_city": "Miami",
    "bank_account_holder_state": "Florida",
    "bank_account_holder_country_iso_code": "004",
    "bank_account_holder_phone": "+37883689987",
    "internal_name": "John Joe IBAN account",
    "currency": "EUR",
    "account_holder_risk_score": 2,
    "request_reference": "123456789",
    "key": "_MERCHANT_KEY_",  
    "ts": "_TIMESTAMP_",  
    "sign": "_SIGN_"
}

Response

Parameter M Type Length Description
status Y AN 10 success/ error.
msg Y AN 255 See Message code.
iban_request_id Y N 20
description N AN
{
   "status": "success",  
   "msg": "IBAN creation has been successfully requested.",
   "iban_request_id": 1234567
}

Update

Update international bank account number details.

URL
https://api.paytriot.co.uk/api/merchant/v/1.0/function/update_iban_details

Request

Parameter M Type Length Description
iban Y AN 34
bank_account_holder_first_name N A 50 Available to change only for CENTROlink provider. Special symbols allowed: dashes, commas, dots and slashes.
bank_account_holder_last_name N A 50 Available to change only for CENTROlink provider. Special symbols allowed: dashes, commas, dots and slashes.
bank_account_holder_address_line1 N AN 100 Special symbols allowed: dashes, commas, dots and slashes.
bank_account_holder_address_line2 N AN 100 Special symbols allowed: dashes, commas, dots and slashes. Empty value is available.
bank_account_holder_address_line3 N AN 100 Special symbols allowed: dashes, commas, dots and slashes. Empty value is available.
bank_account_holder_address_line4 N AN 100 Special symbols allowed: dashes, commas, dots and slashes. Empty value is available.
bank_account_holder_postal_code N AN 9 Special symbols allowed: dashes.
bank_account_holder_city N AN 50 Special symbols allowed: dashes.
bank_account_holder_state N AN 50 Special symbols allowed: dashes. Empty value is available.
bank_account_holder_country_iso_code N N 3 ISO 3166-1 numeric code.
bank_account_holder_phone N AN 16 Phone number prefixed with +
key Y AN 16 Merchant API Key – provided by Paytriot.
ts Y N 10 Request timestamp.
sign Y AN 32 See Sign generation.
{
    "iban": "GB888888888888888",
    "bank_account_holder_first_name": "John",
    "bank_account_holder_last_name": "Joe",
    "bank_account_holder_address_line1": "Richland Avenue",
    "bank_account_holder_address_line2": "",
    "bank_account_holder_address_line3": null,
    "bank_account_holder_address_line4": null,
    "bank_account_holder_postal_code": "123457",
    "bank_account_holder_city": "Miami",
    "bank_account_holder_state": "",
    "bank_account_holder_country_iso_code": "004",
    "bank_account_holder_phone": "",
    "key": "_MERCHANT_KEY_",  
    "ts": "_TIMESTAMP_",  
    "sign": "_SIGN_"
}

Response

Parameter M Type Length Description
status Y AN 10 success/ error.
msg Y AN 255 See Message code.
iban_id Y N 20
iban Y N 34
description N AN
{
   "status": "success",  
   "msg": "Your IBAN details change has been successfully requested. You will be notified with iban details change webhook, when your details will be changed. (Address changes won't be shown)",
   "iban_id": 1234567,
   "iban": "GB888888888888888"
}

Create business

Create business international bank account number.

URL
https://api.paytriot.co.uk/api/merchant/v/1.0/function/create_business_iban

Request

Parameter M Type Length Description
account_id C N 20 Required if 'currency' field is empty.
business_name Y AN 50
internal_name N AN 100 This is the description of the account and is displayed in the Institution Portal only.
currency C A 3 ISO 4217 - Required if 'account_id' field is empty.
bank_account_holder_address_line1 C AN 100 Mandatory when agreed with Paytriot. Special symbols allowed: dashes, commas, dots and slashes.
bank_account_holder_address_line2 C AN 100 Mandatory when agreed with Paytriot. Special symbols allowed: dashes, commas, dots and slashes.
bank_account_holder_address_line3 C AN 100 Mandatory when agreed with Paytriot. Special symbols allowed: dashes, commas, dots and slashes.
bank_account_holder_address_line4 C AN 100 Mandatory when agreed with Paytriot. Special symbols allowed: dashes, commas, dots and slashes.
bank_account_holder_postal_code C AN 9 Mandatory when agreed with Paytriot. Special symbols allowed: dashes.
bank_account_holder_city C AN 50 Mandatory when agreed with Paytriot. Special symbols allowed: dashes.
bank_account_holder_state C AN 50 Mandatory when agreed with Paytriot. Special symbols allowed: dashes.
bank_account_holder_country_iso_code C N 3 Mandatory when agreed with Paytriot. ISO 3166-1 numeric code.
date_of_company_incorporation N AN 10 ISO 8601
industry_id N N 20 Use Get Industries action to know what kind of industries exist.
account_holder_risk_score N N 1 Possible values: 1 - "low risk", 2 - "medium risk", 3 - "high risk"
request_reference N AN 255 Request reference. If this field is not empty - minimum length must be at least 10.
key Y AN 16 Merchant API Key – provided by Paytriot.
ts Y N 10 Request timestamp.
sign Y AN 32 See Sign generation.
{
    "account_id": 12345678910,
    "business_name": "John Joee",
    "internal_name": "John Joee IBAN account",
    "currency": "EUR",
    "bank_account_holder_address_line1": "Richland Avenue",
    "bank_account_holder_address_line2": null,
    "bank_account_holder_address_line3": null,
    "bank_account_holder_address_line4": null,
    "bank_account_holder_postal_code": "123457",
    "bank_account_holder_city": "Miami",
    "bank_account_holder_state": "",
    "bank_account_holder_country_iso_code": "004",
    "date_of_company_incorporation": "2019-04-04",
    "industry_id": 10,
    "account_holder_risk_score": 2,
    "request_reference": "123456789",
    "key": "_MERCHANT_KEY_",  
    "ts": "_TIMESTAMP_",  
    "sign": "_SIGN_"
}

Response

Parameter M Type Length Description
status Y AN 10 success/ error.
msg Y AN 255 See Message code.
iban_request_id Y N 20
description N AN
{
   "status": "success",  
   "msg": "Business IBAN creation has been successfully requested.",
   "iban_request_id": 1234567
}

Update business

Update business international bank account number details.

URL
https://api.paytriot.co.uk/api/merchant/v/1.0/function/update_business_iban_details

Request

Parameter M Type Length Description
iban Y AN 34
business_name N AN 50 Available to change only for CENTROlink provider. Special symbols allowed: dashes, commas, dots and slashes.
bank_account_holder_address_line1 N AN 100 Special symbols allowed: dashes, commas, dots and slashes. Empty value is available.
bank_account_holder_address_line2 N AN 100 Special symbols allowed: dashes, commas, dots and slashes. Empty value is available.
bank_account_holder_address_line3 N AN 100 Special symbols allowed: dashes, commas, dots and slashes. Empty value is available.
bank_account_holder_address_line4 N AN 100 Special symbols allowed: dashes, commas, dots and slashes. Empty value is available.
bank_account_holder_postal_code N AN 9 Special symbols allowed: dashes. Empty value is available.
bank_account_holder_city N AN 50 Special symbols allowed: dashes. Empty value is available.
bank_account_holder_state N AN 50 Special symbols allowed: dashes. Empty value is available.
bank_account_holder_country_iso_code N N 3 ISO 3166-1 numeric code. Empty value is available.
key Y AN 16 Merchant API Key – provided by Paytriot.
ts Y N 10 Request timestamp.
sign Y AN 32 See Sign generation.
{
    "iban": "GB888888888888888",
    "business_name": "",
    "bank_account_holder_address_line1": "Richland Avenue",
    "bank_account_holder_address_line2": "",
    "bank_account_holder_address_line3": "",
    "bank_account_holder_address_line4": null,
    "bank_account_holder_postal_code": "123457",
    "bank_account_holder_city": "Miami",
    "bank_account_holder_state": "",
    "bank_account_holder_country_iso_code": "004",
    "key": "_MERCHANT_KEY_",  
    "ts": "_TIMESTAMP_",  
    "sign": "_SIGN_"
}

Response

Parameter M Type Length Description
status Y AN 10 success/ error.
msg Y AN 255 See Message code.
iban_id Y N 20
iban Y N 34
description N AN
{
   "status": "success",  
   "msg": "Your IBAN details change has been successfully requested. You will be notified with iban details change webhook, when your details will be changed. (Address changes won't be shown)",
   "iban_id": 1234567,
   "iban": "GB888888888888888"
}

Get by request ID

Get your international bank account number by request ID.

URL
https://api.paytriot.co.uk/api/merchant/v/1.0/function/get_iban_by_request_id

Request

Parameter M Type Length Description
iban_request_id Y N 20
key Y AN 16 Merchant API Key – provided by Paytriot.
ts Y N 10 Request timestamp.
sign Y AN 32 See Sign generation.
{
    "iban_request_id": 12345678910,
    "key": "_MERCHANT_KEY_",  
    "ts": "_TIMESTAMP_",  
    "sign": "_SIGN_"
}

Response

Parameter M Type Length Description
status Y AN 10 success/ error.
msg Y AN 255 See Message code.
description N AN 255
iban_request_status N N 20 Will be shown if IBAN will not be found. See IBAN request status
data Y LIST
iban Y AN 34 IBAN number
account_id Y N 20
currency_code Y A 3 ISO 4217
status_id Y N 4 See IBAN statuses.
{
   "status": "success",
   "msg": "Successfully found your IBAN.",
   "iban_request_status": 2,
   "data": {
       "iban": "GB888888888888888",
       "account_id": 1788046,
       "currency_code": "GBP",
       "status_id": 1
   }
}

Get list

Get list of your international bank account numbers.

URL
https://api.paytriot.co.uk/api/merchant/v/1.0/function/get_ibans_list

Request

Parameter M Type Length Description
item_count N N 3 Items count per page. Max is 100. Default is 10.
current_items_page N N 20 Default is 1.
key Y AN 16 Merchant API Key – provided by Paytriot.
ts Y N 10 Request timestamp.
sign Y AN 32 See Sign generation.
{
    "item_count": 10,
    "current_items_page": 1,
    "key": "_MERCHANT_KEY_",  
    "ts": "_TIMESTAMP_",  
    "sign": "_SIGN_"
}

Response

Parameter M Type Length Description
status Y AN 10 success/ error.
msg Y AN 255 See Message code.
description N AN 255
data Y LIST
list Y LIST List of IBANs
iban Y AN 34 IBAN number
account_id Y N 20
currency_code Y A 3 ISO 4217
status_id Y N 4 See IBAN statuses.
paginator Y LIST Paginator details
limit Y N 3 Current limitation value. Max 100.
current_page Y N 20
{
   "status": "success",
   "msg": "Successfully loaded your IBAN's list",
   "data": {
       "list": [
           {
               "iban": "GB888888888888888",
               "account_id": 1234567,
               "currency_code": "GBP",
               "status_id": 2
           },
           {
               "iban": "GB999999999999999",
               "account_id": 1234567,
               "currency_code": "GBP",
               "status_id": 1
           }
       ],
       "paginator": {
           "limit": 10,
           "current_page": 1
       }
   }
}

IBAN transfer

Inbound cancel

Approve

Approve inbound cancel request for IBAN to account transaction.

URL
https://api.paytriot.co.uk/api/merchant/v/1.0/function/approve_inbound_cancel_request
Request
Parameter M Type Length Description
cancel_request_id Y N 20
key Y AN 16 Merchant API Key – provided by Paytriot.
ts Y N 10 Request timestamp.
sign Y AN 32 See Sign generation.
{
   "cancel_request_id": 1234567890,
   "key": "_MERCHANT_KEY_",  
   "ts": "_TIMESTAMP_",  
   "sign": "_SIGN_"
}
Response
Parameter M Type Length Description
status Y AN 10 success/ error.
msg Y AN 255 See Message code.
cancel_transaction_id Y N 20
{
   "status": "success",  
   "msg": "Cancel request approve was successfully requested.",  
   "cancel_transaction_id": "123456"
}

Decline

Decline inbound cancel request for IBAN to account transaction.

URL
https://api.paytriot.co.uk/api/merchant/v/1.0/function/decline_inbound_cancel_request
Request
Parameter M Type Length Description
cancel_request_id Y N 20
decline_reason_code Y N 20 See Inbound cancel request decline reason codes
key Y AN 16 Merchant API Key – provided by Paytriot.
ts Y N 10 Request timestamp.
sign Y AN 32 See Sign generation.
{
   "cancel_request_id": 1234567890,
   "decline_reason_code": 650,
   "key": "_MERCHANT_KEY_",  
   "ts": "_TIMESTAMP_",  
   "sign": "_SIGN_"
}
Response
Parameter M Type Length Description
status Y AN 10 success/ error.
msg Y AN 255 See Message code.
cancel_instruction_id Y N 20
{
   "status": "success",  
   "msg": "Cancel request was successfully requested to be declined.",
   "cancel_instruction_id": "123456"
}

Outbound cancel

Initiate outbound cancel request for account to IBAN transaction.

URL
https://api.paytriot.co.uk/api/merchant/v/1.0/function/outbound_transfer_cancel
Request
Parameter M Type Length Description
transaction_id Y N 20
cancel_reason_code Y N 20 See Outbound cancel request reason codes
reason_additional_information N AN 105 See Outbound cancel request reason codes which require this field.
reason_originator_name N AN 70 See Outbound cancel request reason codes which require this field.
key Y AN 16 Merchant API Key – provided by Paytriot.
ts Y N 10 Request timestamp.
sign Y AN 32 See Sign generation.
{
  "transaction_id": 12345678910,
  "cancel_reason_code": 672,
  "reason_additional_information": "additional",
  "reason_originator_name": "originator",
  "key": "_MERCHANT_KEY_",  
  "ts": "_TIMESTAMP_",  
  "sign": "_SIGN_"
}
Response
Parameter M Type Length Description
status Y AN 10 Success/error.
msg Y AN 255 See Message code.
cancel_transaction_id Y N 20
{
   "status": "success",  
   "msg": "Outbound cancel was successfully requested",  
   "cancel_transaction_id": "123456"
}

Direct debit return

Returns a previously received direct debit payment.

URL
https://api.paytriot.co.uk/api/merchant/v/1.0/function/transfer_iban_direct_debit_return

Request

Parameter M Type Length Description
transaction_id Y N 20
reason Y AN 3 See IBAN direct debit return message codes.
request_reference N AN 255 Request reference. If this field is not empty - minimum length must be at least 10. Will be returned with return webhooks as 'return_request_reference' field.
key Y AN 16 Merchant API Key – provided by Paytriot.
ts Y N 10 Request timestamp.
sign Y AN 32 See Sign generation.
{
   "transaction_id": 1234567890,
   "reason": "650",
   "key": "_MERCHANT_KEY_",  
   "ts": "_TIMESTAMP_",  
   "sign": "_SIGN_"
}

Response

Parameter M Type Length Description
status Y AN 10 Success/error.
msg Y AN 255 See Message code.
transaction_id Y N 20
{
   "status": "success",  
   "msg": "Successfully requested to return direct debit transfer",  
   "transaction_id": "12345678910"
}

Industry

Get list

Get list of industries.

URL
https://api.paytriot.co.uk/api/merchant/v/1.0/function/get_industries

Request

Parameter M Type Length Description
key Y AN 16 Merchant API Key – provided by Paytriot.
ts Y N 10 Request timestamp.
sign Y AN 32 See Sign generation.
{
    "key": "_MERCHANT_KEY_",  
    "ts": "_TIMESTAMP_",  
    "sign": "_SIGN_"
}

Response

Parameter M Type Length Description
status Y AN 10 success/ error.
msg Y AN 255 See Message code.
description N AN 255
list Y LIST List of industries
id Y N 20 Industry id
name Y AN 100 Industry name
{
  "status": "success",
  "msg": "Successfully loaded industries's list",
  "list": [
    {
      "id": "1",
      "name": "Travel services"
    },
    {
      "id": "2",
      "name": "Financial services"
    },
    {
      "id": "3",
      "name": "Computer services"
    },
    {
      "id": "4",
      "name": "Insurance services"
    },
    {
      "id": "5",
      "name": "Rental services"
    },
    {
      "id": "6",
      "name": "Charities"
    },
    {
      "id": "7",
      "name": "Accountants"
    },
    {
      "id": "8",
      "name": "Trusts"
    },
    {
      "id": "9",
      "name": "Pharmaceutical services"
    },
    {
      "id": "10",
      "name": "Gambling\/Betting"
    },
    {
      "id": "11",
      "name": "Adult services"
    },
    {
      "id": "12",
      "name": "Telemarketing services"
    },
    {
      "id": "13",
      "name": "Crypto activity"
    },
    {
      "id": "14",
      "name": "Foreign exchange"
    },
    {
      "id": "15",
      "name": "Retail"
    },
    {
      "id": "16",
      "name": "Healthcare & Social services"
    },
    {
      "id": "17",
      "name": "Public catering"
    },
    {
      "id": "18",
      "name": "Other"
    }
  ]
}

Notification

Request email

Send requested email message to merchant sponsored account.

URL
https://api.paytriot.co.uk/api/merchant/v/1.0/function/request_email

Request

Parameter M Type Length Description
user_id Y N 20 Email receiver user. id
Type Y AN 9 Email Type. 'accountbal' : request account balance, 'cardbal' : request card balance, 'pincode' : request Paytriot MasterCard PIN code, 'accounttx' : request account recent transactions, 'cardtx' : request Paytriot MasterCard recent transactions.
id Y N 20 Account id or last 4 digits of Paytriot. MasterCard
order N N 1 1, 2, or 3 to indicate if you want request the most recent, second to last or third to last transaction.
key Y AN 16 Merchant API Key – provided by Paytriot.
ts Y N 10 Request timestamp.
sign Y AN 32 See Sign generation.
{
   "user_id": "1000001",  
   "Type": "acountbal",  
   "id": "10002",  
   "order ": "1",  
   "key": "_MERCHANT_KEY_",  
   "ts": "_TIMESTAMP_",  
   "sign": "_SIGN_"
}

Response

Parameter M Type Length Description
status Y AN 10 Success/error.
code N N 3 See Message code.
msg Y AN 255 See Message code.
{
   "status": "success",  
   "msg": "Email sent"
}

Request SMS

Send requested SMS message to merchant sponsored account.

URL
https://api.paytriot.co.uk/api/merchant/v/1.0/function/request_sms

Request

Parameter M Type Length Description
user_id Y N 20 SMS receiver user id.
Type Y AN 9 SMS Type. 'accountbal' : request account balance, 'cardbal' : request card balance, 'pincode' : request Paytriot MasterCard PIN code, 'accounttx' : request account recent transactions, 'cardtx' : request Paytriot MasterCard recent transactions.
id Y N 20 Account id or last 4 digits of Paytriot. MasterCard
order N N 1 1, 2, or 3 to indicate if you want request the most recent, second to last or third to last transaction.
key Y AN 16 Merchant API Key – provided by Paytriot.
ts Y N 10 Request timestamp.
sign Y AN 32 See Sign generation.
{
   "user_id": "1000001",  
   "Type": "accountbal",  
   "id": "10002",  
   "order ": "1",  
   "key": "_MERCHANT_KEY_",  
   "ts": "_TIMESTAMP_",  
   "sign": "_SIGN_"
}

Response

Parameter M Type Length Description
status Y AN 10 Success/error.
code N N 3 See Message code.
msg Y AN 255 See Message code.
{
   "status": "success",  
   "msg": "SMS successfully sent"
}

Send email

Send email message to merchant sponsored account.

URL
https://api.paytriot.co.uk/api/merchant/v/1.0/function/send_email

Request

Parameter M Type Length Description
id Y N 20 Email receiver account ID or card ID.
Type Y N 1 Id Type 1 : account ID, 2 : card ID.
subject Y AN 78 Email subject.
message Y AN Email message. Available tags: account_id, username, firstname, lastname, balance, pin_code.
tx_id N N 20 Transaction ID*.
key Y AN 16 Merchant API Key – provided by Paytriot.
ts Y N 10 Request timestamp.
sign Y AN 32 See Sign generation.

*Note: in this case id is provided, you can use tags: tx_id, tx_amount and tx_currency in your message, which will be replaced by tx_id, transaction amount and transaction currency.

{
   "id": "1000001",  
   "Type": "1",  
   "subject": "test subject",  
   "message": "test message",  
   "tx_id": "2001",  
   "key": "_MERCHANT_KEY_",  
   "ts": "_TIMESTAMP_",  
   "sign": "_SIGN_"
}

Response

Parameter M Type Length Description
status Y AN 10 Success/error.
msg Y AN 255 Message.
{
   "status": "success",  
   "msg": "Email successfully sent"
}

Send SMS

Send SMS message to merchant sponsored account.

URL
https://api.paytriot.co.uk/api/merchant/v/1.0/function/send_sms

Request

Parameter M Type Length Description
id Y N 20 SMS receiver account ID or card ID.
Type Y N 1 ID Type 1 : account ID, 2 : card ID.
message Y AN 1600 SMS Message*.
tx_id N N 20 Transaction ID**.
key Y AN 16 Merchant API Key – provided by Paytriot.
ts Y N 10 Request timestamp.
sign Y AN 32 See Sign generation.

*Note: Messages with one or more non-GSM characters are limited to 70 characters. Any SMS messages that include 1 or more non-GSM characters will be separated into messages of 70 characters or less. Available tags: account_id, username, firstname, lastname, balance, pin_code.

**Note: in this case id is provided, you can use tags: tx_id, tx_amount and tx_currency in your message, which will be replaced by tx_id, transaction amount and transaction currency.

{
   "id": "1000001",  
   "Type": "1",  
   "message": "test message",  
   "tx_id": "2001",  
   "key": "_MERCHANT_KEY_",  
   "ts": "_TIMESTAMP_",  
   "sign": "_SIGN_"
}

Response

Parameter M Type Length Description
status Y AN 10 Success/error.
code N N 3 See Message code.
msg Y AN 255 See Message code.
{
   "status": "success",  
   "msg": "Message successfully sent"
}

Report

Account activity

Returns list of account transactions from period (max 31 day).

URL
https://api.paytriot.co.uk/api/merchant/v/1.0/function/get_account_activity

Request

Parameter M Type Length Description
account Y N 11
date_from Y AN 10 ISO 8601
date_to Y AN 10 ISO 8601
key Y AN 16 Merchant API Key – provided by Paytriot.
ts Y N 10 Request timestamp.
sign Y AN 32 See Sign generation.
{
   "account": "100002",
   "date_from": "2015-06-10",
   "date_to": "2015-06-13",  
   "key": "_MERCHANT_KEY_",  
   "ts": "_TIMESTAMP_",  
   "sign": "_SIGN_"
}

Response

Parameter M Type Length Description
status Y AN 10 Success/error.
msg Y AN 255 See Message code.
totals Y LIST Totals for filtered period.
total_count Y N 11 Number of transactions.
rejected_count Y N 11 Number of rejected transactions.
sum_credits Y N 11 Total credited amount.
sum_debits Y N 11 Total debited amount.
count_credits Y N 11 Number of credit transactions.
count_debits Y N 11 Number of debit transactions.
activity Y [ ] List of transactions.
id Y N 20 Transaction Id.
parent_tx_id N N 20 Parent transaction id.
transaction_type N AN 15 Transaction type
Is_rejected Y N 1 Is transaction rejected.
date Y AN 10 ISO 8601
datetime Y N 11 Unix timestamp.
sender Y AN 20 Account or card number of sender.
recipient Y AN 20 Account or card number of recipient.
debit Y N 11 Amount debited.
credit Y N 11 Amount credited.
currency Y A 3 ISO 4217
description Y A 100 Description.
additional_info N LIST Additional information for iban transactions.
source_mandate_originator N LIST Source mandate originator information
sender_originator_id N N 20
sender_originator_name N AN 255
sender_originator_service_user_number N N 6 Unique reference, which identifies originator
destination_mandate N LIST Destination mandate information
destination_mandate_id N N 20
destination_mandate_originator N LIST Destination mandate originator information
destination_mandate_originator_id N N 20
destination_mandate_originator_name N AN 255
destination_mandate_originator_service_user_number N N 6 Unique reference, which identifies originator
destination_mandate_reference N AN 18 Mandate's reference
destination_mandate_request_reference N AN 255 Request reference that has been provided in Mandate creation call.
destination_mandate_status N N 20 See Mandate statuses.
destination_mandate_type N N 20 See Mandate types
sender_data N LIST Sender details
iban_id N N 20 Sender's - iban id
iban N AN 34 Sender's - Bank account address - IBAN number
account_name N A 40 Sender's - Bank account address - account name
account_number N N 34 Sender's - Bank account address - account number
sort_code N N 6 Sender's - Bank account address - sort code.
bic N AN 12 Sender's - Bank account address - BIC code.
receiver_data N LIST Receiver details
iban_id N N 20 Receiver's - iban id
iban N AN 34 Receiver's - Bank account address - IBAN number
account_name N A 40 Receiver's - Bank account address - account name
account_number N N 34 Receiver's - Bank account address - account number
sort_code N N 6 Receiver's - Bank account address - sort code.
bic N AN 12 Receiver's - Bank account address - BIC code.
return_details N AN 255 Returned transaction details
reason_code N N 3 See IBAN Inbound return message codes or see IBAN Outbound return message codes
transaction_details N LIST Transaction details
senderData N LIST Transaction details sender data
name N AN 255 Sender's name
iban N AN 34 Sender's iban
addressLineOne N AN 255 Sender's address
addressLineTwo N AN 255 Sender's
country N AN 3 Sender's country. ISO 3166-1 numeric code
receiverData N LIST Transaction details receiver data
name N AN 255 Receiver's name
iban N AN 34 Receiver's iban
addressLineOne N AN 255 Receiver's address
addressLineTwo N AN 255 Receiver's
country N AN 3 Receiver's country. ISO 3166-1 numeric code
purpose N AN 4 Transaction details purpose. ISO 20022 external purpose code
note N AN 255 Transaction details note. This field is for remittance information.
reference N AN 255 Transaction reference
request_reference N AN 255 Transaction request reference
transaction_identifier N AN 100 Unique external transaction identifier
end_to_end_identifier N AN 100 Transaction's end to end identifier
tx_scheme N N 2 See IBAN transfer schemes.
tx_created_date N AN 10 ISO 8601
tx_created_datetime N N 11 Unix timestamp.
tx_updated_date N AN 10 ISO 8601
tx_updated_datetime N N 11 Unix timestamp.
is_status_settled N N 1 Is transaction settled? Possible values: 0 or 1
is_status_pending N N 1 Is transaction pending? Possible values: 0 or 1
is_status_reversal N N 1 Is transaction reversed? Possible values: 0 or 1
is_status_held N N 1 Is transaction on hold? Possible values: 0 or 1
is_cancellation N N 1 Is cancellation transaction? Possible values: 0 or 1
is_return N N 1 Is transaction returned? Possible values: 0 or 1
is_direct_credit N N 1 Is direct credit transaction? Possible values: 0 or 1
is_direct_debit N N 1 Is direct debit transaction? Possible values: 0 or 1
{
   "status": "success",  
   "msg": "Success",  
   "totals":{    
      "total_count": 2,  
      "rejected_count": 0,  
      "sum_credits": -1160.82,  
      "sum_debits": 1160.82,  
      "count_credits": 1,  
      "count_debits": 1  
   },  
   "activity":[    
      {    
         "id": "4320",  
         "parent_tx_id": null,
         "transaction_type": "a2a",
         "is_rejected": "0",  
         "date": "2015-06-13",  
         "datetime": "1434197442",  
         "sender": "100002",  
         "recipient": "1000023",  
         "debit": "",  
         "credit": "-1160.82",  
         "currency": "USD",  
         "description": "Account (100002) to account (1000023) transaction",
         "additional_info": null
      },  
      {    
         "id": "4140",  
         "parent_tx_id": null,
         "transaction_type": "ba2a",
         "is_rejected": "0",  
         "date": "2015-06-13",  
         "datetime": "1434192457",  
         "sender": "",  
         "recipient": "100002",  
         "debit": "1160.82",  
         "credit": "",  
         "currency": "USD",  
         "description": "Confirmed bank account to account transfer",
         "additional_info": null  
      },
      {
        "id": 12345678910,
        "parent_tx_id": null,
        "transaction_type": "a2iban",
        "is_rejected": 0,
        "date": "2015-06-13",
        "datetime": 1434192457,
        "sender": "12345678",
        "recipient": "",
        "debit": null,
        "credit": "-6.51",
        "currency": "GBP",
        "description": "Transfer from Account (12345678) to Bank Account (account number - 1111111111, sort code - 1111111111)",
        "additional_info": {
          "source_mandate_originator":{
            "id":15890083898187,
            "name":"PARTNERSHIP EDUCAT",
            "service_user_number":"162631"
          },
          "sender_data": {
            "iban_id": 12345678910,
            "iban": "GB77777777777777777",
            "account_name": "testing Name",
            "account_number": "77777777",
            "sort_code": "777777",
            "bic": "SR123457"
          },
          "receiver_data": {
            "iban_id": null,
            "iban": null,
            "account_name": "Test Name",
            "account_number": "1111111111",
            "sort_code": "111111",
            "bic": null
          },
          "return_details": null,
          "reason_code": null,
          "transaction_details": {
            "sender_data": {
              "name": null,
              "iban": "GB77777777777777777",
              "country": null,
              "address_line_one": null,
              "address_line_two": null
            },
            "receiver_data": {
              "name": "Test Name",
              "iban": null,
              "country": "004",
              "address_line_one": null,
              "address_line_two": null
            },
            "note": "message for receiver",
            "purpose": "MWP"
          },
          "reference": "BB12345678",
          "request_reference": "BB123456789",
          "transaction_identifier": "TX123456789",
          "end_to_end_identifier": null,
          "tx_scheme": 3,
          "tx_created_date": "2015-06-13",
          "tx_created_datetime": 1434192457,
          "tx_updated_date": "2015-06-13",
          "tx_updated_datetime": 1434192457,
          "is_status_settled": 1,
          "is_status_pending": 0,
          "is_status_reversal": 0,
          "is_status_held": 0,
          "is_cancellation": 0,
          "is_return": 0,
          "is_direct_credit": 0,
          "is_direct_debit": 0
        }
    },
    {
        "id": 12345678911,
        "parent_tx_id": null,
        "transaction_type": "a2directdebit",
        "is_rejected": 0,
        "date": "2015-06-13",
        "datetime": 1434192457,
        "sender": "12345678",
        "recipient": "",
        "debit": null,
        "credit": "-6.51",
        "currency": "GBP",
        "description": "Direct debit transfer from Account (12345678) for Mandate (name - Test, reference - Test mandate)",
        "additional_info": {
          "source_mandate_originator": null,
           "destination_mandate":{
               "id":15958372760595,
               "originator":{
                   "id":15958372760590,
                   "name":"Test",
                   "service_user_number":"777777"
               },
               "reference":"Test mandate",
               "request_reference":null,
               "status":1,
               "type":2
           },
          "sender_data": {
            "iban_id": 12345678910,
            "iban": "GB77777777777777777",
            "account_name": "testing Name",
            "account_number": "77777777",
            "sort_code": "777777",
            "bic": "SR123457"
          },
          "receiver_data": {
            "iban_id": null,
            "iban": null,
            "account_name": "Test Name",
            "account_number": "1111111111",
            "sort_code": "111111",
            "bic": null
          },
          "return_details": null,
          "reason_code": null,
          "transaction_details": {
            "sender_data": {
              "name": null,
              "iban": "GB77777777777777777",
              "country": null,
              "address_line_one": null,
              "address_line_two": null
            },
            "receiver_data": {
              "name": "Test Name",
              "iban": null,
              "country": "004",
              "address_line_one": null,
              "address_line_two": null
            },
            "note": "message for receiver",
            "purpose": "MWP"
          },
          "reference": "BB12345678",
          "request_reference": "BB123456789",
          "transaction_identifier": "TX123456789",
          "end_to_end_identifier": null,
          "tx_scheme": 4,
          "tx_created_date": "2015-06-13",
          "tx_created_datetime": 1434192457,
          "tx_updated_date": "2015-06-13",
          "tx_updated_datetime": 1434192457,
          "is_status_settled": 1,
          "is_status_pending": 0,
          "is_status_reversal": 0,
          "is_status_held": 0,
          "is_cancellation": 0,
          "is_return": 0,
          "is_direct_credit": 0,
          "is_direct_debit": 1
        }
    }
   ]
}

Account last activity

Returns list of 10 latest account transactions.

URL
https://api.paytriot.co.uk/api/merchant/v/1.0/function/get_account_last_activity

Request

Parameter M Type Length Description
account Y N 20
key Y AN 16 Merchant API Key – provided by Paytriot.
ts Y N 10 Request timestamp.
sign Y AN 32 See Sign generation.
{
   "account": "100002",  
   "key": "_MERCHANT_KEY_",  
   "ts": "_TIMESTAMP_",  
   "sign": "_SIGN_"
}

Response

Parameter M Type Length Description
status Y AN 10 Success/error.
msg Y AN 255 See Message code.
activity Y [ ] List of transactions.
id Y N 20 Transaction Id.
date Y AN 10 ISO 8601
datetime Y N 11 Unix timestamp.
sender Y AN 20 Account or Card number of sender.
recipient Y AN 20 Account or Card number of recipient.
debit Y N 11 Amount debited.
credit Y N 11 Amount debited.
currency Y A 3 ISO 4217
description Y A 100 Description.
{
   "status": "success",  
   "msg": "Success",  
   "activity":[    
      {    
         "id": "4320",  
         "date": "2015-06-13",  
         "datetime": "1434197442",  
         "sender": "100002",  
         "recipient": "1000023",  
         "debit": "",  
         "credit": "-1160.82",  
         "currency": "USD",  
         "description": "Account (100002) to account(1000023) transaction"  
      },  
      {    
         "id": "4140",  
         "date": "2015-06-13",  
         "datetime": "1434192457",  
         "sender": "",  
         "recipient": "100002",  
         "debit": "1160.82",  
         "credit": "",  
         "currency": "USD",  
         "description": "Confirmed bank account to account transfer"  
      }  
   ]
}

Card activity

Returns list of card transactions from period (max 31 day).

URL
https://api.paytriot.co.uk/api/merchant/v/1.0/function/get_card_activity

Request

Parameter M Type Length Description
card_id Y N 20
date_from Y AN 10 ISO 8601
date_to Y AN 10 ISO 8601
key Y AN 16 Merchant API Key – provided by Paytriot.
ts Y N 10 Request timestamp.
sign Y AN 32 See Sign generation.
{
   "card_id": "1001",
   "date_from": "2015-06-13",
   "date_to": "2015-06-16",  
   "key": "_MERCHANT_KEY_",  
   "ts": "_TIMESTAMP_",  
   "sign": "_SIGN_"
}

Response

Parameter M Type Length Description
status Y AN 10 Success/error.
msg Y AN 255 See Message code.
totals Y LIST Totals for filtered period.
total_count Y N 11 Number of transactions.
rejected_count Y N 11 Number of rejected transactions.
sum_credits Y N 11 Total credited amount.
sum_debits Y N 11 Total debited amount.
count_credits Y N 11 Number of credit transactions.
count_debits Y N 11 Number of debit transactions.
activity Y [ ] List of transactions.
id Y N 20 Transaction Id.
parent_tx_id N N 20 Parent transaction id.
transaction_type N AN 15 Transaction type
is_rejected Y N 1 Is transaction rejected.
date Y AN 10 ISO 8601
datetime Y N 11 Unix timestamp.
sender Y AN 20 Account or card number of sender.
recipient Y AN 20 Account or card number of recipient.
debit Y N 11 Amount debited.
credit Y N 11 Amount credited.
currency Y A 3 ISO 4217
description Y A 100 Description.
{
   "status": "success",  
   "msg": "Success",  
   "totals":{    
      "total_count": 2,  
      "rejected_count":0,  
      "sum_credits":-116.02,  
      "sum_debits": 120.24,  
      "count_credits": 1,  
      "count_debits": 1  
   },  
   "activity":[    
      {    
         "id": "4320",
         "parent_tx_id": null,
         "transaction_type": "c2a",  
         "is_rejected": "0",  
         "date": "2015-06-16",  
         "datetime": "1434157436",  
         "sender": "000000******1234",  
         "recipient": "100002",  
         "debit": "",  
         "credit": "-116.02",  
         "currency": "USD",  
         "description": "Card (000000******1234) to account (100002) transaction"  
      },  
      {    
         "id": "4140",  
         "parent_tx_id": null,
         "transaction_type": "a2c",  
         "is_rejected": "0",  
         "date": "2015-06-13",  
         "datetime": "1434192457",  
         "sender": "100002",  
         "recipient": "000000******1234",  
         "debit": "120.24",  
         "credit": "",  
         "currency": "USD",  
         "description": "Account (100002) to card (000000******1234) transaction"  
      }  
   ]
}

Card last activity

Returns list of 10 latest card transactions.

URL
https://api.paytriot.co.uk/api/merchant/v/1.0/function/get_card_last_activity

Request

Parameter M Type Length Description
card_id Y N 20
key Y AN 16 Merchant API Key – provided by Paytriot.
ts Y N 10 Request timestamp.
sign Y AN 32 See Sign generation.
{
   "card_id": "1001",  
   "key": "_MERCHANT_KEY_",  
   "ts": "_TIMESTAMP_",  
   "sign": "_SIGN_"
}

Response

Parameter M Type Length Description
status Y AN 10 Success/error.
msg Y AN 255 See Message code.
activity Y [ ] List of transactions.
id Y N 20 Transaction Id.
date Y AN 10 ISO 8601
datetime Y N 11 Unix timestamp.
sender Y AN 20 Account or card number of sender.
recipient Y AN 20 Account or card number of recipient.
debit Y N 11 Amount debited.
credit Y N 11 Amount debited.
currency Y A 3 ISO 4217
description Y A 100 Description.
{
   "status": "success",  
   "msg": "Success",  
   "activity":[    
      {    
         "id": "4320",  
         "date": "2015-06-16",  
         "datetime": "1434157436",  
         "sender": "000000******1234",  
         "recipient": "100002",  
         "debit": "",  
         "credit": "-116.02",  
         "currency": "USD",  
         "description": "Card (000000******1234) to account (100002) transaction"  
      },  
      {    
         "id": "4140",  
         "date": "2015-06-13",  
         "datetime": "1434192457",  
         "sender": "100002",  
         "recipient": "000000******1234",  
         "debit": "120.24",  
         "credit": "",  
         "currency": "USD",  
         "description": "Account (100002) to card (000000******1234) transaction"  
      }  
   ]
}

Purchase status

Gets purchase status.

URL
https://api.paytriot.co.uk/api/merchant/v/1.0/function/get_purchase_status

Request

Parameter M Type Length Description
reference_id Y AN 255 Unique ID of the purchase request.
key Y AN 16 Merchant API Key – provided by Paytriot.
ts Y N 10 Request timestamp.
sign Y AN 32 See Sign generation.
{
   "reference_id": "ap-57fce78057df6"
}

Response

Parameter M Type Length Description
status Y AN 10 Success/error.
msg Y AN 255 See Message code.
reference_id Y AN 255 Unique ID of the purchase request.
order_id Y A 50 Unique order ID.
amount Y N 10,2
currency Y A 3 ISO 4217
purchase_status Y N 11 See Purchase status.
{
   "status": "success",
   "msg": "Success",
   "reference_id": "ap-57fce78057df6",
   "order_id": "my_order_81815",
   "amount": "1.01",
   "currency": "USD",     
   "purchase_status": 9   
}

Transaction status

Get transaction status by transaction ID.

URL
https://api.paytriot.co.uk/api/merchant/v/1.0/function/get_transaction_status

Request

Parameter M Type Length Description
transaction_id Y AN 20
key Y AN 16 Merchant API Key – provided by Paytriot.
ts Y N 10 Request timestamp.
sign Y AN 32 See Sign generation.
{
   "transaction_id": 22,  
   "key": "_MERCHANT_KEY_",  
   "ts": "_TIMESTAMP_",  
   "sign": "_SIGN_"
}

Response

Parameter M Type Length Description
status Y AN 10 Success/error.
msg Y AN 255 See Message code.
transaction_status Y A 1 Possible values: C: completed, P: pending, U: under review, R: rejected.
transaction_code Y A 3 See Message code.
transaction_status_desc Y N 50
test Y A 1 Possible values: Y: yes N: no.
{
   "status": "success",  
   "msg": "Success",  
   "transaction_status": "C",  
   "transaction_code": "000",  
   "transaction_status_desc": "Transaction successfully completed",  
   "test": "N"
}

Simulate

Webhook

IBAN inbound reversed

Simulates iban to account transfer reverse and triggers iban-inbound-reverse webhook.

URL
https://api.paytriot.co.uk/api/merchant/v/1.0/function/simulate_webhook_iban_inbound_reversed
Request
Parameter M Type Length Description
transaction_id Y N 20
key Y AN 16 Merchant API Key – provided by Paytriot.
ts Y N 10 Request timestamp.
sign Y AN 32 See Sign generation.
{
   "transaction_id": "12312312312321",
   "key": "_MERCHANT_KEY_",
   "ts": "_TIMESTAMP_",
   "sign": "_SIGN_"
}
Response
Parameter M Type Length Description
status Y AN 10 Success/error.
msg Y AN 255 See Message code.
{
   "status": "success",
   "msg": "Your simulation was successfully requested."
}

IBAN inbound settled

Simulates IBAN to account transfer and triggers iban-inbound-settled webhook.

URL
https://api.paytriot.co.uk/api/merchant/v/1.0/function/simulate_webhook_iban_inbound_settled
Request
Parameter M Type Length Description
amount Y N 10,2
sender_iban Y AN 34
receiver_iban Y AN 34
key Y AN 16 Merchant API Key – provided by Paytriot.
ts Y N 10 Request timestamp.
sign Y AN 32 See Sign generation.
{
   "amount": "50.55",
   "sender_iban": "GB999999999999999",
   "receiver_iban": "GB888888888888888",
   "key": "_MERCHANT_KEY_",
   "ts": "_TIMESTAMP_",
   "sign": "_SIGN_"
}
Response
Parameter M Type Length Description
status Y AN 10 Success/error.
msg Y AN 255 See Message code.
{
   "status": "success",
   "msg": "Your simulation was successfully requested."
}

Transfer

Account to ...

Account

Create

Initiate account to account transfer.

URL
https://api.paytriot.co.uk/api/merchant/v/1.0/function/transfer_a_to_a
Request
Parameter M Type Length Description
sender_account Y N 20
receiver_account Y N 20
amount Y N 10,2
currency Y A 3 ISO 4217
test Y N 1 Is it test transaction? Possible values: 1: yes, 0: no.
description N AN 255 Description for transaction details.
key Y AN 16 Merchant API Key – provided by Paytriot.
ts Y N 10 Request timestamp.
sign Y AN 32 See Sign generation.
{
   "sender_account": "1753154",  
   "receiver_account": "1753242",  
   "amount": 15.00,  
   "currency": "USD",  
   "test": 0,
   "description": "Transaction #1",  
   "key": "_MERCHANT_KEY_",  
   "ts": "_TIMESTAMP_",  
   "sign": "_SIGN_"
}
Response
Parameter M Type Length Description
status Y AN 10 Success/error.
msg Y AN 255 See Message code.
transaction_id Y A 20
{
   "status": "success",  
   "msg": "Operation completed.",  
   "transaction_id": "324"
}
Create purchase

Initiates purchase procedure.

URL
https://api.paytriot.co.uk/api/merchant/v/1.0/function/create_purchase
Request
Parameter M Type Length Description
receiver_account Y N 20 Your account ID for receiving transfer.
amount Y N 10,2
currency Y A 3 ISO 4217
order_id Y A 50 Unique order ID.
sender_user_id N N 20 Paytriot user ID.
sender_account N N 20 Paytriot account ID.
url_user_on_success N A 255 URL where user will returned after successful purchase.
url_user_on_fail N A 255 URL where user will returned in case of failed purchase.
url_api_on_success N A 255 URL where will be sent IPN (instant payment notification) in case of successfully completed purchase. See IPN catcher PHP code example".
url_api_on_fail N A 255 URL where will be sent IPN (instant payment notification) in case of failed or canceled purchase. See IPN catcher PHP code example".
language N A 2 Preferred language. If not provided – English will be used.
key Y AN 16 Merchant API Key – provided by Paytriot.
ts Y N 10 Request timestamp.
sign Y AN 32 See Sign generation.
{
   "receiver_account": "1000001",  
   "amount": "1.01",  
   "currency": "USD",
   "order_id": "my_order_81815",  
   "sender_user_id": "",
   "sender_account": "",  
   "url_user_on_success": "https://www.myeshopexample.com/success_purchase",  
   "url_user_on_fail": "https://www.myeshopexample.com/failed_purchase",  
   "url_api_on_success": "https://www.myeshopexample.com/ipn_success_purchase",  
   "url_api_on_fail": "https://www.myeshopexample.com/ipn_failed_purchase",  
   "language": "en",  
   "key": "_MERCHANT_KEY_",  
   "ts": "_TIMESTAMP_",  
   "sign": "_SIGN_"
}
Response
Parameter M Type Length Description
status Y AN 10 Success/error.
msg Y AN 255 See Message code.
reference_id Y AN 16 Unique ID of the purchase request.
order_id Y A 50 Unique order ID.
amount Y N 10,2
currency Y A 3 ISO 4217
purchase_status Y N 11 See Purchase status.
url Y AN 255 URL where user can finish or cancel his purchase (encode this URL using base64_encode function and redirect to Paytriot login page with additional redirect param, e.g.: https://wallet.paytriot.co.uk/en/auth/login/redirect/_base64_encoded_url).
{
   "status": "success",  
   "msg": "Success",  
   "reference_id": "ap-57fce78057df6",
   "order_id": "my_order_81815",
   "amount": "1.01",
   "currency": "USD",  
   "purchase_status": 1,
   "url": "https://wallet.paytriot.co.uk/en/purchase/confirmpurchase/ref/ap-57fce78057df6"
}
External initialize

Prepare transfer from any user to merchant account.

URL
https://api.paytriot.co.uk/api/merchant/v/1.0/function/initialize_transfer
Request
Parameter M Type Length Description
receiver_account Y N 20 Your account ID for receiving transfer.
sender Y AN 100 Here can be username, user email or account number from which made transfer. If user did not have requested currency account or have several accounts then there must be account number.
amount Y N 10,2 / 10,8 For currencies like EUR or USD use 10,2. For bitcoin 10,8 can be used.
currency Y A 3 ISO 4217, for bitcoin use BTC.
order_id Y AN 30 Unique identification of request`
Description Y AN 100 Transfer Description.
account_by_user_country N N 1 If parameter provided and its value = 1, then if user is from Europe, transfer will be prepared to merchant EUR account, otherwise to merchant USD account. If merchants EUR or USD account not found – transfer will be prepared to the account provided in the receiver_account parameter.
key Y AN 16 Merchant API Key – provided by Paytriot.
ts Y N 10 Request timestamp.
sign Y AN 32 See Sign generation.
{
   "receiver_account": "1000001",  
   "sender": "john.doe",  
   "amount": 1.01,  
   "currency": "USD",  
   "order_id": "15_20151110080801",  
   "Description": "Payment for order #15",  
   "account_by_user_country": 0,  
   "key": "_MERCHANT_KEY_",  
   "ts": "_TIMESTAMP_",  
   "sign": "_SIGN_"
}
Response
Parameter M Type Length Description
status Y AN 10 Success/error.
code N N 3 See Message code.
msg Y AN 255 See Message code.
Description N AN Detailed explanation of error.
order_id N AN 100 UniqueID of request.
hash N AN
token_number N AN 10
{
   "status": "success",  
   "msg": "Transfer initialized.",  
   "order_id": "15_20151110080801",  
   "hash": "a64fb511c885f9aeff211f7bfefc5648",  
   "token_number": "48-QI"
}
External finish

Finish prepared transfer from any user to merchant account. Request user to enter his Key Code for given token_number.

URL
https://api.paytriot.co.uk/api/merchant/v/1.0/function/finish_transfer
Request
Parameter M Type Length Description
receiver_account Y N 20 Your account ID for receiving transfer.
hash Y AN Hash code given in InitializeTransfer success response.
token_number Y AN 10 token_number given in InitializeTransfer success response.
token_code Y N 6 User’s entered key code for given token_number.
account_by_user_country N N 1 If InitializeTransfer was called with this param 1, then add this param to the FinishTransfer with value 1.
key Y AN 16 Merchant API Key – provided by Paytriot.
ts Y N 10 Request timestamp.
sign Y AN 32 See Sign generation.
{
   "receiver_account": "1000001",  
   "hash": "5640bf0cb3e5c",  
   "token_number": "48-QI",
   "token_code": "123456",  
   "account_by_user_country": 0,  
   "key": "_MERCHANT_KEY_",  
   "ts": "_TIMESTAMP_",  
   "sign": "_SIGN_"
}
Response
Parameter M Type Length Description
status Y AN 10 Success/error.
code N N 3 See Message code.
msg Y AN 255 See Message code.
Description N AN Detailed explanation of error.
transaction_id N N 20
order_id N AN 100 UniqueID of request.
{
   "status": "success",  
   "code": "000",  
   "msg": "Transaction successfully completed",  
   "transaction_id": "100687",  
   "order_id": "15_20151110080801"
}

If finish transaction was failed then procedure must start again from External initialize.

Refund

Support several partial refunds.

URL
https://api.paytriot.co.uk/api/merchant/v/1.0/function/refund_transfer
Request
Parameter M Type Length Description
transaction_id Y N 20 Transaction ID which to refund.
amount Y N 10,2 Amount to refund.
key Y AN 16 Merchant API Key – provided by Paytriot.
ts Y N 10 Request timestamp.
sign Y AN 32 See Sign generation.
{
   "transaction_id": "100687",  
   "amount":0.50,  
   "key": "_MERCHANT_KEY_",  
   "ts": "_TIMESTAMP_",  
   "sign": "_SIGN_"
}
Response
Parameter M Type Length Description
status Y AN 10 Success/error.
code N N 3 See Message code.
msg Y AN 255 See Message code.
Description N AN Detailed explanation of error.
transaction_id N N 20
amount N N 10,2
currency N A 3 ISO 4217
{
   "status": "success",  
   "code": "000",  
   "msg": "Transaction successfully completed",  
   "transaction_id": "100688",  
   "amount":0.50,  
   "currency": "USD"
}

Card


Initiate account to card transfer.

URL
https://api.paytriot.co.uk/api/merchant/v/1.0/function/transfer_a_to_c
Request
Parameter M Type Length Description
sender_account Y N 20
receiver_card Y N 20
amount Y N 10,2 Minimum amount 50 USD (or equivalent in other currency).
currency Y A 3 ISO 4217
test Y N 1 Is it test transaction? Possible values: 1: yes, 0: no.
key Y AN 16 Merchant API Key – provided by Paytriot.
ts Y N 10 Request timestamp.
sign Y AN 32 See Sign generation.
{
   "sender_account": "1753154",  
   "receiver_card": 16,  
   "amount": 60.00,  
   "currency": "USD",  
   "test": 0,  
   "key": "_MERCHANT_KEY_",  
   "ts": "_TIMESTAMP_",  
   "sign": "_SIGN_"
}
Response
Parameter M Type Length Description
status Y AN 10 Success/error.
msg Y AN 255 See Message code.
transaction_id Y A 20
code Y A See Message code.
{
   "status": "success",  
   "msg": "Operation completed.",  
   "transaction_id": "326",  
   "code": "000"
}

IBAN

Initiate account to IBAN transfer.

URL
https://api.paytriot.co.uk/api/merchant/v/1.0/function/transfer_a_to_iban
Request
Parameter M Type Length Description
sender_account C N 20 Required if 'currency' field is empty.
sender_iban Y AN 34
sending_amount Y N 10,2
receiver_iban N AN 34 if 'receiver_iban' is provided - 'receiver_account_number' and 'receiver_sort_code' fields must be empty.
receiver_name Y AN 40 Alphanumeric inputs are allowed only for Business receivers.
receiver_address N AN 70
receiver_postal N AN 20
receiver_city N A 20
receiver_country_code N A 3 ISO 3166-1
message_for_receiver N AN 140 For ClearBank provider - max 35 characters.
withdrawal_purpose N A 3 See Withdrawal purpose.
receiver_account_number N N 34 Required if 'receiver_iban' field is empty.
receiver_sort_code N AN 6 Required if 'receiver_iban' field is empty.
currency C A 3 ISO 4217 - Required if 'sender_account' field is empty.
request_reference N AN 255 This reference will be returned with Account to IBAN webhooks. Special symbols allowed: dashes.
reference N AN 18 This field is used for bank reference. Special symbols allowed: dashes, commas, dots, slashes.
receiver_type N N 1 Possible values: 1 - individual, 2 - business.
industry_id N N 20 Use Get Industries action to know what kind of industries exist.
client_tag N AN 50 This field is used to group client transactions. Special symbols allowed: dashes.
key Y AN 16 Merchant API Key – provided by Paytriot.
ts Y N 10 Request timestamp.
sign Y AN 32 See Sign generation.
{
   "sender_account": 1234567890,
   "sender_iban": "GB999999999999999",
   "sending_amount": "50.55",
   "receiver_iban": "GB888888888888888",
   "receiver_name": "Testing GB",
   "receiver_address": "London drift 24",
   "receiver_postal": "12345",
   "receiver_city": "London",
   "receiver_country_code": "GBR",
   "message_for_receiver": "For lunch with Queen.",
   "withdrawal_purpose": "MWP",
   "receiver_account_number": null,
   "receiver_sort_code": null,
   "request_reference": "AAA12345789",
   "reference": "RRE1324567",
   "receiver_type": 1,
   "industry_id": 10,
   "client_tag": null,
   "key": "_MERCHANT_KEY_",  
   "ts": "_TIMESTAMP_",  
   "sign": "_SIGN_"
}
Response
Parameter M Type Length Description
status Y AN 10 Success/error.
msg Y AN 255 See Message code.
transaction_id Y N 20
{
   "status": "success",  
   "msg": "Your transfer was successfully requested.",  
   "transaction_id": "123456"
}

IBAN Inbound return

Returns a previously received inbound payment to the sender.

URL
https://api.paytriot.co.uk/api/merchant/v/1.0/function/transfer_iban_inbound_return
Request
Parameter M Type Length Description
transaction_id Y N 20
reason Y AN 3 See IBAN Inbound return message codes.
key Y AN 16 Merchant API Key – provided by Paytriot.
ts Y N 10 Request timestamp.
sign Y AN 32 See Sign generation.
{
   "transaction_id": 1234567890,
   "reason": "650",
   "key": "_MERCHANT_KEY_",  
   "ts": "_TIMESTAMP_",  
   "sign": "_SIGN_"
}
Response
Parameter M Type Length Description
status Y AN 10 Success/error.
msg Y AN 255 See Message code.
transaction_id Y N 20
{
   "status": "success",  
   "msg": "Your transfer was successfully requested.",  
   "transaction_id": "123456"
}

User

Initiate account to user transfer.

URL
https://api.paytriot.co.uk/api/merchant/v/1.0/function/transfer_a_to_u
Request
Parameter M Type Length Description
sender_account Y N 20
receiver Y AN 100 Here can be username or user email or account number where transfer money to. If submitted not account number and user did not have requested currency account or have several accounts then transfer will be made to primary account.
amount Y N 10,2
currency Y A 3 ISO 4217
key Y AN 16 Merchant API Key – provided by Paytriot.
ts Y N 10 Request timestamp.
sign Y AN 32 See Sign generation.
{
   "sender_account": "1753154",  
   "receiver": "user",  
   "amount": 15.00,  
   "currency": "USD",  
   "key": "_MERCHANT_KEY_",  
   "ts": "_TIMESTAMP_",  
   "sign": "_SIGN_"
}
Response
Parameter M Type Length Description
status Y AN 10 Success/error.
msg Y AN 255 See Message code.
transaction_id Y N 20
{
   "status": "success",  
   "msg": "Operation completed.",  
   "transaction_id": "324"
}

Crypto

Withdraw money to crypto.

Initialize

Prepare withdraw money to crypto.

URL
https://api.paytriot.co.uk/api/merchant/v/1.0/function/initialize_withdraw_to_crypto
Request
Parameter M Type Length Description
account_id Y N 20 Here goes crypto account id.
crypto_address Y AN 35 Crypto address.
receiver Y AN 100 Receiver.
amount Y N 10,2 / 20,8 / 20,9 For currencies like USD or EUR use 10,2, for crypto currencies see Crypto currency.
currency Y A 3 ISO 4217, for crypto currencies see Crypto currency.
crypto_currency Y A 3 See Crypto currency.
crypto_fee_rate Y A 3 Crypto fee rate. Value low/hi
order_id N AN 50 Unique identification of request.
destination_tag N N 10 Destinaton tag. Returned only for Ripple XRP crypto currency. Value from 0 to 9999999999.
key Y AN 16 Merchant API Key – provided by Paytriot.
ts Y N 10 Request timestamp.
sign Y AN 32 See Sign generation.
{
   "account_id": "1824406",
   "crypto_address": "1KmJT4rHiCogXyzqCTEMsXLSBDG46ypTN8",
   "receiver": "John Doe",
   "amount": "100.01",
   "currency": "EUR",
   "crypto_currency": "BTC",
   "crypto_fee_rate": "low",
   "order_id": "btc123456",
   "key": "_MERCHANT_KEY_",
   "ts": "_TIMESTAMP_",
   "sign": "_SIGN_"
}
Response
Parameter M Type Length Description
status Y AN 10 success/error.
code N N 3 See Message code.
msg Y AN 255 See Message code.
description N AN
hash Y AN 32
order_id Y AN 50
amount Y N 20,8 / 20,9
fee_amount Y N 20,8 / 20,9
total_amount Y N 20,8 / 20,9
currency Y A 3 ISO 4217
token_number Y AN 10
{
   "status": "success",
   "msg": "Transaction initialized",
   "hash": "ab52ac887bea1be397da742932b4611d",
   "order_id": "btc123456",
   "amount": "0.00010000",
   "fee_amount": "0.00000090",
   "total_amount": "0.00010090",
   "currency": "BTC",
   "token_number": "19-EQ"
}
Finish

Finish prepared withdraw money to crypto. Request user to enter his Key Code for given token_number.

URL
https://api.paytriot.co.uk/api/merchant/v/1.0/function/finish_withdraw_to_crypto
Request
Parameter M Type Length Description
hash Y AN
order_id Y AN 50
token_number Y AN 10
token_code Y N 6
key Y AN 16 Merchant API Key – provided by Paytriot.
ts Y N 10 Request timestamp.
sign Y AN 32 See Sign generation.
{
   "hash": "ab52ac887bea1be397da742932b4611d",
   "order_id": "btc123456",
   "token_number": "19-EQ",
   "token_code": "123456",
   "key": "_MERCHANT_KEY_",
   "ts": "_TIMESTAMP_",
   "sign": "_SIGN_"
}
Response
Parameter M Type Length Description
status Y AN 10 success/error.
code N N 3 See Message code.
msg Y AN 255 See Message code.
description N AN
transaction_id Y N 20
currency Y A 3 See Crypto currency.
amount Y N 20,8 / 20,9 See Crypto currency.
crypto_address Y AN 35 Crypto address.
{
   "status": "success",
   "msg": "Transaction in progress",
   "transaction_id": "1166075",
   "currency": "BTC",
   "amount": "0.00010000",
   "crypto_address": "1KmJT4rHiCogXyzqCTEMsXLSBDG46ypTN8"
}
IPN Call
Parameter M Type Length Description
status Y AN 10 success/fail.
type Y AN 5
order_id Y AN 13
account_id Y N 20
settled_amount Y N 20,8 / 20,9 See Crypto currency.
currency Y A 3 See Crypto currency.
transaction_id Y N 20
crypto_address Y AN 35
key Y AN 16 Merchant API Key – provided by Paytriot.
ts Y N 10 Request timestamp.
sign Y AN 32 See Sign generation.
{
   "status": "success",
   "type": "btc2a",
   "order_id": "btc123456",
   "account_id": "1824406",
   "settled_amount": "0.00010000",
   "currency": "BTC",
   "transaction_id": "1166075",
   "crypto_address": "1KmJT4rHiCogXyzqCTEMsXLSBDG46ypTN8",
   "key": "_MERCHANT_KEY_",
   "ts": "_TIMESTAMP_",
   "sign": "_SIGN_"
}

Card to ...

Account

Create

Initiate card to account transfer.

URL
https://api.paytriot.co.uk/api/merchant/v/1.0/function/transfer_c_to_a
Request
Parameter M Type Length Description
sender_card Y N 20
expiration_date Y N 6 Month and year e.g: 062021
cvv Y N 3
receiver_account Y N 20
amount Y N 10,2
currency Y A 3 ISO 4217
key Y AN 16 Merchant API Key – provided by Paytriot.
ts Y N 10 Request timestamp.
sign Y AN 32 See Sign generation.
{  
   "sender_card": "16",  
   "expiration_date": "062022",  
   "cvv": "123",  
   "receiver_account": "1753154",  
   "amount": 60.00,  
   "currency": "USD",  
   "key": "_MERCHANT_KEY_",  
   "ts": "_TIMESTAMP_",  
   "sign": "_SIGN_"
}
Response
Parameter M Type Length Description
status Y AN 10 Success/error.
msg Y AN 255 See Message code.
transaction_id Y A 20
code Y A See Message code.
{
   "status": "success",  
   "msg": "Your transaction request was sent to our Bank for processing.",  
   "transaction_id": "326",  
   "code": "000"
}
External initialize

Prepare load money from external saved cards.

URL
https://api.paytriot.co.uk/api/merchant/v/1.0/function/initialize_load_from_card
Request
Parameter M Type Length Description
account_id Y N 20
credit_card_id Y N 20 External card deposit categories
deposit_category Y N 1 See External card deposit categories
amount Y N 10,2
currency Y A 3 ISO 4217
merchant_website N AN 255 Website of the merchant.
merchant_city N AN 50 City of the merchant.
key Y AN 16 Merchant API Key – provided by Paytriot.
ts Y N 10 Request timestamp.
sign Y AN 32 See Sign generation.
{
   "account_id": "1824416",  
   "credit_card_id": "33209",  
   "deposit_category": "1",
   "amount": "77.01",  
   "currency": "EUR",
   "merchant_website": "www.your-website.com",
   "merchant_city": "Ellerslie",
   "key": "_MERCHANT_KEY_",  
   "ts": "_TIMESTAMP_",  
   "sign": "_SIGN_"
}
Response
Parameter M Type Length Description
status Y AN 10 Success/error.
msg Y AN 255 See Message code.
Description N AN
amount Y N 10,2
fee_amount Y N 10,2
total_amount Y N 10,2
currency Y A 3 ISO 4217
hash Y AN
token_number Y AN 10
{
   "status": "success",  
   "msg": "Transaction initialized",  
   "amount": "77.01",  
   "fee_amount": "2.23",  
   "total_amount": "79.24",  
   "currency ": "EUR",  
   "hash": "dcbcfbf7b355f3f48b5497dd1516a447",  
   "token_number": "92-AR"
}
External finish

Finish prepared load money from external saved card. Request user to enter his key code for given token_number.

URL
https://api.paytriot.co.uk/api/merchant/v/1.0/function/finish_load_from_card
Request
Parameter M Type Length Description
hash Y AN
cvv Y AN 100 CVV number, must be encrypted by 3DES algorithm with 3DES.
token_number Y AN 10
token_code Y N 6
wait_response N N 1 Possible values: 0 - do not wait for response (webhook will be sent), 1 - wait for response (webhook response data will be returned, in case of timeout webhook will be sent).
key Y AN 16 Merchant API Key – provided by Paytriot.
ts Y N 10 Request timestamp.
sign Y AN 32 See Sign generation.
{
   "hash": "dcbcfbf7b355f3f48b5497dd1516a447",  
   "cvv": "XXVfy2ZhiN4=",  
   "token_number": "92-AR",  
   "token_code": "123456",  
   "wait_response": "0",
   "key": "_MERCHANT_KEY_",  
   "ts": "_TIMESTAMP_",  
   "sign": "_SIGN_"
}
Response
Parameter M Type Length Description
status Y AN 10 Success/error.
msg Y AN 255 See Message code.
s3d Y A 1 Possible values: 1: yes, 0: no.
md N AN Unique reference for transaction.
pa_req N AN Payer Authentication Request message.
Description N AN
transaction_id Y N 20

Whenever credit card load is done and response has S3D set to 1 - S3D verification must be completed and S3D data submit method executed. Example of S3D verification form: S3D submit form.

{
   "status": "success",
   "msg": "Transaction in progress",
   "s3d": 0,
   "transaction_id": "1166095"
}
{
   "status": "success",
   "msg": "S3D confirmation required.",
   "s3d": 1,
   "bank_link": "http://bank-url",
   "md": "15633665670206",
   "pa_req": "dGJpbWhybWM1WXA3ZytXK3ZuR3BvTGgycXBxVXNkYmRwNXA2emJqQlluK0pjSzYzZHBoNXNKS0ZxcDYxbkhmU21IV3V6Y2ZXdnM2Um5uSHJtcEtzbDl6TWo5ckN4NU9mcXN5SFpNVEtqcWFaNEwyK3kzOThiY1BXdXRpM29xK3NrYXlJdmNHamdxN2FtSTJvZ2JXOXA2VzlwcmFaanBtVm1MVEVyTFNOb3RhL3lIT0dvN0c3MllsMzBNM1ltNWl1MG1hL25LM0V5cDZZaHArWnNhSmliSXhndTdxUXdxVEFyWWFkaGEvQ2Q5S1JjS0hLcmF5VHZuMmVhT2Via3IyVXlOeDV0N0cycEoyZ29vS1p0TFdCZEkvZ2lyTE1qM1c0eTlYYzJiZkdyblY0NVkzTHdiaUd5ZEtyblcrSnRKaHJqcExBZnBlbGk2eVMxck9kcEoyTnlhNjBmNzJnaUsvR2dIYnV4TmRoc3EyNGVwNmJyY1N6cDVhdmdkeTZuNHlx"
}
{
   "type": "cc2a",  
   "account_id": "1824416",  
   "currency": "EUR",  
   "order_id": "5904623acb440",  
   "settled_amount": "77.01",  
   "status": "success",  
   "transaction_id": "1166095",
}
External unverified initialize

Prepare load money from unverified credit card.

URL
https://api.paytriot.co.uk/api/merchant/v/1.0/function/initialize_load_from_unverified_card
Request
Parameter M Type Length Description
account_id Y N 20
credit_card_number Y N 20 Credit card number must be encrypted by 3DES algorithm.
cvv Y N 20 CVV number, must be encrypted by 3DES algorithm.
expiration_date_month Y N 20 Expiration month number, must be encrypted by 3DES algorithm.
expiration_date_year Y N 20 Expiration year number, must be encrypted by 3DES algorithm.
name_on_card Y AN 32 Name of the card holder.
deposit_category Y N 32 See External card deposit categories
address Y N 50 Address of the card holder.
zip Y N 10 Zip code of the address.
city Y AN 50 City of the address.
state Y N 50 State of the address.
amount Y N 10,2
currency Y A 3 ISO 4217.
merchant_website N AN 255 Website of the merchant.
merchant_city N AN 50 City of the merchant.
skip_card_codes_verification N N 1 Defined if card codes verification is required. Possible values: 1: yes, 0: no.
wait_response N N 1 Possible values: 0 - do not wait for response (webhook will be sent), 1 - wait for response (webhook response data will be returned, in case of timeout webhook will be sent).
key Y AN 16 Merchant API Key – provided by Paytriot.
ts Y N 10 Request timestamp.
sign Y AN 32 See Sign generation.
{
   "account_id": "1824416",  
   "credit_card_number": "IdDifEv6Qv7+QR2y9c0S7OOEmu8ajPp/",
   "cvv": "d5xIzHYC0Ds=",
   "expiration_date_month": "Nexkt7afL7E=",
   "expiration_date_year": "2RnmejSw2f8=",
   "name_on_card": "John Doe",
   "deposit_category": "1",
   "address": "14 Main Hwy",
   "zip": "1051",
   "city": "Ellerslie",
   "state": "Auckland",
   "amount": "77.01",
   "currency": "EUR",
   "merchant_website": "www.your-website.com",
   "merchant_city": "Ellerslie",
   "skip_card_codes_verification": "0",
   "key": "_MERCHANT_KEY_",  
   "ts": "_TIMESTAMP_",  
   "sign": "_SIGN_"
}
Response
Parameter M Type Length Description
status Y AN 10 Success/error.
msg Y AN 255 See Message code.
hash Y AN
amount Y N 10,2
fee_amount Y N 10,2
total_amount Y N 10,2
currency Y A 3 ISO 4217
skip_card_codes_verification Y N 1 Defined if card codes verification is required. Possible values: 1: yes, 0: no.
s3d N A 1 Possible values: 1: yes, 0: no. Only when skip_card_codes_verification is provided 1.
md N AN Unique reference for transaction. Only when skip_card_codes_verification is provided 1.
pa_req N AN Payer Authentication Request message. Only when skip_card_codes_verification is provided 1.
description N AN
transaction_id Y N 20
{
   "status": "success",  
   "msg": "Transaction initialized",  
   "hash": "dcbcfbf7b355f3f48b5497dd1516a447",  
   "amount": "77.01",  
   "fee_amount": "2.23",  
   "total_amount": "79.24",  
   "currency ": "EUR",
   "token_number": "92-AR",
   "skip_card_codes_verification": 0
}
{
   "status": "success",
   "msg": "Transaction in progress",
   "amount": "77.01",  
   "fee_amount": "2.23",  
   "total_amount": "79.24",  
   "currency ": "EUR",
   "s3d": 0,
   "transaction_id": "1166095",
   "skip_card_codes_verification": 1
}
{
   "status": "success",
   "msg": "S3D confirmation required.",
   "amount": "77.01",  
   "fee_amount": "2.23",  
   "total_amount": "79.24",  
   "currency ": "EUR",
   "s3d": 1,
   "bank_link": "http://bank-url",
   "md": "15633665670206",
   "pa_req": "dGJpbWhybWM1WXA3ZytXK3ZuR3BvTGgycXBxVXNkYmRwNXA2emJqQlluK0pjSzYzZHBoNXNKS0ZxcDYxbkhmU21IV3V6Y2ZXdnM2Um5uSHJtcEtzbDl6TWo5ckN4NU9mcXN5SFpNVEtqcWFaNEwyK3kzOThiY1BXdXRpM29xK3NrYXlJdmNHamdxN2FtSTJvZ2JXOXA2VzlwcmFaanBtVm1MVEVyTFNOb3RhL3lIT0dvN0c3MllsMzBNM1ltNWl1MG1hL25LM0V5cDZZaHArWnNhSmliSXhndTdxUXdxVEFyWWFkaGEvQ2Q5S1JjS0hLcmF5VHZuMmVhT2Via3IyVXlOeDV0N0cycEoyZ29vS1p0TFdCZEkvZ2lyTE1qM1c0eTlYYzJiZkdyblY0NVkzTHdiaUd5ZEtyblcrSnRKaHJqcExBZnBlbGk2eVMxck9kcEoyTnlhNjBmNzJnaUsvR2dIYnV4TmRoc3EyNGVwNmJyY1N6cDVhdmdkeTZuNHlx",
   "skip_card_codes_verification": 1
}
{
   "type": "cc2a",  
   "account_id": "1824416",  
   "currency": "EUR",  
   "order_id": "5904623acb440",  
   "settled_amount": "77.01",  
   "status": "success",  
   "transaction_id": "1166095",
}
External unverified finish

Finish prepared unverified credit card load.

URL
https://api.paytriot.co.uk/api/merchant/v/1.0/function/finish_load_from_unverified_card
Request
Parameter M Type Length Description
hash Y AN
token_number Y AN 10
token_code Y N 6
wait_response N N 1 Possible values: 0 - do not wait for response (webhook will be sent), 1 - wait for response (webhook response data will be returned, in case of timeout webhook will be sent).
key Y AN 16 Merchant API Key – provided by Paytriot.
ts Y N 10 Request timestamp.
sign Y AN 32 See Sign generation.
{
   "hash": "dcbcfbf7b355f3f48b5497dd1516a447",  
   "token_number": "92-AR",  
   "token_code": "123456",  
   "wait_response": "0",
   "key": "_MERCHANT_KEY_",  
   "ts": "_TIMESTAMP_",  
   "sign": "_SIGN_"
}
Response
Parameter M Type Length Description
status Y AN 10 Success/error.
s3d Y A 1 Possible values: 1: yes, 0: no.
md N AN Unique reference for transaction.
pa_req N AN Payer Authentication Request message.
msg Y AN 255 See Message code.
description N AN
transaction_id Y N 20

Whenever credit card load is done and response has S3D set to 1 - S3D verification must be completed and S3D data submit method executed. Example of S3D verification form: S3D submit form.

{
   "status": "success",
   "msg": "Transaction in progress",
   "s3d": 0,
   "transaction_id": "1166095"
}
{
   "status": "success",
   "msg": "S3D confirmation required.",
   "s3d": 1,
   "bank_link": "http://bank-url",
   "md": "15633665670206",
   "pa_req": "dGJpbWhybWM1WXA3ZytXK3ZuR3BvTGgycXBxVXNkYmRwNXA2emJqQlluK0pjSzYzZHBoNXNKS0ZxcDYxbkhmU21IV3V6Y2ZXdnM2Um5uSHJtcEtzbDl6TWo5ckN4NU9mcXN5SFpNVEtqcWFaNEwyK3kzOThiY1BXdXRpM29xK3NrYXlJdmNHamdxN2FtSTJvZ2JXOXA2VzlwcmFaanBtVm1MVEVyTFNOb3RhL3lIT0dvN0c3MllsMzBNM1ltNWl1MG1hL25LM0V5cDZZaHArWnNhSmliSXhndTdxUXdxVEFyWWFkaGEvQ2Q5S1JjS0hLcmF5VHZuMmVhT2Via3IyVXlOeDV0N0cycEoyZ29vS1p0TFdCZEkvZ2lyTE1qM1c0eTlYYzJiZkdyblY0NVkzTHdiaUd5ZEtyblcrSnRKaHJqcExBZnBlbGk2eVMxck9kcEoyTnlhNjBmNzJnaUsvR2dIYnV4TmRoc3EyNGVwNmJyY1N6cDVhdmdkeTZuNHlx"
}
{
   "type": "cc2a",  
   "account_id": "1824416",  
   "currency": "EUR",  
   "order_id": "5904623acb440",  
   "settled_amount": "77.01",  
   "status": "success",  
   "transaction_id": "1166095",
}
IPN Call
Parameter M Type Length Description
status Y AN 10 Success/ fail.
Type Y AN 4
account_id Y N 20
order_id Y AN 13
settled_amount Y N 10,2
currency Y A 3 ISO 4217
transaction_id Y N 20
key Y AN 16 Merchant API Key – provided by Paytriot.
ts Y N 10 Request timestamp.
sign Y AN 32 See Sign generation.
{
   "Type": "cc2a",  
   "account_id": "1824416",  
   "currency": "EUR",  
   "order_id": "5904623acb440",  
   "settled_amount": "77.01",  
   "status": "success",  
   "transaction_id": "1166095",  
   "key": "_MERCHANT_KEY_",  
   "ts": "_TIMESTAMP_",  
   "sign": "_SIGN_"
}
S3D data submit

Confirm credit card load with S3D.

URL
https://api.paytriot.co.uk/api/merchant/v/1.0/function/s3d_data_submit
Request
Parameter M Type Length Description
hash Y AN
md Y AN The unique reference for transaction.
pa_res Y AN Payer Authentication Response message.
wait_response N N 1 Possible values: 0 - do not wait for response (webhook will be sent), 1 - wait for response (webhook response data will be returned, in case of timeout webhook will be sent).
key Y AN 16 Merchant API Key – provided by Paytriot.
ts Y N 10 Request timestamp.
sign Y AN 32 See Sign generation.
{
   "hash": "dcbcfbf7b355f3f48b5497dd1516a447",
   "md": "15633665670206",
   "pa_res": "djl0L2g3Q1owZGlGck1lSXczSytwTHlIdm1XWXRMRFdwNHFCbHJXZWVLR2Ftc2JJaDZtRmVaaVp0NlM1bll6VGxxZXBsckt0cDRkN3NvRHdqNC9Rb05LOGo5ZkI3Y3F0cExhYm44WGNocWlEN2FKOHdHNk11YmUvcVphcjJjQnNmYzZsaDhlMWtwTEcwSW1vaUxTMXBaS1RscitvcUxITG5NVEhzS21ldU15LzIzK0hzSm5SMklXc3g0akRjcjZrdkllK1paaTBzTmFuaW9HV3RaNTRvWnFheHNpSHFZVjVtSm0zcExtZGpOT1dwNm1Xc3EybmgzdXlnUENQajlDZzByeVAxOEh0eXEya3RwdWZ4ZHlHcUlQdG9uekFib3k1dDcrcGxxdlp3R3g5enFXSHg3V1Nrc2JRaWFpSXRMV2xrcE9XdjZpb3NjdWN4TWV3cVo2NHpML2JmNGV3bWRIWWhhekhpTU55dnFTOGg3NWxtTFN3MXFlS2daYTFubmlo",
   "wait_response": "0",
   "key": "_MERCHANT_KEY_",  
   "ts": "_TIMESTAMP_",  
   "sign": "_SIGN_"
}
Response
Parameter M Type Length Description
status Y AN 10 Success/error.
msg Y AN 255 See Message code.
transaction_id Y N 20
{
   "status": "success",
   "msg": "Transaction in progress",
   "transaction_id": "1166095"
}
{
   "type": "cc2a",  
   "account_id": "1824416",  
   "currency": "EUR",  
   "order_id": "5904623acb440",  
   "settled_amount": "77.01",  
   "status": "success",  
   "transaction_id": "1166095",
}

Card

Initiate card to card transfer.

URL
https://api.paytriot.co.uk/api/merchant/v/1.0/function/transfer_c_to_c
Request
Parameter M Type Length Description
sender_card Y N 20
receiver_card Y N 20
amount Y N 10,2
currency Y A 3 ISO 4217
key Y AN 16 Merchant API Key – provided by Paytriot.
ts Y N 10 Request timestamp.
sign Y AN 32 See Sign generation.
{
   "sender_card": "18",  
   "receiver_card": 16,  
   "amount": 1.01,  
   "currency": "USD",  
   "key": "_MERCHANT_KEY_",  
   "ts": "_TIMESTAMP_",  
   "sign": "_SIGN_"
}
Response
Parameter M Type Length Description
status Y AN 10 Success/error.
msg Y AN 255 See Message code.
transaction_id Y A 20
{
   "status": "success",  
   "msg": "Operation completed.",  
   "transaction_id": "328"
}

Crypto to ...

Account

Load money from crypto.

URL
https://api.paytriot.co.uk/api/merchant/v/1.0/function/load_from_crypto
Request
Parameter M Type Length Description
account_id Y N 20
amount Y N 10,2 / 20,8 / 20,9 For currencies like USD or EUR use 10,2, for crypto currencies see Crypto currency.
currency Y A 3 ISO 4217, for crypto currencies see Crypto currency.
crypto_currency Y A 3 See Crypto currency.
key Y AN 16 Merchant API Key – provided by Paytriot.
ts Y N 10 Request timestamp.
sign Y AN 32 See Sign generation.
order_id Y AN 50 Unique identification of request.
{
   "account_id": "1824406",  
   "amount": "100.01",  
   "currency": "EUR",  
   "crypto_currency": "BTC",  
   "key": "_MERCHANT_KEY_",  
   "ts": "_TIMESTAMP_",  
   "sign": "_SIGN_",  
   "order_id": "_ORDER_ID_"
}
Response
Parameter M Type Length Description
status Y AN 10 Success/error.
msg Y AN 255 See Message code.
Description N AN
funds_loads_id Y N 20
crypto_currency Y A 3 See Crypto currency.
crypto_amount Y N 20,8 / 20,9 See Crypto currency.
crypto_address Y AN 35 crypto_address, that you will receive from this method, could be used more than one time.
destinationTag N N 10 Destinaton tag. Returned only for Ripple XRP crypto currency.
{
   "status": "success",  
   "msg": "Transaction in progress",  
   "funds_loads_id": "68044",  
   "crypto_amount": "0.09791538",  
   "crypto_address": "1KmJT4rHiCogXyzqCTEMsXLSBDG46ypTN8"
}
IPN Call
Parameter M Type Length Description
status Y AN 10 Success/fail.
Type Y AN 4
account_id Y N 20
order_id Y AN 13
settled_amount Y N 10,2 / 20,8 / 20,9 For currencies like USD or EUR use 10,2, for crypto currencies see Crypto currency.
currency Y A 3 ISO 4217 For crypto currencies see Crypto currency.
transaction_id Y N 20
crypto_address Y AN 35
key Y AN 16 Merchant API Key – provided by Paytriot.
ts Y N 10 Request timestamp.
sign Y AN 32 See Sign generation.
{
   "Type": "api_btc2a",  
   "account_id": "1824406",  
   "currency": "EUR",  
   "order_id": "5902019b5f9f8",  
   "settled_amount": "100.01",  
   "status": "success",  
   "transaction_id": "1166071",  
   "crypto_address": "2N9U262RUR3cG16wimwfdTxBwmxRHe5BtDv",  
   "key": "_MERCHANT_KEY_",  
   "ts": "_TIMESTAMP_",  
   "sign": "_SIGN_"
}

Account (BTC legacy)

Load money from Bitcoin. Be aware that LoadFromBitcoin is a legacy method, for new integrations please refer to 'LoadFromCrypto` method instead.

URL
https://api.paytriot.co.uk/api/merchant/v/1.0/function/load_from_bitcoin
Request
Parameter M Type Length Description
account_id Y N 20
amount Y N 10,2
currency Y A 3 ISO 4217
key Y AN 16 Merchant API Key – provided by Paytriot.
ts Y N 10 Request timestamp.
sign Y AN 32 See Sign generation.
order_id Y AN 50 Unique identification of request.
{
   "account_id": "1824406",  
   "amount": "100.01",  
   "currency": "EUR",  
   "key": "_MERCHANT_KEY_",  
   "ts": "_TIMESTAMP_",  
   "sign": "_SIGN_",  
   "order_id": "_ORDER_ID_"
}
Response
Parameter M Type Length Description
status Y AN 10 Success/error.
msg Y AN 255 See Message code.
Description N AN
funds_loads_id Y N 20
bitcoin_amount Y N 10,8
bitcoin_address Y AN 35
{
   "status": "success",  
   "msg": "Transaction in progress",  
   "funds_loads_id": "68044",  
   "bitcoin_amount": "0.09791538",  
   "bitcoin_address": "1KmJT4rHiCogXyzqCTEMsXLSBDG46ypTN8"
}
IPN Call
Parameter M Type Length Description
status Y AN 10 Success/fail.
Type Y AN 4
account_id Y N 20
order_id Y AN 13
settled_amount Y N 10,2
currency Y A 3 ISO 4217
transaction_id Y N 20
crypto_address Y AN 35
key Y AN 16 Merchant API Key – provided by Paytriot.
ts Y N 10 Request timestamp.
sign Y AN 32 See Sign generation.
{
   "Type": "api_btc2a",  
   "account_id": "1824406",  
   "currency": "EUR",  
   "order_id": "5902019b5f9f8",  
   "settled_amount": "100.01",  
   "status": "success",  
   "transaction_id": "1166071",  
   "crypto_address": "2N9U262RUR3cG16wimwfdTxBwmxRHe5BtDv",  
   "key": "_MERCHANT_KEY_",  
   "ts": "_TIMESTAMP_",  
   "sign": "_SIGN_"
}

Account (ETH legacy)

Load money from Ethereum. Be aware that LoadFromEtherium is a legacy method, for new integrations please refer to 'LoadFromCrypto` method instead.

URL
https://api.paytriot.co.uk/api/merchant/v/1.0/function/load_from_ethereum
Response
Parameter M Type Length Description
account_id Y N 11
amount Y N 10,2
currency Y A 3 ISO 4217
key Y AN 16 Merchant API Key – provided by Paytriot.
ts Y N 10 Request timestamp.
sign Y AN 32 See Sign generation.
order_id Y AN 50 Unique identification of request.
{
   "account_id": "1824406",  
   "amount": "100.01",  
   "currency": "EUR",  
   "key": "_MERCHANT_KEY_",  
   "ts": "_TIMESTAMP_",  
   "sign": "_SIGN_",  
   "order_id": "_ORDER_ID_"
}
Response
Parameter M Type Length Description
status Y AN 10 Success/error.
msg Y AN 255 See Message code.
Description N AN
funds_loads_id Y N 11
ethereum_amount Y N 10,8
crypto_currency_address Y AN 35
{
   "status": "success",  
   "msg": "Transaction in progress",  
   "funds_loads_id": "68044",  
   "ethereum_amount": "0.09791538",  
   "crypto_currency_address": "1KmJT4rHiCogXyzqCTEMsXLSBDG46ypTN8"
}
IPN Call
Parameter M Type Length Description
status Y AN 10 Success/fail.
Type Y AN 4
account_id Y N 20
order_id Y AN 13
settled_amount Y N 10,2
currency Y A 3 ISO 4217
transaction_id Y N 20
crypto_address Y AN 35
key Y AN 16 Merchant API Key – provided by Paytriot.
ts Y N 10 Request timestamp.
sign Y AN 32 See Sign generation.
{
   "Type": "api_eth2a",  
   "account_id": "1824406",  
   "currency": "EUR",  
   "order_id": "5902019b5f9f8",  
   "settled_amount": "100.01",  
   "status": "success",  
   "transaction_id": "1166071",  
   "crypto_address": "2N9U262RUR3cG16wimwfdTxBwmxRHe5BtDv",  
   "key": "_MERCHANT_KEY_",  
   "ts": "_TIMESTAMP_",  
   "sign": "_SIGN_"
}

Create a new payment request link.

URL
https://api.paytriot.co.uk/api/merchant/v/1.0/function/create_payment_request_link
Parameter M Type Length Description
type Y AN 45 Value must be paypal, polipay, creditcard, bitcoin, ethereum, litecoin, ripple or bitcoincash – other types are not supported.
amount Y N 20
account_id Y N 20
currency Y A 3 ISO 4217
url_user_on_success N A 255 URL where user will returned after successful payment.
url_user_on_fail N A 255 URL where user will returned in case of failed payment.
url_api_on_success N A 255 URL where will be sent IPN (instant payment notification) in case of successfully completed payment.
url_api_on_fail N A 255 URL where will be sent IPN (instant payment notification) in case of failed or canceled payment.
no_expiration N N 1 Possible values*: 1 : yes 0 : no. Default value is 0.
deposit_category N N 1 See External card deposit categories
key Y AN 16 Merchant API Key – provided by Paytriot.
ts Y N 10 Request timestamp.
sign Y AN 32 See Sign generation.

*Note: If the link will not have expiration date - you will be able to reuse it as many times as you wish, but please be aware that once reused, original payer reference won't be available for tracking.

{
   "Type": "paypal",  
   "amount": "10.50",  
   "account_id": "1753298",  
   "currency": "EUR",
   "url_user_on_success": "https://www.myeshopexample.com/success_purchase",
   "url_user_on_fail": "https://www.myeshopexample.com/failed_purchase",  
   "url_api_on_success": "https://www.myeshopexample.com/ipn_success_purchase",  
   "url_api_on_fail": "https://www.myeshopexample.com/ipn_failed_purchase",
   "no_expiration": 0,
   "deposit_category": "1",
   "key": "_MERCHANT_KEY_",  
   "ts": "_TIMESTAMP_",  
   "sign": "_SIGN_"
}
Parameter M Type Length Description
status Y AN 10 Success/error.
msg N AN 255 See Message code.
link Y N 20
payment_request_link_url Y AN 255
{
   "status": "success",  
   "link": "61415477143239919",  
   "payment_request_link_url": "https://wallet.paytriot.co.uk/en/pub/initiate-payment-paypal/r/61415477143239919"
}
Parameter M Type Length Description
status Y AN 10 Success/ fail.
link_id Y N 20
link_status Y N 1 See Payment request link status.
tx_id Y N 20
receiving_account Y N 20
amount Y N 10,2
currency Y A 3 ISO 4217
payer_first_name Y A 60
payer_last_name Y A 60
payer_email Y AN 100
method Y AN 45 E.g. paypal.
key Y AN 16 Merchant API Key – provided by Paytriot.
ts Y N 10 Request timestamp.
sign Y AN 32 See Sign generation.
{
   "status": "success",
   "link_id": "123456789",
   "link_status": "3",
   "tx_id": "123456",
   "receiving_account": "123456",  
   "amount": "2.00",
   "currency": "USD",
   "payer_first_name": "John",
   "payer_last_name": "Doe",
   "payer_email": "john.doe@test.loc",
   "method": "paypal",  
   "key": "_MERCHANT_KEY_",  
   "ts": "_TIMESTAMP_",  
   "sign": "_SIGN_"
}

Returns a list of all given methods payment request links.

URL
https://api.paytriot.co.uk/api/merchant/v/1.0/function/get_payment_request_links
Parameter M Type Length Description
type Y AN 45 Value must be paypal, polipay, creditcard, bitcoin, ethereum, litecoin, ripple or bitcoincash – other types are not supported.
link_id N N 20 This variable corresponds link variable in response.
account_id N N 20
date_created_from N AN 10 ISO 8601
date_created_to N AN 10 ISO 8601
amount_from N N 20
amount_to N N 20
currency N AN 3 ISO 4217
is_disabled N N 11
status N N 11 Possible values: 1: active, 2: used, 3: paid, 4: expired, 5: canceled.
page N N 11 If page is missing, first page is returned.
key Y AN 16 Merchant API Key – provided by Paytriot.
ts Y N 10 Request timestamp.
sign Y AN 32 See Sign generation.
{
    "Type": "paypal",
    "link_id": "",
    "account_id": "",
    "date_created_from": "",
    "date_created_to": "",
    "amount_from": "",
    "amount_to": "",
    "currency": "",
    "is_disabled": "",
    "status": "",
    "page": "",
    "key": "_MERCHANT_KEY_",
    "ts": "_TIMESTAMP_",
    "sign": "_SIGN_"
}
Parameter M Type Length Description
status Y AN 10 Success/error.
msg N AN 255 See Message code.
current_page Y N 20 Number of rows per page is 50.
links Y LIST
id Y N 20
link Y N 20
account_id Y N 20
url Y AN 255
Type Y AN 45
date_created Y AN 10 ISO 8601
date_expire Y AN 10 ISO 8601
currency Y AN 3 ISO 4217
amount Y N 20
status Y N 11 Possible values: 1: active, 2: used, 3: paid, 4: expired, 5: canceled.
{
    "status": "success",  
    "current_page": "1",  
    "links": [{  
        "id": "15492858346048",  
        "link": "61415477143239919",  
        "account_id": "1251451256",  
        "url": "https://wallet.paytriot.co.uk/en/pub/initiate-payment-paypal/r/61415477143239919",  
        "Type": "paypal",  
        "date_created": "2019-01-17",  
        "date_expire": "2019-02-07",  
        "currency": "EUR",  
        "amount": "100.00",  
        "status": "1"
   }]
}

Wire

Load

Receive money payment request.

URL
https://api.paytriot.co.uk/api/merchant/v/1.0/function/receive_money_request
Request
Parameter M Type Length Description
service Y N 1 Possible values: 1: all, 2: international wire, 3: local wire.
receiving_account Y N 20
amount Y A 10,2
currency Y A 3 ISO 4217
custom_order_id N AN 50
item_name N AN 100
item_Description N AN
note N AN
message_to_payer N AN
payer_title N AN 5
payer_first_name Y AN 60
payer_middle_name N AN 60
payer_last_name Y AN 60
payer_email Y AN 100
payer_dob N AN ISO 8601
payer_gender Y A 1 Possible values: F: female, M: male.
payer_mobile Y AN 20 E.164.
payer_address Y AN 50
payer_city Y AN 50
payer_state N AN 50
payer_postal Y AN 50
payer_country Y A 3 ISO 3166-1
payer_id_type N N 20 See User ID Type.
payer_id_number N AN 20
payer_id_expire N AN ISO 8601
payer_id_issued_country N A ISO 3166-1
payer_bank_name N AN 100
payer_full_name_on_bank_account N AN 255
payer_bank_address N AN 100
payer_bank_city N AN 100
payer_bank_iban N AN 40
payer_bank_swift N AN 11
payer_bank_country N A 3 ISO 3166-1
payer_correspondent_bank_name N AN 50
payer_correspondent_bank_swift N AN 50
payer_correspondent_bank_city N AN 100
payer_correspondent_bank_currency_code N AN 3
poa_filename N AN 255
poa_filebody N AN Base64 encoded file content.
poi_filename N AN 255
poi_filebody N AN Base64 encoded file content.
i_filename N AN 255
i_filebody N AN Base64 encoded file content.
ipn_url N AN 255 URL where IPN will be sent*.
key Y AN 16 Merchant API Key – provided by Paytriot.
ts Y N 10 Request timestamp.
sign Y AN 32 See Sign generation.

*Note: If this parameter is empty, URL for IPN will be taken from profile settings. Whenever bank transfer is completed or canceled IPN is sent to the merchant provided URL. Merchant can setup different URL for successfully completed or failed transfer if needed. Of course same URL can be used for both cases. URL setup page can be found under profile tab API. Note that POST will be sent to the provided URL. Example of data sent: Wire transfer.

{
   "service": "1",  
   "receiving_account": "1783142",  
   "amount": "1.23",  
   "currency": "USD",  
   "custom_order_id ": "Order1234",  
   "item_name": "name",  
   "item_Description": "Description",  
   "note": "note",  
   "message_to_payer": "messager",  
   "payer_title": "mr",  
   "payer_first_name": "John",  
   "payer_middle_name": "Ben",  
   "payer_last_name": "Doe",  
   "payer_email": "JohnDoe@test.loc",  
   "payer_dob": "1990-05-31",  
   "payer_gender": "m",  
   "payer_mobile": "+12341234532",  
   "payer_address": "payer_address",  
   "payer_city": "London",  
   "payer_state": "",  
   "payer_postal": "12345",  
   "payer_country": "GBR",  
   "payer_id_type": "4",  
   "payer_id_number": "20164343432",  
   "payer_id_expire": "2016-12-12",  
   "payer_id_issued_country": "GBR",  
   "payer_bank_name": "bank_name",  
   "payer_full_name_on_bank_account": "John Doe",  
   "payer_bank_address": "payer_bank_address",  
   "payer_bank_city": "London",  
   "payer_bank_iban": "2342342",  
   "payer_bank_swift": "2342342",  
   "payer_bank_country": "GBR",  
   "receiver_correspondent_bank_name": "Bank Name",  
   "receiver_correspondent_bank_swift": "2342342",  
   "receiver_correspondent_bank_city": "London",  
   "receiver_correspondent_bank_currency_code": "GBP",  
   "poa_filename": "",
   "poa_filebody": "",
   "poi_filename": "",
   "poi_filebody": "",
   "i_filename": "",
   "i_filebody": "",
   "ipn_url ": "http://www.mysite.com/ipn_catcher",
   "key": "36d8416f2938fb64",  
   "ts": 1478704902,  
   "sign": "26aac768e19294b33c256f8c8e26b947"
}
Response
Parameter M Type Length Description
status Y AN 10 Success/error.
msg Y AN 255
summary Y
account_name Y AN 50 Account name.
bank Y AN 100 Bank name.
branch Y AN 100 Bank address.
sort_code Y AN 100 Sort code.
account_number Y AN 50 Account number.
iban Y AN 100 IBAN
bic Y AN 100 BIC
swift Y AN 100 SWIFT
beneficiary_address Y AN 100 Account address.
currency_id Y N 11
currency_code Y A 3 ISO 4217
reference_number Y AN 20 Reference number by which money load will be recognized.
url Y AN 255 URL where payment request can be confirmed (if in request was not auto confirm) or payment request status can be checked.
payment_request_status** Y N 1 Possible values: 1: created, 2: confirmed, 3: paid, 4: canceled, 5: failed.
{
   "status": "success",
   "msg": "Operation completed",
   "summary":[
      {
         "account_name": "John Doe",
         "bank": "bank name",
         "branch": "branch address",
         "sort_code": "55-44-33",
         "account_number": "1234567890",
         "iban": "GB12345",
         "bic": "TestGB",
         "swift": "TestGB",
         "beneficiary_address": "account address",
         "currency_id": "43",
         "currency_code": "EUR",
         "reference_number": "81815-81815-81815",
         "url": "https://wallet.paytriot.co.uk/en/pub/wiretransferconfirm/reference/81-81-81",
         "payment_request_status": "1"
      }
   ]

}
IPN Call
Parameter M Type Length Description
status Y AN 10 Success/ fail.
Type Y AN 4
status_id Y N 1
account_id Y N 20
reference_number Y AN 100
custom_order_id Y AN 50
amount Y N 10,2
currency Y A 3 ISO 4217
settled_amount Y N 10,2
settled_currency Y A 3 ISO 4217
transaction_id Y N 20
key Y AN 16 Merchant API Key – provided by Paytriot.
ts Y N 10 Request timestamp.
sign Y AN 32 See Sign generation.
{
   "status": "success",  
   "Type": "mu2m",  
   "status_id": "3",  
   "account_id": "1234567",  
   "reference_number": "P000123-000321-001",  
   "custom_order_id": "ABC123",  
   "amount": "100.00",  
   "currency": "EUR",  
   "settled_amount": "100.00",  
   "settled_currency": "EUR",  
   "transaction_id": "1234567",  
   "key": "_MERCHANT_KEY_",  
   "ts": "_TIMESTAMP_",  
   "sign": "_SIGN_"
}

Load (business)

Receive money payment request from business user.

URL
https://api.paytriot.co.uk/api/merchant/v/1.0/function/receive_money_request_business
Request
Parameter M Type Length Description
service Y N 1 Possible values: 1: all, 2: international wire, 3: local wire.
receiving_account Y N 20
amount Y A 10,2
currency Y A 3 ISO 4217
custom_order_id N AN 50
item_name N AN 100
item_Description N AN
note N AN
message_to_payer N AN
payer_company_name Y AN 60
payer_company_registration_number Y AN 60
payer_email Y AN 100
payer_mobile Y AN 20 E.164.
payer_address Y AN 50
payer_city Y AN 50
payer_state N AN 50
payer_postal Y AN 50
payer_country Y A 3 ISO 3166-1
payer_bank_name N AN 100
payer_full_name_on_bank_account N AN 255
payer_bank_address N AN 100
payer_bank_city N AN 100
payer_bank_iban N AN 40
payer_bank_swift N AN 11
payer_bank_country N A 3 ISO 3166-1
payer_correspondent_bank_name N AN 50
payer_correspondent_bank_swift N AN 50
payer_correspondent_bank_city N AN 100
payer_correspondent_bank_currency_code N AN 3
poa_filename N AN 255
poa_filebody N AN Base64 encoded file content.
poi_filename N AN 255
poi_filebody N AN Base64 encoded file content.
i_filename N AN 255
i_filebody N AN Base64 encoded file content.
ipn_url N AN 255 URL where IPN will be sent*.
key Y AN 16 Merchant API Key – provided by Paytriot.
ts Y N 10 Request timestamp.
sign Y AN 32 See Sign generation.

*Note: If this parameter is empty URL for IPN will be taken from profile settings. Whenever bank transfer is completed or canceled IPN is sent to the merchant provided URL. Merchant can setup different URL for successfully completed or failed transfer if needed. Of course same URL can be used for both cases. URL setup page can be found under profile tab API. Note that POST will be sent to the provided URL. Example of data sent: Wire transfer.

{
   "service": "1",  
   "receiving_account": "1783142",  
   "amount": "1.23",  
   "currency": "USD",  
   "custom_order_id ": "Order1234",  
   "item_name": "name",  
   "item_Description": "Description",  
   "note": "note",  
   "message_to_payer": "messager",  
   "payer_business_name": "Company name",  
   "payer_company_registration_number": "Company registration number",  
   "payer_email": "business@gmail.com",  
   "payer_mobile": "+12341234532",  
   "payer_address": "payer_address",  
   "payer_city": "London",  
   "payer_state": "",  
   "payer_postal": "12345",  
   "payer_country": "GBR",  
   "payer_bank_name": "bank_name",  
   "payer_full_name_on_bank_account": "John Doe",  
   "payer_bank_address": "payer_bank_address",  
   "payer_bank_city": "London",  
   "payer_bank_iban": "2342342",  
   "payer_bank_swift": "2342342",  
   "payer_bank_country": "GBR",  
   "receiver_correspondent_bank_name": "Bank Name",  
   "receiver_correspondent_bank_swift": "2342342",  
   "receiver_correspondent_bank_city": "London",  
   "receiver_correspondent_bank_currency_code": "GBP",  
   "poa_filename": "",
   "poa_filebody": "",
   "poi_filename": "",
   "poi_filebody": "",
   "i_filename": "",
   "i_filebody": "",
   "ipn_url ": "http://www.mysite.com/ipn_catcher",
   "key": "36d8416f2938fb64",  
   "ts": 1478704902,  
   "sign": "26aac768e19294b33c256f8c8e26b947"
}
Response
Parameter M Type Length Description
status Y AN 10 Success/error.
msg Y AN 255
summary Y
account_name Y AN 50 Account name.
bank Y AN 100 Bank name.
branch Y AN 100 Bank address.
sort_code Y AN 100 Sort code.
account_number Y AN 50 Account number.
iban Y AN 100 IBAN
bic Y AN 100 BIC
swift Y AN 100 SWIFT
beneficiary_address Y AN 100 Account address.
currency_id Y N 11
currency_code Y A 3 ISO 4217
reference_number Y AN 20 Reference number by which money load will be recognized.
url Y AN 255 URL where payment request can be confirmed (if in request was not auto confirm) or payment request status can be checked.
payment_request_status** Y N 1 Possible values: 1: created, 2: confirmed, 3: paid, 4: canceled, 5: failed.
{
   "status": "success",
   "msg": "Operation completed",
   "summary":[
      {
         "account_name": "John Doe",
         "bank": "Bank name",
         "branch": "Branch address",
         "sort_code": "55-44-33",
         "account_number": "1234567890",
         "iban": "GB12345",
         "bic": "TestGB",
         "swift": "TestGB",
         "beneficiary_address": "Account address",
         "currency_id": "43",
         "currency_code": "EUR",
         "reference_number": "81815-81815-81815",
         "url": "https://wallet.paytriot.co.uk/en/pub/wiretransferconfirm/reference/81-81-81",
         "payment_request_status": "1"
      }
   ]
}
IPN Call
Parameter M Type Length Description
status Y AN 10 Success/ fail.
Type Y AN 4
status_id Y N 1
account_id Y N 20
reference_number Y AN 100
custom_order_id Y AN 50
amount Y N 10,2
currency Y A 3 ISO 4217
settled_amount Y N 10,2
settled_currency Y A 3 ISO 4217
transaction_id Y N 20
key Y AN 16 Merchant API Key – provided by Paytriot.
ts Y N 10 Request timestamp.
sign Y AN 32 See Sign generation.
{
   "status": "success",  
   "Type": "mu2m",  
   "status_id": "3",  
   "account_id": "1234567",  
   "reference_number": "P000123-000321-001",  
   "custom_order_id": "ABC123",  
   "amount": "100.00",  
   "currency": "EUR",  
   "settled_amount": "100.00",  
   "settled_currency": "EUR",  
   "transaction_id": "1234567",  
   "key": "_MERCHANT_KEY_",  
   "ts": "_TIMESTAMP_",  
   "sign": "_SIGN_"
}

Withdraw

Send money payment request.

URL
https://api.paytriot.co.uk/api/merchant/v/1.0/function/bank_transfer
Request
Parameter M Type Length Description
service Y N 1 Possible values: 1: all, 2: international wire, 3: local wire.
sending_account Y N 20
amount Y N 10,2
currency Y A 3 ISO 4217
custom_order_id N AN 50
item_name N AN 100
item_Description N AN
note N AN See below*.
message_to_receiver N AN
receiver_title N AN 5
receiver_first_name Y AN 60
receiver_middle_name N AN 60
receiver_last_name Y AN 60
receiver_email Y AN 100
receiver_dob N AN ISO 8601
receiver_gender N A 1 Possible values: F: female, M: male.
receiver_mobile Y AN 20
receiver_address Y AN 50
receiver_city Y AN 50
receiver_state N AN 50
receiver_postal Y AN 50
receiver_country Y A 3 ISO 3166-1
receiver_id_type N N 2 See User ID Type.
receiver_id_number N AN 20
receiver_id_expire N AN ISO 8601
receiver_id_issued_country N A ISO 3166-1
receiver_bank_name Y AN 100
receiver_full_name_on_bank_account Y AN 255
receiver_bank_address Y AN 100
receiver_bank_city Y AN 100
receiver_bank_iban Y AN 40
receiver_bank_swift Y AN 11
receiver_bank_country Y A 3 ISO 3166-1
receiver_correspondent_bank_name N AN 50
receiver_correspondent_bank_swift N AN 50
receiver_correspondent_bank_city N AN 100
receiver_correspondent_bank_currency_code N AN 3
withdrawal_method_id N N 20 S - standard (1-5 days bank transfer out), E - express (0-2 days bank transfer out).
withdrawal_purpose Y A 3 See Withdrawal purpose.
poa_filename N AN 255
poa_filebody N AN Base64 encoded file content.
poi_filename N AN 255
poi_filebody N AN Base64 encoded file content.
i_filename N AN 255
i_filebody N AN Base64 encoded file content.
key Y AN 16 Merchant API Key – provided by Paytriot.
ts Y N 10 Request timestamp.
sign Y AN 32 See Sign generation.
{
   "service": "1",  
   "sending_account": "1783142",  
   "amount": "1.23",  
   "currency": "USD",
   "custom_order_id": "order123",  
   "item_name": "name",  
   "item_Description": "Description",  
   "note": "note",  
   "message_to_receiver": "messager",  
   "receiver_title": "mr",  
   "receiver_first_name": "John",  
   "receiver_middle_name": "Ben",  
   "receiver_last_name": "Doe",  
   "receiver_email": "JohnDoe@test.loc",  
   "receiver_dob": "1990-05-31",  
   "receiver_gender": "m",  
   "receiver_mobile": "12341234532",  
   "receiver_address": "payer_address",  
   "receiver_city": "London",  
   "receiver_state": "",  
   "receiver_postal": "12345",  
   "receiver_country": "United Kingdom",  
   "receiver_id_type": "4",  
   "receiver_id_number": "20164343432",  
   "receiver_id_expire": "2016-12-12",  
   "receiver_id_issued_country": "GBR",  
   "receiver_bank_name": "bank_name",  
   "receiver_full_name_on_bank_account": "John Doe",  
   "receiver_bank_address": "payer_bank_address",  
   "receiver_bank_city": "London",  
   "receiver_bank_iban": "2342342",  
   "receiver_bank_swift": "2342342",  
   "receiver_bank_country": "GBR",  
   "receiver_correspondent_bank_name": "Bank Name",  
   "receiver_correspondent_bank_swift": "2342342",  
   "receiver_correspondent_bank_city": "London",  
   "receiver_correspondent_bank_currency_code": "GBP",  
   "withdrawal_method_id": "",  
   "withdrawal_purpose": "MWP",
   "poa_filename": "",
   "poa_filebody": "",
   "poi_filename": "",
   "poi_filebody": "",
   "i_filename": "",
   "i_filebody": "",  
   "key": "36d8416f2938fb64",  
   "ts": 1478704902,  
   "sign": "26aac768e19294b33c256f8c8e26b947"
}

*Note: note parameter is mandatory when receiver_bank_country is one of the following: Costa Rica, India, South Africa, UAE (United Arab Emirates), Qatar, Israel. - Costa Rica: - Please add account number in receiver_bank_iban field. Not provided information may cause the payment delay. - Please add Receiver Bank IBAN in note field. Not provided information may cause the payment delay. - India: - Please add IFSC code and purpose in note field. Not provided information may cause the payment delay. - South Africa: - Please add purpose of the payment and clearing code in note field. Not provided information may cause the payment delay. - United Arab Emirates, Qatar, Israel: - Please add purpose of the payment in note field. Not provided information may cause the payment delay.

Response
Parameter M Type Length Description
status Y AN 10 Success/error.
msg Y AN 255
{
   "status": "success",
   "msg": "Operation completed"
}
IPN Call
Parameter M Type Length Description
status Y AN 10 Success/ fail.
Type Y AN 4
status_id Y N 1
account_id Y N 20
reference_number Y AN 100
custom_order_id Y AN 50
amount Y N 10,2
currency Y A 3 ISO 4217
settled_amount Y N 10,2
settled_currency Y A 3 ISO 4217
transaction_id Y N 20
key Y AN 16 Merchant API Key – provided by Paytriot.
ts Y N 10 Request timestamp.
sign Y AN 32 See Sign generation.
{
   "status": "success",  
   "Type": "mm2u",  
   "status_id": "3",  
   "account_id": "1234567",  
   "reference_number": "P000123-000321-001",  
   "custom_order_id": "ABC123",  
   "amount": "100.00",  
   "currency": "EUR",  
   "settled_amount": "100.00",  
   "settled_currency": "EUR",  
   "transaction_id": "1234567",  
   "key": "_MERCHANT_KEY_",  
   "ts": "_TIMESTAMP_",  
   "sign": "_SIGN_"
}

Whenever bank transfer is completed or canceled IPN is sent to the merchant provided URL. Merchant can setup different URL for successfully completed or failed transfer if needed. Of course same URL can be used for both cases. URL setup page can be found under profile tab API. Be aware that POST will be sent to the provided URL. Example of data sent: Wire transfer.

Wire (added bank account)

Load

Load money from external saved bank.

URL
https://api.paytriot.co.uk/api/merchant/v/1.0/function/load_from_bank
Request
Parameter M Type Length Description
account_id Y N 20
bank_account_id Y N 20
amount Y N 10,2
currency Y A 3 ISO 4217
ipn_url N AN 255 URL where IPN will be sent*.
key Y AN 16 Merchant API Key – provided by Paytriot.
ts Y N 10 Request timestamp.
sign Y AN 32 See Sign generation.

*Note: If this parameter is empty URL for IPN will be taken from profile settings.

{
   "account_id": "1824406",  
   "bank_account_id": "9625",  
   "amount": "105.11",  
   "currency": "EUR",  
   "ipn_url": "http://www.mysite.com/ipn_catcher",  
   "key": "_MERCHANT_KEY_",  
   "ts": "_TIMESTAMP_",  
   "sign": "_SIGN_"
}
Response
Parameter M Type Length Description
status Y AN 10 Success/error.
msg Y AN 255 See Message code.
Description N AN
amount Y N 10,2
fee_amount Y N 10,2
total_amount Y N 10,2
currency Y A 3 ISO 4217
reference_number Y AN 100
account_name Y AN 255
bank Y AN 100
branch Y AN 100
account_number Y N 11
iban Y AN 40
swift Y AN 11
{
   "status": "success",  
   "msg": "Transaction in progress",  
   "amount": "105.11",  
   "fee_amount": "0.00",  
   "total_amount": "105.11",  
   "currency": "EUR",  
   "reference_number": "UPC107817236",  
   "account_name": "John Doe",  
   "bank": "Bank name",  
   "branch": "Branch address",  
   "account_number": "78726600337",  
   "iban": "3878720006600337",  
   "swift": "12345"
}
IPN Call
Parameter M Type Length Description
status Y AN 10 Success/fail.
Type Y AN 4
account_id Y N 20
reference_number Y AN 100
amount Y N 10,2
currency Y A 3 ISO 4217
settled_amount Y N 10,2
settled_currency Y A 3 ISO 4217
transaction_id Y N 20
key Y AN 16 Merchant API Key – provided by Paytriot.
ts Y N 10 Request timestamp.
sign Y AN 32 See Sign generation.
{
   "Type": "b2a",  
   "account_id": "1824406",  
   "amount": "105.11",  
   "currency": "EUR",  
   "reference_number": "UPC107817236",  
   "settled_amount": "106.00",  
   "settled_currency": "EUR",  
   "status": "success",  
   "transaction_id": "1166070",  
   "key": "_MERCHANT_KEY_",  
   "ts": "_TIMESTAMP_",  
   "sign": "_SIGN_"
}

Withdraw initialize

Prepare withdraw money to an external saved bank.

URL
https://api.paytriot.co.uk/api/merchant/v/1.0/function/initialize_withdraw_to_bank
Request
Parameter M Type Length Description
account_id Y N 20
bank_account_id Y N 20
amount Y N 10,2
currency Y A 3 ISO 4217
withdrawal_method_id N N 20 S - standard (1-5 days wire transfer), E - express (0-2 days).
withdrawal_purpose Y A 3 See Withdrawal purpose.
key Y AN 16 Merchant API Key – provided by Paytriot.
ts Y N 10 Request timestamp.
sign Y AN 32 See Sign generation.
{
   "account_id": "1824406",  
   "bank_account_id": "9625",  
   "amount": "19.5",  
   "currency": "EUR",  
   "withdrawal_method_id": "",  
   "withdrawal_purpose": "MWP",  
   "key": "_MERCHANT_KEY_",  
   "ts": "_TIMESTAMP_",  
   "sign": "_SIGN_"
}
Response
Parameter M Type Length Description
status Y AN 10 Success/error.
msg Y AN 255 See Message code.
Description N AN
amount Y N 10,2
fee_amount Y N 10,2
total_amount Y N 10,2
currency Y A 3 ISO 4217
reference_number Y AN 100
hash Y AN
token_number Y AN 10
{
   "status": "success",  
   "msg": "Transaction initialized",  
   "amount": "19.50",  
   "fee_amount": "0.00",  
   "total_amount": "19.50",  
   "currency ": "EUR",  
   "reference_number": "UPC203104934",  
   "hash": "ab52ac887bea1be397da742932b4611d",  
   "token_number": "19-EQ"
}

Withdraw finish

Finish prepared withdraw money to external saved bank. Request user to enter his Key Code for given token_number.

URL
https://api.paytriot.co.uk/api/merchant/v/1.0/function/finish_withdraw_to_bank
Request
Parameter M Type Length Description
hash Y AN
reference_number Y AN 100
token_number Y AN 10
token_code Y N 6
key Y AN 16 Merchant API Key – provided by Paytriot.
ts Y N 10 Request timestamp.
sign Y AN 32 See Sign generation.
{
   "hash": "ab52ac887bea1be397da742932b4611d",  
   "reference_number": "UPC203104934",  
   "token_number": "19-EQ",  
   "token_code": "123456",  
   "key": "_MERCHANT_KEY_",  
   "ts": "_TIMESTAMP_",  
   "sign": "_SIGN_"
}
Response
Parameter M Type Length Description
status Y AN 10 Success/error.
msg Y AN 255 See Message code.
Description N AN
transaction_id Y N 20
{
   "status": "success",  
   "msg": "Transaction in progress",  
   "transaction_id": "1166075"
}
IPN Call
Parameter M Type Length Description
status Y AN 10 Success/fail.
Type Y AN 4
account_id Y N 20
reference_number Y AN 100
amount Y N 10,2
currency Y A 3 ISO 4217
settled_amount Y N 10,2
settled_currency Y A 3 ISO 4217
transaction_id Y N 20
key Y AN 16 Merchant API Key – provided by Paytriot.
ts Y N 10 Request timestamp.
sign Y AN 32 See Sign generation.
{
   "Type": "a2b",  
   "account_id": "1824406",  
   "amount": "19.50",  
   "currency": "EUR",  
   "reference_number": "UPC203104934",  
   "settled_amount": "19.50",  
   "settled_currency": "EUR",  
   "status": "success",  
   "transaction_id": "1166075",  
   "key": "_MERCHANT_KEY_",  
   "ts": "_TIMESTAMP_",  
   "sign": "_SIGN_"
}

User

Approve

Approve user in Paytriot.

URL
https://api.paytriot.co.uk/api/merchant/v/1.0/function/approve_user
Request
Parameter M Type Length Description
username Y AN 100
key Y AN 16 Merchant API Key – provided by Paytriot.
ts Y N 10 Request timestamp.
sign Y AN 32 See Sign generation.
{
   "username": "john.doe",  
   "key": "_MERCHANT_KEY_",  
   "ts": "_TIMESTAMP_",  
   "sign": "_SIGN_"
}
Response
Parameter M Type Length Description
status Y AN 10 Success/error.
msg Y AN 255 See Message code.
{
  "status": "success",
  "msg": "User approved"
}

Change address

Update users address.

URL
https://api.paytriot.co.uk/api/merchant/v/1.0/function/update_user_address
Request
Parameter M Type Length Description
username Y AN 100
country_code N A 3 ISO 3166-1
address_line1 N AN 100
address_line2 N AN 100
city N A 45
state N AN 40
postal_code N AN 10
billing_country_code N A 3 ISO 3166-1
billing_address_line1 N AN 100
billing_address_line2 N AN 100
billing_city N A 45
billing_state N AN 40
billing_postal_code N AN 10
key Y AN 16 Merchant API Key – provided by Paytriot.
ts Y N 10 Request timestamp.
sign Y AN 32 See Sign generation.
{
   "username": "john.doe",  
   "country_code": "GBR",  
   "address_line1": "",  
   "address_line2": "",  
   "city": "London",  
   "state": "",  
   "postal_code": "",  
   "billing_country_code": "",  
   "billing_address_line1": "",  
   "billing_address_line2": "",  
   "billing_city": "",  
   "billing_state": "",  
   "billing_postal_code": "",  
   "key": "_MERCHANT_KEY_",  
   "ts": "_TIMESTAMP_",  
   "sign": "_SIGN_"
}
Response
Parameter M Type Length Description
status Y AN 10 Success/error.
msg Y AN 255 See Message code.
{
   "status": "success",  
   "msg": "Address updated"
}

Create

Create user in Paytriot.

URL
https://api.paytriot.co.uk/api/merchant/v/1.0/function/create_user
Request
Parameter M Type Length Description
username Y AN 100
email Y AN 100
password Y AN 100
first_name N A 60
middle_name N A 60
last_name N A 60
gender N A 1 Possible values: F: female, M: male.
bday N AN ISO 8601
country N A 2 ISO 3166-1
address_line_1 N AN 100
address_line_2 N AN 100
city N AN 45
state N AN 40
post_code N AN 10
billing_country N A ISO 3166-1
billing_address_line_1 N AN
billing_address_line_2 N AN
billing_city N A
billing_state N A
billing_post_code N AN
preferred_currency Y A 3 ISO 4217
phone_number N AN 20
phone_type N A 1 L : landline, M : mobile.
government_issued_id_type N N 2 See User ID Type.
government_issued_id_number N AN 20
government_issued_id_expiration_date N AN ISO 8601
government_issued_id_country_of_issuance N ISO 3166-1
key Y AN 16 Merchant API Key – provided by Paytriot.
ts Y N 10 Request timestamp.
sign Y AN 32 See Sign generation.

Be aware that if first_name, last_name, gender, bday, address_line_1, city, country, post_code, phone_type, phone_number, government_issued_id_type, government_issued_id_number, government_issued_id_expiration_date and government_issued_id_country_of_issuance parameters will be provided, then user profile will be completed.

{
   "username": "john.doe",  
   "email": "john.doe@test.com",  
   "password": "password",  
   "first_name": "John",  
   "middle_name": "",  
   "last_name": "Doe",  
   "gender": "M",  
   "bday": "1958-08-08",  
   "country": "GBR",  
   "address_line_1": "",  
   "address_line_2": "",  
   "city": "London",  
   "state": "",  
   "post_code": "",  
   "billing_country": "",  
   "billing_address_line_1": "",  
   "billing_address_line_2": "",  
   "billing_city": "",  
   "billing_state": "",  
   "billing_post_code": "",  
   "preferred_currency": "GBP",  
   "phone_number": "78457845",  
   "phone_type": "M",  
   "government_issued_id_type": "1",  
   "government_issued_id_number": "123456",  
   "government_issued_id_expiration_date": "2022-08-08",  
   "government_issued_id_country_of_issuance": "GBR",  
   "key": "_MERCHANT_KEY_",  
   "ts": "_TIMESTAMP_",  
   "sign": "_SIGN_"  
}
Response
Parameter M Type Length Description
status Y AN 10 Success/error.
users_id Y N 20
msg Y AN 255 See Message code.
{
   "status": "success",  
   "users_id": "220",  
   "msg": "Account Created Successfully"
}

Create merchant

Create merchant in Paytriot.

URL
https://api.paytriot.co.uk/api/merchant/v/1.0/function/create_merchant
Request
Parameter M Type Length Description
username Y AN 20
password Y AN 50 Password must be encrypted by 3DES algorithm.
company_name Y A
email Y AN 100
currency Y A 3 ISO 4217
contact_first_name Y AN 60
contact_last_name Y AN 60
directors N AN Comma separated values.
shareholders N AN Comma separated values.
beneficial_owners N AN Comma separated values.
website Y AN Comma separated values.
phone_type Y A 1 L - for landline, M - for mobile.
phone Y AN 15 Phone number prefixed with +
country Y A 3 ISO 3166-1 Alpha-3 code
address_1 Y AN 100
address_2 N AN 100
city Y AN 45
zip Y AN 40
business_sectors Y AN 100 Numbers separated with | delimiter as a string.
is_private_company N N 1 - if private, 0 - otherwise.
comment N AN 200
vat_number N AN 20
key Y AN 16 Merchant API Key – provided by Paytriot.
ts Y N 10 Request timestamp.
sign Y AN 32 See Sign generation.
{
   "username": "john.doe",
   "password": "xLSNBdXLjYXKyIWv+I3woQ==",
   "company_name": "Example Company Ltd.",
   "email": "john.doe@test.com",
   "currency": "USD",
   "contact_first_name": "John",
   "contact_last_name": "Doe",
   "directors": "Alex Doe",
   "shareholders": "Alex Doe, John Doe",
   "beneficial_owners": "Tracy Doe",
   "website": "https://example.com",
   "phone_type": "M",
   "phone": "+4198488137",
   "country": "AUS",
   "address_1": "14 Main Hwy",
   "address_2": "",
   "city": "Ellerslie",
   "zip": "1051",
   "business_sectors": "1|2|3",
   "is_private_company": "1",
   "comment": "",
   "vat_number": "GB4654128975",
   "key": "_MERCHANT_KEY_",
   "ts": "_TIMESTAMP_",
   "sign": "_SIGN_"
}
Response
Parameter M Type Length Description
status Y AN 10 Success/error.
users_id Y N 20
msg Y AN 255 See Message code.
{
  "status": "success",
  "msg": "Merchant user successfully created",
  "user_id": 15623681459208,
  "account_id": 7626812,
  "account_currency_id": "144",
  "crypto_accounts": {
    "215": 7149758,
    "216": 7149767,
    "217": 7149769,
    "218": 7149774,
    "219": 7149776
  },
  "companies_id": 15623364681156
}

Get

Get all merchants users list.

URL
https://api.paytriot.co.uk/api/merchant/v/1.0/function/get_users
Request
Parameter M Type Length Description
key Y AN 16 Merchant API Key – provided by Paytriot.
ts Y N 10 Request timestamp.
sign Y AN 32 See Sign generation.
date_from N AN 10 ISO 8601
date_to N AN 10 ISO 8601
from_id N N 20 Will return users list with bigger ID than defined (max 100).
{
   "date_from": "2015-06-01",  
   "date_to": "2015-06-15",  
   "from_id": 100,
   "key": "_MERCHANT_KEY_",  
   "ts": "_TIMESTAMP_",  
   "sign": "_SIGN_"  
   
}
Response
Parameter M Type Length Description
status Y AN 10 Success/error.
msg_code Y AN 3 See Message code.
msg Y AN 255 See Message code.
filters N LIST Will return used filters in request.
results_count Y N Total count of filtered users.
users Y LIST List of all merchant users.
id Y N 20
username Y AN 100
first_name N A 60
middle_name N A 60
last_name N A 60
status Y A 1 Possible values: D: deleted, I: inactive, B: blocked, A: approved, C: completed, R: registered.
date_created Y AN 10 ISO 8601
date_completed Y AN 10 ISO 8601, date when user profile is completed, if not there will be null.
{
   "status": "success",  
   "msg": "Success",
   "filters":{  
      "date_from": "2015-06-01",  
      "date_to": "2015-06-15",  
      "from_id": 100  
    },
   "results_count": 1,  
   "users":[    
      {    
         "id": "220",  
         "username": "john.doe",  
         "first_name": "John",  
         "middle_name": "",  
         "last_name": "Doe",
         "status": "R",  
         "date_created": "2015-06-06",  
         "date_completed": "2015-06-16"  
      }  
   ]
}

Update user contact details

Update user contact details.

URL
https://api.paytriot.co.uk/api/merchant/v/1.0/function/update_user_contact_details
Request
Parameter M Type Length Description
username Y AN 20
email N AN 100 Either email or phone is required
phone_type N A 1 L - for landline, M - for mobile. Required when phone is provided
phone N AN 15 Phone number prefixed with +. Either email or phone is required
key Y AN 16 Merchant API Key – provided by Paytriot.
ts Y N 10 Request timestamp.
sign Y AN 32 See Sign generation.
{
   "username": "john.doe",
   "email": "john.doe@test.com",
   "phone_type": "M",
   "phone": "+4198488137",
   "key": "_MERCHANT_KEY_",
   "ts": "_TIMESTAMP_",
   "sign": "_SIGN_"
}
Response
Parameter M Type Length Description
status Y AN 10 Success/error.
code N N 3 See Message code.
msg Y AN 255 See Message code.
description N AN Detailed explanation of error.
{
   "status": "success",  
   "code": "000",  
   "msg": "User contact details successfully updated"  
}

Get account

Get all users accounts by username.

URL
https://api.paytriot.co.uk/api/merchant/v/1.0/function/get_user_accounts
Request
Parameter M Type Length Description
username Y AN 100
key Y AN 16 Merchant API Key – provided by Paytriot.
ts Y N 10 Request timestamp.
sign Y AN 32 See Sign generation.
{
   "username": "john.doe",  
   "key": "_MERCHANT_KEY_",  
   "ts": "_TIMESTAMP_",  
   "sign": "_SIGN_"
}
Response
Parameter M Type Length Description
status Y AN 10 Success/error.
msg Y AN 255 See Message code.
accounts Y LIST
id Y N 20
is_primary Y N 1 Possible values: 1: yes, 0: no.
balance N N 10,2
currency Y A 3 ISO 4217
account_type Y A 10 Possible values: 0: personal, 1: business, 2: inventory, 3: reserve.
status_code Y N 1
status Y A 10
is_valid_for_payment_request_link Y N 1 Possible values: 1: yes, 0: no.
{
   "status": "success",  
   "msg": "Success",  
   "accounts":[    
      {    
         "id": "1753298",  
         "is_primary": "1",  
         "balance": "0.00",  
         "currency": "USD",  
         "account_type": "1",  
         "status_code": "1",  
         "status": "Normal",
         "is_valid_for_payment_request_link": "1"  
      }  
   ]
}

Get address

Get user addresses by username.

URL
https://api.paytriot.co.uk/api/merchant/v/1.0/function/get_user_address
Request
Parameter M Type Length Description
username Y AN 100
key Y AN 16 Merchant API Key – provided by Paytriot.
ts Y N 10 Request timestamp.
sign Y AN 32 See Sign generation.
{
   "username": "john.doe",  
   "key": "_MERCHANT_KEY_",  
   "ts": "_TIMESTAMP_",  
   "sign": "_SIGN_"
}
Response
Parameter M Type Length Description
status Y AN 10 Success/error.
msg Y AN 255 See Message code.
address Y
address_line1 N AN 100
address_line2 N AN 100
city N A 45
state N AN 40
postal_code N AN 10
country_code N A 3 ISO 3166-1
country N A 200
billing_address_line1 N AN 100
billing_address_line2 N AN 100
billing_city N A 45
billing_state N AN 40
billing_postal_code N AN 10
billing_country_code N A 200 ISO 3166-1
billing_country N A 200
{
   "status": "success",  
   "msg": "Success",  
   "address":{    
      "address_line1": "Street name 1",  
      "address_line2": "",  
      "city": "London",  
      "state": "State",  
      "postal_code": "12345",  
      "country_code": "GBR",  
      "country": "United Kingdom",  
      "billing_address_line1": "",  
      "billing_address_line2": "",  
      "billing_city": "",  
      "billing_state": "",  
      "billing_postal_code": "",  
      "billing_country_code": "",  
      "billing_country": ""  
   }
}

Get business categories

Get available business categories

URL
https://api.paytriot.co.uk/api/merchant/v/1.0/function/get_business_categories
Request
Parameter M Type Length Description
key Y AN 16 Merchant API Key – provided by Paytriot.
ts Y N 10 Request timestamp.
sign Y AN 32 See Sign generation.
{
   "key": "_MERCHANT_KEY_",
   "ts": "_TIMESTAMP_",
   "sign": "_SIGN_"
}
Response
Parameter M Type Length Description
categories Y AN JSON object holding available business categories
{
   "categories": {
      "15090202361788": "Adult entertainment",
      "15257886102166": "Advertising",
      "15305202234576": "Affiliate marketing",
      "15088400328253": "Assets Management",
      "15488570840664": "Betting"
   }
}

Get card

Get all users cards.

URL
https://api.paytriot.co.uk/api/merchant/v/1.0/function/get_user_cards
Request
Parameter M Type Length Description
username Y AN 100
key Y AN 16 Merchant API Key – provided by Paytriot.
ts Y N 10 Request timestamp.
sign Y AN 32 See Sign generation.
{
   "username": "john.doe",  
   "key": "_MERCHANT_KEY_",  
   "ts": "_TIMESTAMP_",  
   "sign": "_SIGN_"
}
Response
Parameter M Type Length Description
status Y AN 10 Success/error.
msg Y AN 255 See Message code.
cards Y LIST
id Y LIST
id Y N 20
status Y A 1 Possible values: A: activated, N: not activated, B: blocked, S: suspended, T: admin suspend (temporary blocked), E: expired.
accounts Y LIST
currency Y LIST
account Y N 20
currency Y A 3 ISO 4217
card_balance N N 10,2
{
   "status": "success",
   "msg": "Success",
   "cards":{
      "296":{
         "id": "296",
         "status": "A",
         "accounts":{
            "USD":{
               "account": "1753792",
               "currency": "USD",
               "card_balance": "7368.07"
            },
            "EUR":{
               "account": "1777364",
               "currency": "EUR",
               "card_balance": "1354.07"
            }
         }
      },
      "388":{
         "id": "388",
         "status": "A",
         "accounts":{
            "EUR":{
               "account": "1777364",
               "currency": "EUR",
               "card_balance": "4897.57"
            }
         }
      }
   }
}

Get detail

Get user detail by username.

URL
https://api.paytriot.co.uk/api/merchant/v/1.0/function/get_user_details
Request
Parameter M Type Length Description
username Y AN 100
key Y AN 16 Merchant API Key – provided by Paytriot.
ts Y N 10 Request timestamp.
sign Y AN 32 See Sign generation.
{
   "username": "john.doe",  
   "key": "_MERCHANT_KEY_",  
   "ts": "_TIMESTAMP_",  
   "sign": "_SIGN_"
}
Response
Parameter M Type Length Description
status Y AN 10 Success/error.
msg Y AN 255 See Message code.
user_details Y
id N N 20
username N AN 100
user_permission_group N AN 100
date_register N AN 10 ISO 8601
first_name N AN 60
middle_name N AN 60
last_name N AN 60
date_Of_birth N AN 100
merchant_sponsor N AN 100
gender N A 1
address N AN 100
address_2 N AN 100
city N AN 45
state N AN 40
postal_code N AN 100
country N AN 100
home_phone N AN 100
work_phone N AN 100
cell_phone N AN 100
email N AN 100
billing_address N AN 100
billing_address_2 N AN 100
billing_city N AN 100
billing_state N AN 100
billing_postal_code N AN 100
billing_country N AN 100
{
   "status": "success",  
   "msg": "Success",  
   "user_details":{    
      "id": "1",  
      "username": "username",  
      "user_permission_group": "merchant",  
      "date_register": "2015-04-01",  
      "timezone": "Europe/London",  
      "first_name": "John",  
      "middle_name": "",  
      "last_name": "Doe",  
      "date_of_birth": "1980-01-01",  
      "merchant_sponsor": "",  
      "gender": "M",  
      "address": "",  
      "address_2": "",  
      "city": "",  
      "state": "",  
      "postal_code": "",  
      "country": "United Kingdom",  
      "home_phone": "",  
      "work_phone": "",  
      "cell_phone": "",  
      "email": "john.doe@test.loc",  
      "billing_address": "",  
      "billing_address_2": "",  
      "billing_city": "",  
      "billing_state": "",  
      "billing_postal_code": "",  
      "billing_country": "United Kingdom"  
   }
}

Get email

Get user email by username.

URL
https://api.paytriot.co.uk/api/merchant/v/1.0/function/get_user_email
Request
Parameter M Type Length Description
username Y AN 100
key Y AN 16 Merchant API Key – provided by Paytriot.
ts Y N 10 Request timestamp.
sign Y AN 32 See Sign generation.
{
   "username": "john.doe",  
   "key": "_MERCHANT_KEY_",  
   "ts": "_TIMESTAMP_",  
   "sign": "_SIGN_"
}
Response
Parameter M Type Length Description
status Y AN 10 Success/error.
msg Y AN 255 See Message code.
email Y AN 100
{
   "status": "success",  
   "msg": "Success",  
   "email": "john.doe@test.com"
}

Get transaction limit

Get limits for account transactions.

URL
https://api.paytriot.co.uk/api/merchant/v/1.0/function/get_transaction_limits
Request
Parameter M Type Length Description
account_id Y N 20
key Y AN 16 Merchant API Key – provided by Paytriot.
ts Y N 10 Request timestamp.
sign Y AN 32 See Sign generation.
{
   "account_id": "1824406",  
   "key": "_MERCHANT_KEY_",  
   "ts": "_TIMESTAMP_",  
   "sign": "_SIGN_"
}
Response
Parameter M Type Length Description
status Y AN 10 Success/error.
msg Y AN 255 See Message code.
limits Y LIST
Type_key Y LIST
resource_calc Y LIST
Y LIST
Description Y A 255
value Y AN 255
currency Y A 3 ISO 4217
period Y AN 255
{
   "status": "success",  
   "msg": "Success",  
   "limits":{  
      "AB2C":{  
         "MAX_VALUE":[  
            {  
               "Description": "MAX amount",  
               "value": "1555",  
               "currency": "EUR"  
            }  
         ],  
         "TX_AMOUNT_SUM":[  
            {  
               "Description": "Transactions amounts sum per 1 hours",  
               "value": "200",  
               "currency": "EUR",  
               "period": "1 hour"  
            }  
         ]  
      },  
      "CC2AB":{  
         "TX_COUNT":[  
            {  
               "Description": "Failed transactions count per card per 24 hours",  
               "value": "5",  
               "period": "24 hour"  
            }  
         ]  
      }  
   }
}

KYC

Add

Upload user’s KYC files. Acceptable file Types are .jpg, .png, .pdf, .doc.

URL
https://api.paytriot.co.uk/api/merchant/v/1.0/function/update_user_kyc
Request
Parameter M Type Length Description
username Y AN 100
filename Y AN 50 Must be with file extension.
doctype Y N 2 See KYC document Type.
organizations_name N AN 100 Mandatory in some cases. See KYC document Type.
file_body Y AN 2MB Base64 encoded file content.
notification_url N AN 255 If provided - URL where notifications will be pushed when KYC status will be changed*.
key Y AN 16 Merchant API Key – provided by Paytriot.
ts Y N 10 Request timestamp.
sign Y AN 32 See Sign generation.

*Note: POST will be made to the provided URL address. e.g. http://www.mydomain.com/kyc_notifications. See KYC notification catcher.

{
   "username": "john.doe",  
   "filename": "example_passport.jpg",  
   "doctype": 1,  
   "organization_name": "",  
   "file_body": "_BASE_64_ENCODED_FILE_",
   "notification_url": "http://www.mydomain.com/kyc_notifications",  
   "key": "_MERCHANT_KEY_",  
   "ts": "_TIMESTAMP_",  
   "sign": "_SIGN_"
}
Response
Parameter M Type Length Description
status Y AN 10 Success/error.
msg Y AN 255 See Message code.
id Y N 20 Updated KYC document ID.
{
   "status": "success",  
   "msg": "Kyc updated.",
   "id": "81815"
}

Get status

Get users KYC files status.

URL
https://api.paytriot.co.uk/api/merchant/v/1.0/function/get_user_kyc_status
Request
Parameter M Type Length Description
username Y AN 100
key Y AN 16 Merchant API Key – provided by Paytriot.
ts Y N 10 Request timestamp.
sign Y AN 32 See Sign generation.
{
   "username": "john.doe",  
   "key": "_MERCHANT_KEY_",  
   "ts": "_TIMESTAMP_",  
   "sign": "_SIGN_"
}
Response
Parameter M Type Length Description
status Y AN 10 Success/error.
msg Y AN 255 See Message code.
kyc_statuses Y LIST
id Y N 20
date_provided Y AN 10 ISO 8601
type_id Y N 20 See KYC document Type.
type Y A 20
status_code Y N 1 Possible values: 2: approved, 3: rejected, 4: pending, 6: requested, 8: under review.
status_reason Y AN 500 Reason for status
status Y A 20
{
   "status": "success",  
   "msg": "Success",  
   "kyc_statuses":[    
      {    
         "id": "29",  
         "date_provided": "2015-01-30",  
         "type_id": "1",  
         "type": "Utility Bill",
         "status_code": "2",
         "status": "Requested"  
      }  
   ]
}

Webhooks

Direct debit mandate

Created

URL Method
%YOUR_REGISTERED_MERCHANT_URL%/direct-debit-mandate-created POST

Request

Parameter M Type Length Description
mandate_id Y N 20
mandate_status Y N 20 See Mandate statuses.
mandate_type Y N 20 See Mandate types.
iban_id Y N 20
iban Y AN 34
originator_id Y N 20
originator_name Y AN 255
originator_service_user_number Y N 6 Unique reference, which identifies originator
originator_iban Y AN 34 Originator's bank account address - IBAN number
originator_account_name Y A 40 Originator's bank account address - account name
originator_account_number N N 34 Originator's bank account address - account number
originator_sort_code N AN 6 Originator's bank account address - sort code
reference Y AN 18
request_reference N AN 255 Request reference that has been provided in Mandate creation call.
created_at Y AN 25 ISO 8601
key Y AN 16 Merchant API Key – provided by Paytriot.
ts Y N 10 Request timestamp.
sign Y AN 32 See Sign generation.
{
    "mandate_id": "12345678910",
    "mandate_status":1,
    "mandate_type":2,
    "iban_id": "12345678910",
    "iban": "GB8898887977777777",
    "originator_id": "12345678910",
    "originator_name": "Originator EU",
    "originator_service_user_number": "123456",
    "originator_iban": null,
    "originator_account_name": "Originator EU",
    "originator_account_number": "2222222",
    "originator_sort_code": "BBB222",
    "reference": "GRE547877",
    "request_reference": null,
    "created_at": "2020-01-20T06:18:23+00:00",
    "key": "_MERCHANT_KEY_",
    "ts": "_TIMESTAMP_",
    "sign": "_SIGN_"
}

Response

Parameter M Type Length Description
status Y A 255
{
    "status": "OK"
}

Canceled

URL Method
%YOUR_REGISTERED_MERCHANT_URL%/direct-debit-mandate-canceled POST

Request

Parameter M Type Length Description
mandate_id Y N 20
mandate_status Y N 20 See Mandate statuses.
mandate_type Y N 20 See Mandate types.
iban_id Y N 20
iban Y AN 34
originator_id Y N 20
originator_name Y AN 255
originator_service_user_number Y N 6 Unique reference, which identifies originator
originator_iban Y AN 34 Originator's bank account address - IBAN number
originator_account_name Y A 40 Originator's bank account address - account name
originator_account_number N N 34 Originator's bank account address - account number
originator_sort_code N AN 6 Originator's bank account address - sort code
reference Y AN 18
request_reference N AN 255 Request reference that has been provided in Mandate creation call.
created_at Y AN 25 ISO 8601
key Y AN 16 Merchant API Key – provided by Paytriot.
ts Y N 10 Request timestamp.
sign Y AN 32 See Sign generation.
{
    "mandate_id": "12345678910",
    "mandate_status":1,
    "mandate_type":2,
    "iban_id": "12345678910",
    "iban": "GB8898887977777777",
    "originator_id": "12345678910",
    "originator_name": "Originator EU",
    "originator_service_user_number": "123456",
    "originator_iban": null,
    "originator_account_name": "Originator EU",
    "originator_account_number": "2222222",
    "originator_sort_code": "BBB222",
    "reference": "GRE547877",
    "request_reference": null,
    "created_at": "2020-01-20T06:18:23+00:00",
    "key": "_MERCHANT_KEY_",
    "ts": "_TIMESTAMP_",
    "sign": "_SIGN_"
}

Response

Parameter M Type Length Description
status Y A 255
{
    "status": "OK"
}

Originator changed

URL Method
%YOUR_REGISTERED_MERCHANT_URL%/direct-debit-mandate-originator-changed POST

Request

Parameter M Type Length Description
mandate_id Y N 20
new_originator_id Y N 20
new_originator_name Y AN 255
new_originator_service_user_number Y N 6 Unique reference, which identifies originator
old_originator_id Y N 20
old_originator_name Y AN 255
old_originator_service_user_number Y N 6 Unique reference, which identifies originator
key Y AN 16 Merchant API Key – provided by Paytriot.
ts Y N 10 Request timestamp.
sign Y AN 32 See Sign generation.
{
    "mandate_id": "12345678910",
    "new_originator_id": "12345678910",
    "new_originator_name": "Originator EU",
    "new_originator_service_user_number": "123456",
    "old_originator_id": "342523452345",
    "old_originator_name": "Originator EU",
    "old_originator_service_user_number": "123457",
    "key": "_MERCHANT_KEY_",
    "ts": "_TIMESTAMP_",
    "sign": "_SIGN_"
}

Response

Parameter M Type Length Description
status Y A 255
{
    "status": "OK"
}

Activated

URL Method
%YOUR_REGISTERED_MERCHANT_URL%/direct-debit-mandate-activated POST

Request

Parameter M Type Length Description
mandate_id Y N 20
request_reference N AN 255 Request reference that has been provided in Mandate creation call.
activated_at Y AN 25 ISO 8601
ts Y N 10 Request timestamp.
sign Y AN 32 See Sign generation.
{
    "mandate_id": "12345678910",
    "request_reference": null,
    "activated_at": "2020-01-20T06:18:23+00:00",
    "key": "_MERCHANT_KEY_",
    "ts": "_TIMESTAMP_",
    "sign": "_SIGN_"
}

Response

Parameter M Type Length Description
status Y A 255
{
    "status": "OK"
}

Migrated

URL Method
%YOUR_REGISTERED_MERCHANT_URL%/direct-debit-mandate-migrated POST

Request

Parameter M Type Length Description
mandate_id Y N 20
request_reference N AN 255 Request reference that has been provided in Mandate creation call.
migrated_at Y AN 25 ISO 8601
ts Y N 10 Request timestamp.
sign Y AN 32 See Sign generation.
{
    "mandate_id": "12345678910",
    "request_reference": null,
    "migrated_at": "2020-01-20T06:18:23+00:00",
    "key": "_MERCHANT_KEY_",
    "ts": "_TIMESTAMP_",
    "sign": "_SIGN_"
}

Response

Parameter M Type Length Description
status Y A 255
{
    "status": "OK"
}

Activation failed

URL Method
%YOUR_REGISTERED_MERCHANT_URL%/direct-debit-mandate-activation-failed POST

Request

Parameter M Type Length Description
mandate_id Y N 20
request_reference N AN 255 Request reference that has been provided in Mandate creation call.
failed_at Y AN 25 ISO 8601
ts Y N 10 Request timestamp.
sign Y AN 32 See Sign generation.
{
    "mandate_id": "12345678910",
    "request_reference": null,
    "failed_at": "2020-01-20T06:18:23+00:00",
    "key": "_MERCHANT_KEY_",
    "ts": "_TIMESTAMP_",
    "sign": "_SIGN_"
}

Response

Parameter M Type Length Description
status Y A 255
{
    "status": "OK"
}

Rejection failed

URL Method
%YOUR_REGISTERED_MERCHANT_URL%/direct-debit-mandate-rejection-failed POST

Request

Parameter M Type Length Description
mandate_id Y N 20
request_reference N AN 255 Request reference that has been provided in Mandate creation call.
failed_at Y AN 25 ISO 8601
ts Y N 10 Request timestamp.
sign Y AN 32 See Sign generation.
{
    "mandate_id": "12345678910",
    "request_reference": null,
    "failed_at": "2020-01-20T06:18:23+00:00",
    "key": "_MERCHANT_KEY_",
    "ts": "_TIMESTAMP_",
    "sign": "_SIGN_"
}

Response

Parameter M Type Length Description
status Y A 255
{
    "status": "OK"
}

Cancelation failed

URL Method
%YOUR_REGISTERED_MERCHANT_URL%/direct-debit-mandate-cancelation-failed POST

Request

Parameter M Type Length Description
mandate_id Y N 20
request_reference N AN 255 Request reference that has been provided in Mandate creation call.
failed_at Y AN 25 ISO 8601
ts Y N 10 Request timestamp.
sign Y AN 32 See Sign generation.
{
    "mandate_id": "12345678910",
    "request_reference": null,
    "failed_at": "2020-01-20T06:18:23+00:00",
    "key": "_MERCHANT_KEY_",
    "ts": "_TIMESTAMP_",
    "sign": "_SIGN_"
}

Response

Parameter M Type Length Description
status Y A 255
{
    "status": "OK"
}

IBAN

Create

Completed

URL Method
%YOUR_REGISTERED_MERCHANT_URL%/iban-create-completed POST
Request
Parameter M Type Length Description
iban_request_id Y N 20
iban_request_status Y N 20 See IBAN request status
account_id Y N 20
currency_code Y A 3 ISO 4217
iban_id Y N 20
iban Y AN 34 Bank account address - IBAN number
account_name Y A 40 Bank account address - account name
account_number Y N 34 Bank account address - account number
sort_code Y N 6 Bank account address - sort code.
bic Y AN 12 Bank account address - BIC code.
inbound_enabled Y N 1 Bank account address inbound status
outbound_enabled Y N 1 Bank account address outbound status
iban_bank_provider_id Y N 20 See IBAN bank providers
request_reference N AN 255 Request reference that has been provided in IBAN create call.
key Y AN 16 Merchant API Key – provided by Paytriot.
ts Y N 10 Request timestamp.
sign Y AN 32 See Sign generation.
{
    "iban_request_id": "15718270609474",
    "iban_request_status": "5",
    "account_id": "123456789",
    "currency_code": "GBP",
    "iban_id": 12345678,
    "iban": "GB8888888888888",
    "account_name": "Joe Noe",
    "account_number": "51135555",
    "sort_code": "041111",
    "bic": "SRLWWW2L",
    "inbound_enabled": "1",
    "outbound_enabled": "1",
    "iban_bank_provider_id": "1",
    "request_reference": "123456789",
    "key": "_MERCHANT_KEY_",
    "ts": "_TIMESTAMP_",
    "sign": "_SIGN_"
}
Response
Parameter M Type Length Description
status Y A 255
{
    "status": "OK"
}

Failed

URL Method
%YOUR_REGISTERED_MERCHANT_URL%/iban-create-failed POST
Request
Parameter M Type Length Description
iban_request_id Y N 20
iban_request_status Y N 20 See IBAN request status
account_id Y N 20
currency_code Y A 3 ISO 4217
request_reference N AN 255 Request reference that has been provided in IBAN create call.
key Y AN 16 Merchant API Key – provided by Paytriot.
ts Y N 10 Request timestamp.
sign Y AN 32 See Sign generation.
{
    "iban_request_id": "15718270609474",
    "iban_request_status": "4",
    "account_id": "123456789",
    "currency_code": "GBP",
    "request_reference": "123456789",
    "key": "_MERCHANT_KEY_",
    "ts": "_TIMESTAMP_",
    "sign": "_SIGN_"
}
Response
Parameter M Type Length Description
status Y A 255
{
    "status": "OK"
}

Status change

URL Method
%YOUR_REGISTERED_MERCHANT_URL%/iban-status-change POST

Request

Parameter M Type Length Description
iban_id Y N 20
iban Y AN 34 Bank account address - IBAN number
status_id Y N 20 See IBAN status
key Y AN 16 Merchant API Key – provided by Paytriot.
ts Y N 10 Request timestamp.
sign Y AN 32 See Sign generation.
{
    "iban_id": 12345678,
    "iban": "GB8888888888888",
    "status_id": 1,
    "key": "_MERCHANT_KEY_",
    "ts": "_TIMESTAMP_",
    "sign": "_SIGN_"
}

Response

Parameter M Type Length Description
status Y A 255
{
    "status": "OK"
}

Details changed

URL Method
%YOUR_REGISTERED_MERCHANT_URL%/iban-details-changed POST

Request

Parameter M Type Length Description
iban_id Y N 20
iban Y AN 34 Bank account address - IBAN number
account_name Y AN 40 Updated Bank account address - account name
key Y AN 16 Merchant API Key – provided by Paytriot.
ts Y N 10 Request timestamp.
sign Y AN 32 See Sign generation.
{
    "iban_id": 12345678,
    "iban": "GB8888888888888",
    "account_name": "John Joe",
    "key": "_MERCHANT_KEY_",
    "ts": "_TIMESTAMP_",
    "sign": "_SIGN_"
}

Response

Parameter M Type Length Description
status Y A 255
{
    "status": "OK"
}

KYC

Status change

Request

Parameter M Type Length Description
id Y N 20 KYC file ID
msg Y AN 255
old_status Y N 20
new_status Y N 20
old_status_id Y N 20 See KYC status.
new_status_id Y N 20 See KYC status.
note Y AN 255 Request comment.
key Y AN 16 Merchant API Key – provided by Paytriot.
ts Y N 10 Request timestamp.
sign Y AN 32 See Sign generation.
{
   "id": 123456789,
   "msg": "Status changed from [Pending] to [Approved]",  
   "old_status": "Pending",  
   "new_status": "Approved",  
   "old_status_id": 4,  
   "new_status_id": 2,  
   "note": "Comment",
   "key": "_MERCHANT_KEY_",  
   "ts": "_TIMESTAMP_",  
   "sign": "_SIGN_"
}

Response

Parameter M Type Length Description
status Y A 255
{
    "status": "OK"
}

Purchase

Finish

Request

Parameter M Type Length Description
status_id Y N 20 See Purchase status.
reference_id Y AN 255
order_id Y AN 50
data_amount Y N 10,2
currency Y A 3 ISO 4217
transaction_id Y N 20
first_name Y A 50 Payer's first name
last_name Y A 50 Payer's last name
error_message Y AN 255 If status_id is 8 returns error message.
key Y AN 16 Merchant API Key – provided by Paytriot.
ts Y N 10 Request timestamp.
sign Y AN 32 See Sign generation.
{
   "status_id": 9,  
   "reference_id": "ap-57fcb50111666",  
   "order_id": "my_order_81815",  
   "data_amount": "10.51",
   "currency": "EUR", 
   "transaction_id": 12345678910,
   "first_name": "First",
   "last_name": "Last",
   "error_message": "null",
   "key": "_MERCHANT_KEY_",  
   "ts": "_TIMESTAMP_",  
   "sign": "_SIGN_"
}

Response

Parameter M Type Length Description
status Y A 255
{
    "status": "OK"
}

Transaction instruction

Cancel instruction

Created

URL Method
%YOUR_REGISTERED_MERCHANT_URL%/iban-cancel-instruction-created POST
Request
Parameter M Type Length Description
id Y N 20
transaction_id Y N 20
status Y N 20 See Cancel request status
type Y N 20 See Cancel request type
reason_code Y A 3 See Cancel request decline reason codes
created_at Y AN 25 ISO 8601
will_finish_at Y AN 25 ISO 8601
key Y AN 16 Merchant API Key – provided by Paytriot.
ts Y N 10 Request timestamp.
sign Y AN 32 See Sign generation.
{
    "id": "15718270609474",
    "transaction_id": "15795010862279",
    "status": "2",
    "type": "2",
    "reason_code": "682",
    "created_at": "2020-01-20T06:18:23+00:00",
    "will_finish_at": "2020-01-20T06:18:23+00:00",
    "key": "_MERCHANT_KEY_",
    "ts": "_TIMESTAMP_",
    "sign": "_SIGN_"
}
Response
Parameter M Type Length Description
status Y A 255
{
    "status": "OK"
}

Updated

URL Method
%YOUR_REGISTERED_MERCHANT_URL%/iban-cancel-instruction-updated POST
Request
Parameter M Type Length Description
id Y N 20
transaction_id Y N 20
status Y N 20 See Cancel request status
type Y N 20 See Cancel request type
reason_code Y A 3 See Cancel request decline reason codes
updated_at Y AN 25 ISO 8601
key Y AN 16 Merchant API Key – provided by Paytriot.
ts Y N 10 Request timestamp.
sign Y AN 32 See Sign generation.
{
    "id": "15718270609474",
    "transaction_id": "15795010862279",
    "status": "2",
    "type": "2",
    "reason_code": "682",
    "updated_at": "2020-01-20T06:18:23+00:00",
    "key": "_MERCHANT_KEY_",
    "ts": "_TIMESTAMP_",
    "sign": "_SIGN_"
}
Response
Parameter M Type Length Description
status Y A 255
{
    "status": "OK"
}

Resolution of investigation

Created

URL Method
%YOUR_REGISTERED_MERCHANT_URL%/iban-resolution-of-investigation-instruction-created POST
Request
Parameter M Type Length Description
id Y N 20
cancel_instruction_id Y N 20
transaction_id Y N 20
status Y N 20 See Cancel request status
type Y N 20 See Cancel request type
reason_code Y A 3 See Cancel request decline reason codes
created_at Y AN 25 ISO 8601
key Y AN 16 Merchant API Key – provided by Paytriot.
ts Y N 10 Request timestamp.
sign Y AN 32 See Sign generation.
{
    "id": "15718270609474",
    "cancel_instruction_id": "15795011135021",
    "transaction_id": "15795010862279",
    "status": "2",
    "type": "2",
    "reason_code": "682",
    "created_at": "2020-01-20T06:18:23+00:00",
    "key": "_MERCHANT_KEY_",
    "ts": "_TIMESTAMP_",
    "sign": "_SIGN_"
}
Response
Parameter M Type Length Description
status Y A 255
{
    "status": "OK"
}

Updated

URL Method
%YOUR_REGISTERED_MERCHANT_URL%/iban-resolution-of-investigation-instruction-updated POST
Request
Parameter M Type Length Description
id Y N 20
cancel_instruction_id Y N 20
transaction_id Y N 20
status Y N 20 See Cancel request status
type Y N 20 See Cancel request type
reason_code Y A 3 See Cancel request decline reason codes
created_at Y AN 25 ISO 8601
key Y AN 16 Merchant API Key – provided by Paytriot.
ts Y N 10 Request timestamp.
sign Y AN 32 See Sign generation.
{
    "id": "15718270609474",
    "cancel_instruction_id": "15795011135021",
    "transaction_id": "15795010862279",
    "status": "2",
    "type": "2",
    "reason_code": "682",
    "created_at": "2020-01-20T06:18:23+00:00",
    "key": "_MERCHANT_KEY_",
    "ts": "_TIMESTAMP_",
    "sign": "_SIGN_"
}
Response
Parameter M Type Length Description
status Y A 255
{
    "status": "OK"
}

Transfer

Account to Direct Debit

Due

URL Method
%YOUR_REGISTERED_MERCHANT_URL%/direct-debit-due POST
Request
Parameter M Type Length Description
transaction_id Y N 20
sender_account_id Y N 20
sender_iban_id Y N 20
sender_iban Y AN 34 Sender's bank account address - IBAN number
mandate_id Y N 20
mandate_reference Y AN 18
originator_id Y N 20
originator_name Y AN 255
originator_service_user_number Y N 6 Unique reference, which identifies originator
receiver_iban N AN 34 Receiver's bank account address - IBAN number
receiver_account_name N A 40 Receiver's bank account address - account name
receiver_account_number N N 34 Receiver's bank account address - account number
receiver_sort_code N AN 6 Receiver's bank account address - sort code
receiver_country_iso N N 3 Receiver's bank account address - ISO 3166-1 numeric country code
amount Y N 10,2
currency Y A 3 ISO 4217
transaction_details Y AN 255
transaction_scheme N N 2 See IBAN transfer schemes.
due_at Y AN 255 Date when money will be sent if you don't change 'should_pay' status
should_pay Y N 1 Possible values: 1: yes, 0: no.
created_at Y AN 25 ISO 8601
key Y AN 16 Merchant API Key – provided by Paytriot.
ts Y N 10 Request timestamp.
sign Y AN 32 See Sign generation.
{
   "transaction_id": "12345678910",
   "sender_account_id": "123456789",
   "sender_iban_id": "123456789210",
   "sender_iban": "GB8888888888888888",
   "mandate_id": "123456789210",
   "mandate_reference": "For rent.",
   "originator_id": "123456789",
   "originator_name": "Originator EU",
   "originator_service_user_number": "123456",
   "receiver_iban": "GB77777777777777777",
   "receiverr_account_name": "testName",
   "receiver_account_number": "1111111",
   "receiver_sort_code": "SSS111",
   "receiver_country_iso": "004",
   "amount": "15.00",
   "currency": "GBP",
   "transaction_details": "Direct debit transfer from Account (123456789) for Mandate (123456789210)",
   "transaction_scheme": 4,
   "due_at": "2020-01-21T06:18:23+00:00",
   "should_pay": "1",
   "created_at": "2020-01-20T06:18:23+00:00",
   "key": "_MERCHANT_KEY_",
   "ts": "_TIMESTAMP_",  
   "sign": "_SIGN_"
}
Response
Parameter M Type Length Description
status Y A 255
{
    "status": "OK"
}

Paid

URL Method
%YOUR_REGISTERED_MERCHANT_URL%/direct-debit-paid POST
Request
Parameter M Type Length Description
transaction_id Y N 20
sender_account_id Y N 20
sender_iban_id Y N 20
sender_iban Y AN 34 Sender's bank account address - IBAN number
mandate_id Y N 20
mandate_reference Y AN 18
originator_id Y N 20
originator_name Y AN 255
originator_service_user_number Y N 6 Unique reference, which identifies originator
receiver_iban N AN 34 Receiver's bank account address - IBAN number
receiver_account_name N A 40 Receiver's bank account address - account name
receiver_account_number N N 34 Receiver's bank account address - account number
receiver_sort_code N AN 6 Receiver's bank account address - sort code
receiver_country_iso N N 3 Receiver's bank account address - ISO 3166-1 numeric country code
amount Y N 10,2
currency Y A 3 ISO 4217
transaction_details Y AN 255
transaction_scheme N N 2 See IBAN transfer schemes.
paid_at Y AN 25 ISO 8601
created_at Y AN 25 ISO 8601
key Y AN 16 Merchant API Key – provided by Paytriot.
ts Y N 10 Request timestamp.
sign Y AN 32 See Sign generation.
{
   "transaction_id": "12345678910",
   "sender_account_id": "123456789",
   "sender_iban_id": "123456789210",
   "sender_iban": "GB8888888888888888",
   "mandate_id": "123456789210",
   "mandate_reference": "For rent.",
   "originator_id": "123456789",
   "originator_name": "Originator EU",
   "originator_service_user_number": "123456",
   "receiver_iban": "GB77777777777777777",
   "receiverr_account_name": "testName",
   "receiver_account_number": "1111111",
   "receiver_sort_code": "SSS111",
   "receiver_country_iso": "004",
   "amount": "15.00",
   "currency": "GBP",
   "transaction_details": "Direct debit transfer from Account (123456789) for Mandate (123456789210)",
   "transaction_scheme": 4,
   "paid_at": "2020-01-21T06:18:23+00:00",
   "created_at": "2020-01-20T06:18:23+00:00",
   "key": "_MERCHANT_KEY_",
   "ts": "_TIMESTAMP_",
   "sign": "_SIGN_"
}
Response
Parameter M Type Length Description
status Y A 255
{
    "status": "OK"
}

Rejected

URL Method
%YOUR_REGISTERED_MERCHANT_URL%/direct-debit-rejected POST
Request
Parameter M Type Length Description
transaction_id Y N 20
sender_account_id Y N 20
sender_iban_id Y N 20
sender_iban Y AN 34 Sender's bank account address - IBAN number
mandate_id Y N 20
mandate_reference Y AN 18
originator_id Y N 20
originator_name Y AN 255
originator_service_user_number Y N 6 Unique reference, which identifies originator
receiver_iban N AN 34 Receiver's bank account address - IBAN number
receiver_account_name N A 40 Receiver's bank account address - account name
receiver_account_number N N 34 Receiver's bank account address - account number
receiver_sort_code N AN 6 Receiver's bank account address - sort code
receiver_country_iso N N 3 Receiver's bank account address - ISO 3166-1 numeric country code
amount Y N 10,2
currency Y A 3 ISO 4217
transaction_details Y AN 255
transaction_scheme N N 2 See IBAN transfer schemes.
created_at Y AN 25 ISO 8601
key Y AN 16 Merchant API Key – provided by Paytriot.
ts Y N 10 Request timestamp.
sign Y AN 32 See Sign generation.
{
   "transaction_id": "12345678910",
   "sender_account_id": "123456789",
   "sender_iban_id": "123456789210",
   "sender_iban": "GB8888888888888888",
   "mandate_id": "123456789210",
   "mandate_reference": "For rent.",
   "originator_id": "123456789",
   "originator_name": "Originator EU",
   "originator_service_user_number": "123456",
   "receiver_iban": "GB77777777777777777",
   "receiverr_account_name": "testName",
   "receiver_account_number": "1111111",
   "receiver_sort_code": "SSS111",
   "receiver_country_iso": "004",
   "amount": "15.00",
   "currency": "GBP",
   "transaction_details": "Direct debit transfer from Account (123456789) for Mandate (123456789210)",
   "transaction_scheme": 4,
   "created_at": "2020-01-20T06:18:23+00:00",
   "key": "_MERCHANT_KEY_",
   "ts": "_TIMESTAMP_",
   "sign": "_SIGN_"
}
Response
Parameter M Type Length Description
status Y A 255
{
    "status": "OK"
}

Returned

For webhook information, check Outbound returned. To check if it's for direct debit - please check 'returned_transaction_type' field.

Return rejected

For webhook information, check Outbound return rejected. To check if it's for direct debit - please check 'returned_transaction_type' field.

Paid with return

For webhook information, check Outbound settlement with return. To check if it's for direct debit - please check 'transaction_type' field.

Account to IBAN

Cancel Completed

URL Method
%YOUR_REGISTERED_MERCHANT_URL%/iban-outbound-cancel-completed POST
Request
Parameter M Type Length Description
canceled_transaction_id Y N 20
transaction_id Y N 20
receiver_account_id Y N 20
receiver_iban Y AN 34 Receiver's bank account address - IBAN number.
receiver_account_name Y A 40 Receiver's bank account address - account name.
receiver_account_number N N 34 Receiver's bank account address - account number.
receiver_sort_code N AN 6 Receiver's bank account address - sort code.
sender_iban Y AN 34 Sender's bank account address - IBAN number.
sender_account_name Y A 40 Sender's bank account address - account name.
sender_account_number N N 34 Sender's bank account address - account number.
sender_sort_code N AN 6 Sender's bank account address - sort code.
amount Y N 10,2
currency Y A 3 ISO 4217
notes Y AN 255
created_at Y AN 25 ISO 8601
request_reference N AN 255 Canceled transaction's request reference.
transaction_scheme N N 2 See IBAN transfer schemes.
transaction_type N N 2 See IBAN transfer types.
key Y AN 16 Merchant API Key – provided by Paytriot.
ts Y N 10 Request timestamp.
sign Y AN 32 See Sign generation.
{
   "canceled_transaction_id": "123456789010",
   "transaction_id": "15724243990923",
   "receiver_account_id": "12345678910",
   "receiver_iban": "GB8888888888888888",
   "receiver_account_name": "John Joe",
   "receiver_account_number": "2222222",
   "receiver_sort_code": "BBB222",
   "sender_iban": "GB77777777777777777",
   "sender_account_name": "testName",
   "sender_account_number": "1111111",
   "sender_sort_code": "SSS111",
   "amount": "5.00",
   "currency": "GBP",
   "notes": "Cancel of transfer from Account (12345678910) to IBAN (GB77777777777777777).",
   "created_at": "2019-12-16T13:42:39+00:00",
   "request_reference": "AAA12345789",
   "transaction_type": 11,
   "transaction_scheme": 5,
   "key": "_MERCHANT_KEY_",  
   "ts": "_TIMESTAMP_",  
   "sign": "_SIGN_"
}
Response
Parameter M Type Length Description
status Y A 255
{
    "status": "OK"
}

Cancel Rejected

URL Method
%YOUR_REGISTERED_MERCHANT_URL%/iban-outbound-cancel-rejected POST
Request
Parameter M Type Length Description
canceled_transaction_id Y N 20
request_reference N AN 255 Canceled transaction's request reference
reason_code Y N 20 See Outbound cancel rejection reason codes
reason Y AN 255
key Y AN 16 Merchant API Key – provided by Paytriot.
ts Y N 10 Request timestamp.
sign Y AN 32 See Sign generation.
{
   "canceled_transaction_id": "123456789010",
   "request_reference": "AAA12345789",
   "reason_code": "673",
   "reason": "Wrong amount.",
   "key": "_MERCHANT_KEY_",  
   "ts": "_TIMESTAMP_",  
   "sign": "_SIGN_"
}
Response
Parameter M Type Length Description
status Y A 255
{
    "status": "OK"
}

Reject

URL Method
%YOUR_REGISTERED_MERCHANT_URL%/iban-outbound-rejected POST
Request
Parameter M Type Length Description
transaction_id Y N 20
sender_account_id Y N 20
sender_iban Y AN 34 Sender's bank account address - IBAN number
sender_account_name Y A 40 Sender's bank account address - account name
receiver_iban Y AN 34 Receiver's bank account address - IBAN number
receiver_account_name Y A 40 Receiver's bank account address - account name
receiver_account_number N N 34 Receiver's bank account address - account number
receiver_sort_code N AN 6 Receiver's bank account address - sort code
amount Y N 10,2
currency Y A 3 ISO 4217
transaction_status Y N 20 See IBAN transaction status.
notes Y AN 255
created_at Y AN 25 ISO 8601
request_reference N AN 255 Transaction's request reference
reason_code Y AN 3 See Reason codes.
reason_description Y AN 255 Description of reason. In bank error cases - reason might be different from what you see near reason code.
transaction_scheme N N 2 See IBAN transfer schemes.
transaction_type N N 2 See IBAN transfer types.
key Y AN 16 Merchant API Key – provided by Paytriot.
ts Y N 10 Request timestamp.
sign Y AN 32 See Sign generation.
{
   "transaction_id": "15724243990923",
   "sender_account_id": "12345678910",
   "sender_iban": "GB8888888888888888",
   "sender_account_name": "John Joe",
   "receiver_iban": "GB77777777777777777",
   "receiver_account_name": "testName",
   "receiver_account_number": "2222222",
   "receiver_sort_code": "BBB222",
   "amount": "5.00",
   "currency": "GBP",
   "transaction_status": "6",
   "notes": "Transfer from Account (12345678910) to IBAN (GB77777777777777777)",
   "created_at": "2019-12-16T13:42:39+00:00",
   "request_reference": "AAA12345789",
   "reason_code": 536,
   "reason_description": "IBAN not found",
   "transaction_type": 1,
   "transaction_scheme": 5,
   "key": "_MERCHANT_KEY_",  
   "ts": "_TIMESTAMP_",  
   "sign": "_SIGN_"
}
Response
Parameter M Type Length Description
status Y A 255
{
    "status": "OK"
}

Return

URL Method
%YOUR_REGISTERED_MERCHANT_URL%/iban-outbound-returned POST
Request
Parameter M Type Length Description
transaction_id Y N 20
returned_transaction_id Y N 20
returned_transaction_type N N 2 Returned transaction's type. See IBAN transfer types.
request_reference N AN 255 Returned transaction's request reference.
receiver_account_id Y N 20
receiver_iban Y AN 34 Receiver's bank account address - IBAN number
receiver_account_name Y A 40 Receiver's bank account address - account name
receiver_account_number N N 34 Receiver's bank account address - account number
receiver_sort_code N AN 6 Receiver's bank account address - sort code
sender_iban Y AN 34 Sender's bank account address - IBAN number
sender_account_name Y A 40 Sender's bank account address - account name
sender_account_number N N 34 Sender's bank account address - account number
sender_sort_code N AN 6 Sender's bank account address - sort code
sender_country_iso N N 3 Sender's bank account address - ISO 3166-1 numeric country code
amount Y N 10,2
currency Y A 3 ISO 4217
transaction_status Y N 20 See IBAN transaction status.
notes Y AN 255
reason Y AN 255
reason_code Y AN 3 See IBAN Outbound return message codes.
return_request_reference N AN 255 Initiated request reference with return call.
created_at Y AN 25 ISO 8601
transaction_scheme N N 2 See IBAN transfer schemes.
transaction_type N N 2 See IBAN transfer types.
key Y AN 16 Merchant API Key – provided by Paytriot.
ts Y N 10 Request timestamp.
sign Y AN 32 See Sign generation.
{
   "transaction_id": "15724243990923",
   "returned_transaction_id": "123456789010",
   "returned_transaction_type": 1,
   "request_reference": "AAA12345789",
   "receiver_account_id": "12345678910",
   "receiver_iban": "GB8888888888888888",
   "receiver_account_name": "John Joe",
   "receiver_account_number": "2222222",
   "receiver_sort_code": "BBB222",
   "sender_iban": "GB77777777777777777",
   "sender_account_name": "testName",
   "sender_account_number": "1111111",
   "sender_sort_code": "SSS111",
   "sender_country_iso": "004",
   "amount": "5.00",
   "currency": "GBP",
   "transaction_status": "7",
   "notes": "Return of transfer from Account (12345678910) to IBAN (GB77777777777777777). Reason - Account blocked.",
   "reason": "Account blocked.",
   "reason_code": "651",
   "return_request_reference": "AAABBBCCC111",
   "created_at": "2019-12-16T13:42:39+00:00",
   "transaction_type": 5,
   "transaction_scheme": 5,
   "key": "_MERCHANT_KEY_",  
   "ts": "_TIMESTAMP_",  
   "sign": "_SIGN_"
}
Response
Parameter M Type Length Description
status Y A 255
{
    "status": "OK"
}

Return rejected

URL Method
%YOUR_REGISTERED_MERCHANT_URL%/iban-outbound-return-rejected POST
Request
Parameter M Type Length Description
transaction_id Y N 20
returned_transaction_id Y N 20
returned_transaction_type N N 2 Returned transaction's type. See IBAN transfer types.
request_reference N AN 255 Returned transaction's request reference.
receiver_account_id Y N 20
receiver_iban Y AN 34 Receiver's bank account address - IBAN number.
receiver_account_name Y A 40 Receiver's bank account address - account name.
receiver_account_number N N 34 Receiver's bank account address - account number.
receiver_sort_code N AN 6 Receiver's bank account address - sort code.
sender_iban Y AN 34 Sender's bank account address - IBAN number.
sender_account_name Y A 40 Sender's bank account address - account name.
sender_account_number N N 34 Sender's bank account address - account number.
sender_sort_code N AN 6 Sender's bank account address - sort code.
sender_country_iso N N 3 Sender's bank account address - ISO 3166-1 numeric country code.
amount Y N 10,2
currency Y A 3 ISO 4217
notes Y AN 255
reason Y AN 255
reason_code Y AN 3 See IBAN Outbound return message codes.
return_request_reference N AN 255 Initiated request reference with return call.
created_at Y AN 25 ISO 8601
transaction_status Y N 20 See IBAN transaction status.
transaction_scheme N N 2 See IBAN transfer schemes.
transaction_type N N 2 See IBAN transfer types.
key Y AN 16 Merchant API Key – provided by Paytriot.
ts Y N 10 Request timestamp.
sign Y AN 32 See Sign generation.
{
   "transaction_id": "15724243990923",
   "returned_transaction_id": "123456789010",
   "returned_transaction_type": 1,
   "request_reference": "AAA12345789",
   "receiver_account_id": "12345678910",
   "receiver_iban": "GB8888888888888888",
   "receiver_account_name": "John Joe",
   "receiver_account_number": "2222222",
   "receiver_sort_code": "BBB222",
   "sender_iban": "GB77777777777777777",
   "sender_account_name": "testName",
   "sender_account_number": "1111111",
   "sender_sort_code": "SSS111",
   "sender_country_iso": "004",
   "amount": "5.00",
   "currency": "GBP",
   "notes": "Return of transfer from Account (12345678910) to IBAN (GB77777777777777777). Reason - Account blocked.",
   "reason": "Account blocked.",
   "reason_code": "651",
   "return_request_reference": "AAABBBCCC111",
   "created_at": "2019-12-16T13:42:39+00:00",
   "transaction_status": 6,
   "transaction_type": 5,
   "transaction_scheme": 5,
   "key": "_MERCHANT_KEY_",  
   "ts": "_TIMESTAMP_",  
   "sign": "_SIGN_"
}
Response
Parameter M Type Length Description
status Y A 255
{
    "status": "OK"
}

Settlement

URL Method
%YOUR_REGISTERED_MERCHANT_URL%/iban-outbound-settled POST
Request
Parameter M Type Length Description
transaction_id Y N 20
sender_account_id Y N 20
sender_iban Y AN 34 Sender's bank account address - IBAN number
sender_account_name Y A 40 Sender's bank account address - account name
receiver_iban N AN 34 Receiver's bank account address - IBAN number
receiver_account_name Y A 40 Receiver's bank account address - account name
receiver_account_number N N 34 Receiver's bank account address - account number
receiver_sort_code N AN 6 Receiver's bank account address - sort code
receiver_country_iso N N 3 Receiver's bank account address - ISO 3166-1 numeric country code
amount Y N 10,2
currency Y A 3 ISO 4217
transaction_status Y N 20 See IBAN transaction status.
notes Y AN 255
request_reference N AN 255 Transaction's request reference
transaction_identifier N AN 100 Unique external transaction identifier
end_to_end_identifier N AN 100 Transaction's end to end identifier
created_at Y AN 25 ISO 8601
transaction_scheme N N 2 See IBAN transfer schemes.
transaction_type N N 2 See IBAN transfer types.
key Y AN 16 Merchant API Key – provided by Paytriot.
ts Y N 10 Request timestamp.
sign Y AN 32 See Sign generation.
{
   "transaction_id": "15724243990923",
   "sender_account_id": "12345678910",
   "sender_iban": "GB8888888888888888",
   "sender_account_name": "John Joe",
   "receiver_iban": "GB77777777777777777",
   "receiverr_account_name": "testName",
   "receiver_account_number": "1111111",
   "receiver_sort_code": "SSS111",
   "receiver_country_iso": "004",
   "amount": "5.00",
   "currency": "GBP",
   "transaction_status": "5",
   "notes": "Transfer from Account (12345678910) to IBAN (GB77777777777777777)",
   "request_reference": "AAA12345789",
   "transaction_identifier": "TX123456789",
   "end_to_end_identifier": null,
   "created_at": "2019-12-16T13:42:39+00:00",
   "transaction_type": 1,
   "transaction_scheme": 5,
   "key": "_MERCHANT_KEY_",  
   "ts": "_TIMESTAMP_",  
   "sign": "_SIGN_"
}
Response
Parameter M Type Length Description
status Y A 255
{
    "status": "OK"
}

Settlement with return

This webhook is for cases when a third party initiates the outbound return. Make sure outbound and return transactions exist based on their transaction IDs.

URL Method
%YOUR_REGISTERED_MERCHANT_URL%/iban-outbound-settled-with-return POST
Request
Parameter M Type Length Description
return_transaction_id Y N 20 Unique return transaction id.
return_reason Y N 3 Return reason.
return_reason_code Y N 3 See IBAN Outbound return message codes.
transaction_id Y N 20
sender_account_id Y N 20
sender_iban Y AN 34 Sender's bank account address - IBAN number.
sender_account_name Y A 40 Sender's bank account address - account name.
receiver_iban N AN 34 Receiver's bank account address - IBAN number.
receiver_account_name Y A 40 Receiver's bank account address - account name.
receiver_account_number N N 34 Receiver's bank account address - account number.
receiver_sort_code N AN 6 Receiver's bank account address - sort code.
receiver_country_iso N N 3 Receiver's bank account address - ISO 3166-1 numeric country code.
mandate_id N N 20 Only available with Direct debit transaction type.
mandate_reference N AN 18 Only available with Direct debit transaction type.
originator_id N N 20 Only available with Direct debit transaction type.
originator_name N AN 255 Only available with Direct debit transaction type.
originator_service_user_number N N 6 Unique reference, which identifies originator. Only available with Direct debit transaction type. |
amount Y N 10,2
currency Y A 3 ISO 4217
notes Y AN 255
request_reference N AN 255 Transaction's request reference.
transaction_identifier N AN 100 Unique external transaction identifier.
end_to_end_identifier N AN 100 Transaction's end to end identifier.
created_at Y AN 25 ISO 8601
transaction_status Y N 20 See IBAN transaction status.
transaction_scheme N N 2 See IBAN transfer schemes.
transaction_type N N 2 See IBAN transfer types.
key Y AN 16 Merchant API Key – provided by Paytriot.
ts Y N 10 Request timestamp.
sign Y AN 32 See Sign generation.
{
   "return_transaction_id": "1234567890",
   "return_reason":"Regulatory reason",
   "return_reason_code":"658",
   "transaction_id": "15724243990923",
   "sender_account_id": "12345678910",
   "sender_iban": "GB8888888888888888",
   "sender_account_name": "John Joe",
   "receiver_iban": "GB77777777777777777",
   "receiverr_account_name": "testName",
   "receiver_account_number": "1111111",
   "receiver_sort_code": "SSS111",
   "receiver_country_iso": "004",
   "mandate_id": "123456789210",
   "mandate_reference": "For rent.",
   "originator_id": "123456789",
   "originator_name": "Originator EU",
   "originator_service_user_number": "123456",
   "amount": "5.00",
   "currency": "GBP",
   "notes": "Direct debit transfer from Account (12345678910) for Mandate (name - Originator EU, reference - For rent.)",
   "request_reference": "AAA12345789",
   "transaction_identifier": "TX123456789",
   "end_to_end_identifier": null,
   "created_at": "2019-12-16T13:42:39+00:00",
   "transaction_status": 5,
   "transaction_type": 6,
   "transaction_scheme": 5,
   "key": "_MERCHANT_KEY_",  
   "ts": "_TIMESTAMP_",  
   "sign": "_SIGN_"
}
Response
Parameter M Type Length Description
status Y A 255
{
    "status": "OK"
}

Held

URL Method
%YOUR_REGISTERED_MERCHANT_URL%/iban-outbound-held POST
Request
Parameter M Type Length Description
transaction_id Y N 20
sender_account_id Y N 20
sender_iban Y AN 34 Sender's bank account address - IBAN number
sender_account_name Y A 40 Sender's bank account address - account name
receiver_iban N AN 34 Receiver's bank account address - IBAN number
receiver_account_name Y A 40 Receiver's bank account address - account name
receiver_account_number N N 34 Receiver's bank account address - account number
receiver_sort_code N AN 6 Receiver's bank account address - sort code
receiver_country_iso N N 3 Receiver's bank account address - ISO 3166-1 numeric country code
amount Y N 10,2
currency Y A 3 ISO 4217
transaction_status Y N 20 See IBAN transaction status.
notes Y AN 255
request_reference N AN 255 Transaction's request reference
created_at Y AN 25 ISO 8601
transaction_scheme N N 2 See IBAN transfer schemes.
transaction_type N N 2 See IBAN transfer types.
key Y AN 16 Merchant API Key – provided by Paytriot.
ts Y N 10 Request timestamp.
sign Y AN 32 See Sign generation.
{
   "transaction_id": "15724243990923",
   "sender_account_id": "12345678910",
   "sender_iban": "GB8888888888888888",
   "sender_account_name": "John Joe",
   "receiver_iban": "GB77777777777777777",
   "receiverr_account_name": "testName",
   "receiver_account_number": "1111111",
   "receiver_sort_code": "SSS111",
   "receiver_country_iso": "004",
   "amount": "5.00",
   "currency": "GBP",
   "transaction_status": "10",
   "notes": "Transfer from Account (12345678910) to IBAN (GB77777777777777777)",
   "request_reference": "AAA12345789",
   "created_at": "2019-12-16T13:42:39+00:00",
   "transaction_type": 1,
   "transaction_scheme": 5,
   "key": "_MERCHANT_KEY_",  
   "ts": "_TIMESTAMP_",  
   "sign": "_SIGN_"
}
Response
Parameter M Type Length Description
status Y A 255
{
    "status": "OK"
}

Card to Account

Request

Parameter M Type Length Description
status Y AN 10 Success/ fail.
Type Y AN 4
account_id Y N 20
order_id Y AN 13
settled_amount Y N 10,2
currency Y A 3 ISO 4217
transaction_id Y N 20
key Y AN 16 Merchant API Key – provided by Paytriot.
ts Y N 10 Request timestamp.
sign Y AN 32 See Sign generation.
{
   "Type": "cc2a",  
   "account_id": "123456789",  
   "currency": "EUR",  
   "order_id": "1111123acb440",  
   "settled_amount": "77.01",  
   "status": "success",  
   "transaction_id": "1166095",  
   "key": "_MERCHANT_KEY_",  
   "ts": "_TIMESTAMP_",  
   "sign": "_SIGN_"
}

Response

Parameter M Type Length Description
status Y A 255
{
    "status": "OK"
}

Crypto to Account

Request

Parameter M Type Length Description
status Y AN 10 Success/fail.
Type Y AN 4
account_id Y N 20
order_id Y AN 13
settled_amount Y N 10,2 / 20,8 / 20,9 For currencies like USD or EUR use 10,2, for crypto currencies see Crypto currency.
currency Y A 3 ISO 4217 For crypto currencies see Crypto currency.
transaction_id Y N 20
crypto_address Y AN 35
key Y AN 16 Merchant API Key – provided by Paytriot.
ts Y N 10 Request timestamp.
sign Y AN 32 See Sign generation.
{
   "Type": "api_btc2a",  
   "account_id": "123456789",  
   "currency": "EUR",  
   "order_id": "1111019b5f9f8",  
   "settled_amount": "100.01",  
   "status": "success",  
   "transaction_id": "1166071",  
   "crypto_address": "5SA8895789555555555",  
   "key": "_MERCHANT_KEY_",  
   "ts": "_TIMESTAMP_",  
   "sign": "_SIGN_"
}

Response

Parameter M Type Length Description
status Y A 255
{
    "status": "OK"
}

Direct credit to Account

Receive

URL Method
%YOUR_REGISTERED_MERCHANT_URL%/direct-credit-received POST
Request
Parameter M Type Length Description
transaction_id Y N 20
receiver_account_id Y N 20
receiver_iban Y AN 34 Receiver's bank account address - IBAN number
receiver_account_name Y A 40 Receiver's bank account address - account name
sender_originator_id N N 20
sender_originator_name N AN 255
sender_originator_service_user_number N N 6 Unique reference, which identifies originator
amount Y N 10,2
currency Y A 3 ISO 4217
reference Y AN 35
transaction_details Y AN 255
transaction_scheme N N 2 See IBAN transfer schemes.
transaction_type N N 2 See IBAN transfer types.
transaction_status Y N 20 See IBAN transaction status.
created_at Y AN 25 ISO 8601
key Y AN 16 Merchant API Key – provided by Paytriot.
ts Y N 10 Request timestamp.
sign Y AN 32 See Sign generation.
{
    "transaction_id": "15724243990923",
    "receiver_account_id": "12345678910",
    "receiver_iban": "GB8888888888888888",
    "receiver_account_name": "John Joe",
    "sender_originator_id": "12345678910",
    "sender_originator_name": "Originator EU",
    "sender_originator_service_user_number": "123456",
    "amount": "5.00",
    "currency": "GBP",
    "reference": "GRE547877",
    "transaction_details": "Direct credit transfer from Originator (12345678910) to Account (12345678910). Reference - GRE547877",
    "transaction_type": 7,
    "transaction_scheme": 2,
    "transaction_status": 3,
    "created_at": "2019-12-16T13:42:39+00:00",
    "key": "_MERCHANT_KEY_",
    "ts": "_TIMESTAMP_",
    "sign": "_SIGN_"
}

Settle

URL Method
%YOUR_REGISTERED_MERCHANT_URL%/direct-credit-settled POST
Request
Parameter M Type Length Description
transaction_id Y N 20
receiver_account_id Y N 20
receiver_iban Y AN 34 Receiver's bank account address - IBAN number
receiver_account_name Y A 40 Receiver's bank account address - account name
sender_originator_id N N 20
sender_originator_name N AN 255
sender_originator_service_user_number N N 6 Unique reference, which identifies originator
sender_iban N AN 34 Sender's bank account address - IBAN number
sender_account_name Y A 40 Sender's bank account address - account name
sender_account_number N N 34 Sender's bank account address - account number
sender_sort_code N AN 6 Sender's bank account address - sort code
sender_country_iso N N 3 Sender's bank account address - ISO 3166-1 numeric country code
amount Y N 10,2
currency Y A 3 ISO 4217
reference Y AN 35
transaction_details Y AN 255
transaction_scheme N N 2 See IBAN transfer schemes.
transaction_type N N 2 See IBAN transfer types.
transaction_status Y N 20 See IBAN transaction status.
created_at Y AN 25 ISO 8601
key Y AN 16 Merchant API Key – provided by Paytriot.
ts Y N 10 Request timestamp.
sign Y AN 32 See Sign generation.
{
    "transaction_id": "15724243990923",
    "receiver_account_id": "12345678910",
    "receiver_iban": "GB8888888888888888",
    "receiver_account_name": "John Joe",
    "sender_originator_id": "12345678910",
    "sender_originator_name": "Originator EU",
    "sender_originator_service_user_number": "123456",
    "sender_iban": "GB77777777777777777",
    "sender_account_name": "testName",
    "sender_account_number": "2222222",
    "sender_sort_code": "BBB222",
    "sender_country_iso": "826",
    "amount": "5.00",
    "currency": "GBP",
    "reference": "GRE547877",
    "transaction_details": "Direct credit transfer from Originator (12345678910) to Account (12345678910). Reference - GRE547877",
    "transaction_type": 7,
    "transaction_scheme": 2,
    "transaction_status": 5,
    "created_at": "2019-12-16T13:42:39+00:00",
    "key": "_MERCHANT_KEY_",
    "ts": "_TIMESTAMP_",
    "sign": "_SIGN_"
}
Response
Parameter M Type Length Description
status Y A 255
{
    "status": "OK"
}

IBAN to Account

Return Completed

URL Method
%YOUR_REGISTERED_MERCHANT_URL%/iban-inbound-return-completed POST
Request
Parameter M Type Length Description
transaction_id Y N 20
returned_transaction_id Y N 20
sender_account_id Y N 20
sender_iban Y AN 34 Sender's bank account address - IBAN number
sender_account_name Y A 40 Sender's bank account address - account name
receiver_iban Y AN 34 Receiver's bank account address - IBAN number
receiver_account_name Y A 40 Receiver's bank account address - account name
amount Y N 10,2
currency Y A 3 ISO 4217
notes Y AN 255
created_at Y AN 25 ISO 8601
transaction_scheme N N 2 See IBAN transfer schemes.
transaction_type N N 2 See IBAN transfer types.
key Y AN 16 Merchant API Key – provided by Paytriot.
ts Y N 10 Request timestamp.
sign Y AN 32 See Sign generation.
{
   "transaction_id": "15724243990923",
   "returned_transaction_id": "15724243990922",
   "sender_account_id": "12345678910",
   "sender_iban": "GB8888888888888888",
   "sender_account_name": "John Joe",
   "receiver_iban": "GB77777777777777777",
   "receiver_account_name": "testName",
   "amount": "5.00",
   "currency": "GBP",
   "notes": "Load from IBAN (GB77777777777777777) to Account (12345678910). Reference - new reference.",
   "created_at": "2019-12-16T13:42:39+00:00",
   "transaction_type": 4,
   "transaction_scheme": 5,
   "key": "_MERCHANT_KEY_",
   "ts": "_TIMESTAMP_",  
   "sign": "_SIGN_"
}
Response
Parameter M Type Length Description
status Y A 255
{
    "status": "OK"
}

Return Failed

URL Method
%YOUR_REGISTERED_MERCHANT_URL%/iban-inbound-return-failed POST
Request
Parameter M Type Length Description
transaction_id Y N 20
returned_transaction_id Y N 20
sender_account_id Y N 20
sender_iban Y AN 34 Sender's bank account address - IBAN number
sender_account_name Y A 40 Sender's bank account address - account name
receiver_iban Y AN 34 Receiver's bank account address - IBAN number
receiver_account_name Y A 40 Receiver's bank account address - account name
amount Y N 10,2
currency Y A 3 ISO 4217
notes Y AN 255
created_at Y AN 25 ISO 8601
transaction_scheme N N 2 See IBAN transfer schemes.
transaction_type N N 2 See IBAN transfer types.
key Y AN 16 Merchant API Key – provided by Paytriot.
ts Y N 10 Request timestamp.
sign Y AN 32 See Sign generation.
{
   "transaction_id": "15724243990923",
   "returned_transaction_id": "15724243990922",
   "sender_account_id": "12345678910",
   "sender_iban": "GB8888888888888888",
   "sender_account_name": "John Joe",
   "receiver_iban": "GB77777777777777777",
   "receiver_account_name": "testName",
   "amount": "5.00",
   "currency": "GBP",
   "notes": "Load from IBAN (GB77777777777777777) to Account (12345678910). Reference - new reference.",
   "created_at": "2019-12-16T13:42:39+00:00",
   "transaction_type": 4,
   "transaction_scheme": null,
   "key": "_MERCHANT_KEY_",
   "ts": "_TIMESTAMP_",
   "sign": "_SIGN_"
}
Response
Parameter M Type Length Description
status Y A 255
{
    "status": "OK"
}

Return Rejected

URL Method
%YOUR_REGISTERED_MERCHANT_URL%/iban-inbound-return-rejected POST
Request
Parameter M Type Length Description
transaction_id Y N 20
returned_transaction_id Y N 20
created_at Y AN 25 ISO 8601
transaction_scheme N N 2 See IBAN transfer schemes.
transaction_type N N 2 See IBAN transfer types.
key Y AN 16 Merchant API Key – provided by Paytriot.
ts Y N 10 Request timestamp.
sign Y AN 32 See Sign generation.
{
   "transaction_id": "15724243990923",
   "returned_transaction_id": "15724243990922",
   "created_at": "2019-12-16T13:42:39+00:00",
   "transaction_type": 4,
   "transaction_scheme": 1,
   "key": "_MERCHANT_KEY_",
   "ts": "_TIMESTAMP_",
   "sign": "_SIGN_"
}
Response
Parameter M Type Length Description
status Y A 255
{
    "status": "OK"
}

Return Declined

URL Method
%YOUR_REGISTERED_MERCHANT_URL%/iban-inbound-return-declined POST
Request
Parameter M Type Length Description
transaction_id Y N 20
returned_transaction_id Y N 20
reason_code Y AN 3 See IBAN Inbound return message codes.
transaction_scheme N N 2 See IBAN transfer schemes.
transaction_type N N 2 See IBAN transfer types.
created_at Y AN 25 ISO 8601
key Y AN 16 Merchant API Key – provided by Paytriot.
ts Y N 10 Request timestamp.
sign Y AN 32 See Sign generation.
{
   "transaction_id": "15724243990923",
   "returned_transaction_id": "15724243990922",
   "reason_code": "521",
   "created_at": "2019-12-16T13:42:39+00:00",
   "transaction_type": 4,
   "transaction_scheme": null,
   "key": "_MERCHANT_KEY_",
   "ts": "_TIMESTAMP_",
   "sign": "_SIGN_"
}
Response
Parameter M Type Length Description
status Y A 255
{
    "status": "OK"
}

Reverse

URL Method
%YOUR_REGISTERED_MERCHANT_URL%/iban-inbound-reverse POST
Request
Parameter M Type Length Description
transaction_id Y N 20
reversed_transaction_id Y N 20
sender_account_id Y N 20
sender_iban N AN 34 Sender's bank account address - IBAN number
sender_account_name Y A 40 Sender's bank account address - account name
sender_account_number N N 34 Sender's bank account address - account number
sender_sort_code N AN 6 Sender's bank account address - sort code
receiver_iban N AN 34 Receiver's bank account address - IBAN number
receiver_account_name Y A 40 Receiver's bank account address - account name
receiver_account_number N N 34 Receiver's bank account address - account number
receiver_sort_code N AN 6 Receiver's bank account address - sort code
receiver_country_iso N N 3 Receiver's bank account address - ISO 3166-1 numeric country code
amount Y N 10,2
currency Y A 3 ISO 4217
transaction_status Y N 20 See IBAN transaction status.
notes Y AN 255
created_at Y AN 25 ISO 8601
reason_description Y AN 255
transaction_scheme N N 2 See IBAN transfer schemes.
transaction_type N N 2 See IBAN transfer types.
key Y AN 16 Merchant API Key – provided by Paytriot.
ts Y N 10 Request timestamp.
sign Y AN 32 See Sign generation.
{
   "transaction_id": "15724243990923",
   "reversed_transaction_id": "12345678910",
   "sender_account_id": "12345678910",
   "sender_iban": "GB8888888888888888",
   "sender_account_name": "John Joe",
   "sender_account_number": "1111111",
   "sender_sort_code": "SSS111",
   "receiver_iban": "GB77777777777777777",
   "receiver_account_name": "testName",
   "receiver_account_number": "2222222",
   "receiver_sort_code": "BBB222",
   "receiver_country_iso": "004",
   "amount": "5.00",
   "currency": "GBP",
   "transaction_status": "8",
   "notes": "Reverse of transfer from IBAN (GB77777777777777777) to Account (12345678910). Reason - Request Timed out.",
   "created_at": "2019-12-16T13:42:39+00:00",
   "reason_description": "IBAN is unavailable.",
   "transaction_type": 1,
   "transaction_scheme": null,
   "key": "_MERCHANT_KEY_",  
   "ts": "_TIMESTAMP_",  
   "sign": "_SIGN_"
}
Response
Parameter M Type Length Description
status Y A 255
{
    "status": "OK"
}

Settlement

URL Method
%YOUR_REGISTERED_MERCHANT_URL%/iban-inbound-settled POST
Request
Parameter M Type Length Description
transaction_id Y N 20 Unique transaction id
receiver_account_id Y N 20
receiver_iban N AN 34 Receiver's bank account address - IBAN number
receiver_account_name Y A 40 Receiver's bank account address - account name
receiver_account_number N N 34 Receiver's bank account address - account number
receiver_sort_code N AN 6 Receiver's bank account address - sort code
receiver_address N AN 255 Receiver's address
sender_iban N AN 34 Sender's bank account address - IBAN number
sender_account_name Y A 40 Sender's bank account address - account name
sender_account_number N N 34 Sender's bank account address - account number
sender_sort_code N AN 6 Sender's bank account address - sort code
sender_country_iso N N 3 Sender's bank account address - ISO 3166-1 numeric country code
sender_address N AN 255 Senders's address
amount Y N 10,2
currency Y A 3 ISO 4217
transaction_status Y N 20 See IBAN transaction status.
notes Y AN 255
additional_notes N AN 255 Additional sender's note
purpose_code N AN 4 ISO 20022 external code.
purpose_description N AN 255
reference N AN 35 Reference of transaction
created_at Y AN 25 ISO 8601
transaction_scheme N N 2 See IBAN transfer schemes.
transaction_type N N 2 See IBAN transfer types.
key Y AN 16 Merchant API Key – provided by Paytriot.
ts Y N 10 Request timestamp.
sign Y AN 32 See Sign generation.
{
   "transaction_id": "15724243990923",
   "receiver_account_id": "12345678910",
   "receiver_iban": "GB8888888888888888",
   "receiver_account_name": "John Joe",
   "receiver_account_number": "1111111",
   "receiver_sort_code": "SSS111",
   "receiver_address": "Street name 1",
   "sender_iban": "GB77777777777777777",
   "sender_account_name": "testName",
   "sender_account_number": "2222222",
   "sender_sort_code": "BBB222",
   "sender_country_iso": "004",
   "sender_address": "Street name 1",
   "amount": "5.00",
   "currency": "GBP",
   "transaction_status": "5",
   "notes": "Load from IBAN (GB77777777777777777) to Account (12345678910). Reference - new reference.",
   "additional_note":"Sender's note.",
   "purpose_code": "PTXP",
   "purpose_description": "Property Tax",
   "reference": "ABC123456",
   "created_at": "2019-12-16T13:42:39+00:00",
   "transaction_type": 1,
   "transaction_scheme": 1,
   "key": "_MERCHANT_KEY_",  
   "ts": "_TIMESTAMP_",  
   "sign": "_SIGN_"
}
Response
Parameter M Type Length Description
status Y A 255
{
    "status": "OK"
}

Settlement with return

This webhook is for cases when a third party initiates the inbound return. Make sure to check inbound and return transactions existing by their transaction IDs.

URL Method
%YOUR_REGISTERED_MERCHANT_URL%/iban-inbound-settled-with-return POST
Request
Parameter M Type Length Description
return_transaction_id Y N 20 Unique return transaction id
return_reason Y N 3 Return reason.
return_reason_code Y N 3 See IBAN Inbound return message codes
transaction_id Y N 20 Unique transaction id
receiver_account_id Y N 20 Settled transaction's info.
receiver_iban Y AN 34 Settled transaction's info. Receiver's bank account address - IBAN number
receiver_account_name Y A 40 Settled transaction's info. Receiver's bank account address - account name
receiver_account_number N N 34 Settled transaction's info. Receiver's bank account address - account number
receiver_sort_code N AN 6 Settled transaction's info. Receiver's bank account address - sort code
receiver_address N AN 255 Settled transaction's info. Receiver's address
sender_iban N AN 34 Settled transaction's info. Sender's bank account address - IBAN number
sender_account_name Y A 40 Settled transaction's info. Sender's bank account address - account name
sender_account_number N N 34 Settled transaction's info. Sender's bank account address - account number
sender_sort_code N AN 6 Settled transaction's info. Sender's bank account address - sort code
sender_country_iso N N 3 Settled transaction's info. Sender's bank account address - ISO 3166-1 numeric country code
sender_address N AN 255 Settled transaction's info. Senders's address
amount Y N 10,2
currency Y A 3 ISO 4217
transaction_status Y N 20 See IBAN transaction status.
notes Y AN 255
additional_notes N AN 255 Additional sender's note
purpose_code N AN 4 ISO 20022 external code.
purpose_description N AN 255
reference N AN 35 Settled transaction's info. Reference of transaction
created_at Y AN 25 ISO 8601
transaction_scheme N N 2 See IBAN transfer schemes.
transaction_type N N 2 See IBAN transfer types.
key Y AN 16 Merchant API Key – provided by Paytriot.
ts Y N 10 Request timestamp.
sign Y AN 32 See Sign generation.
{
   "return_transaction_id": "1234567890",
   "return_reason":"Regulatory reason",
   "return_reason_code":"663",
   "transaction_id": "15724243990923",
   "receiver_account_id": "12345678910",
   "receiver_iban": "GB8888888888888888",
   "receiver_account_name": "John Joe",
   "receiver_account_number": "1111111",
   "receiver_sort_code": "SSS111",
   "receiver_address": "Street name 1",
   "sender_iban": "GB77777777777777777",
   "sender_account_name": "testName",
   "sender_account_number": "2222222",
   "sender_sort_code": "BBB222",
   "sender_country_iso": "004",
   "sender_address": "Street name 1",
   "amount": "5.00",
   "currency": "GBP",
   "transaction_status": "5",
   "notes": "Load from IBAN (GB77777777777777777) to Account (12345678910). Reference - new reference.",
   "additional_note":"Sender's note.",
   "purpose_code": "PTXP",
   "purpose_description": "Property Tax",
   "reference": "ABC123456",
   "created_at": "2019-12-16T13:42:39+00:00",
   "transaction_type": 1,
   "transaction_scheme": 1,
   "key": "_MERCHANT_KEY_",  
   "ts": "_TIMESTAMP_",  
   "sign": "_SIGN_"
}
Response
Parameter M Type Length Description
status Y A 255
{
    "status": "OK"
}

Held

URL Method
%YOUR_REGISTERED_MERCHANT_URL%/iban-inbound-held POST
Request
Parameter M Type Length Description
transaction_id Y N 20
receiver_account_id Y N 20
receiver_iban N AN 34 Receiver's bank account address - IBAN number
receiver_account_name Y A 40 Receiver's bank account address - account name
receiver_account_number N N 34 Receiver's bank account address - account number
receiver_sort_code N AN 6 Receiver's bank account address - sort code
receiver_address N AN 255 Receiver's address
sender_iban N AN 34 Sender's bank account address - IBAN number
sender_account_name Y A 40 Sender's bank account address - account name
sender_account_number N N 34 Sender's bank account address - account number
sender_sort_code N AN 6 Sender's bank account address - sort code
sender_country_iso N N 3 Sender's bank account address - ISO 3166-1 numeric country code
sender_address N AN 255 Senders's address
amount Y N 10,2
currency Y A 3 ISO 4217
transaction_status Y N 20 See IBAN transaction status.
notes Y AN 255
additional_notes N AN 255 Additional sender's note
purpose_code N AN 4 ISO 20022 external code.
purpose_description N AN 255
reference N AN 35 Reference of transaction
created_at Y AN 25 ISO 8601
transaction_scheme N N 2 See IBAN transfer schemes.
transaction_type N N 2 See IBAN transfer types.
key Y AN 16 Merchant API Key – provided by Paytriot.
ts Y N 10 Request timestamp.
sign Y AN 32 See Sign generation.
{
   "transaction_id": "15724243990923",
   "receiver_account_id": "12345678910",
   "receiver_iban": "GB8888888888888888",
   "receiver_account_name": "John Joe",
   "receiver_account_number": "1111111",
   "receiver_sort_code": "SSS111",
   "receiver_address": "Street name 1",
   "sender_iban": "GB77777777777777777",
   "sender_account_name": "testName",
   "sender_account_number": "2222222",
   "sender_sort_code": "BBB222",
   "sender_country_iso": "004",
   "sender_address": "Street name 1",
   "amount": "5.00",
   "currency": "GBP",
   "transaction_status": "10",
   "notes": "Load from IBAN (GB77777777777777777) to Account (12345678910). Reference - new reference.",
   "additional_note":"Sender's note.",
   "purpose_code": "PTXP",
   "purpose_description": "Property Tax",
   "reference": "ABC123456",
   "created_at": "2019-12-16T13:42:39+00:00",
   "transaction_type": 1,
   "transaction_scheme": 5,
   "key": "_MERCHANT_KEY_",  
   "ts": "_TIMESTAMP_",  
   "sign": "_SIGN_"
}
Response
Parameter M Type Length Description
status Y A 255
{
    "status": "OK"
}

Held Rejected

URL Method
%YOUR_REGISTERED_MERCHANT_URL%/iban-inbound-held-rejected POST
Request
Parameter M Type Length Description
transaction_id Y N 20
receiver_account_id Y N 20
receiver_iban N AN 34 Receiver's bank account address - IBAN number
receiver_account_name Y A 40 Receiver's bank account address - account name
receiver_account_number N N 34 Receiver's bank account address - account number
receiver_sort_code N AN 6 Receiver's bank account address - sort code
receiver_address N AN 255 Receiver's address
sender_iban N AN 34 Sender's bank account address - IBAN number
sender_account_name Y A 40 Sender's bank account address - account name
sender_account_number N N 34 Sender's bank account address - account number
sender_sort_code N AN 6 Sender's bank account address - sort code
sender_country_iso N N 3 Sender's bank account address - ISO 3166-1 numeric country code
sender_address N AN 255 Senders's address
amount Y N 10,2
currency Y A 3 ISO 4217
transaction_status Y N 20 See IBAN transaction status.
notes Y AN 255
additional_notes N AN 255 Additional sender's note
purpose_code N AN 4 ISO 20022 external code.
purpose_description N AN 255
reference N AN 35 Reference of transaction
created_at Y AN 25 ISO 8601
transaction_scheme N N 2 See IBAN transfer schemes.
transaction_type N N 2 See IBAN transfer types.
key Y AN 16 Merchant API Key – provided by Paytriot.
ts Y N 10 Request timestamp.
sign Y AN 32 See Sign generation.
{
   "transaction_id": "15724243990923",
   "receiver_account_id": "12345678910",
   "receiver_iban": "GB8888888888888888",
   "receiver_account_name": "John Joe",
   "receiver_account_number": "1111111",
   "receiver_sort_code": "SSS111",
   "receiver_address": "Street name 1",
   "sender_iban": "GB77777777777777777",
   "sender_account_name": "testName",
   "sender_account_number": "2222222",
   "sender_sort_code": "BBB222",
   "sender_country_iso": "004",
   "sender_address": "Street name 1",
   "amount": "5.00",
   "currency": "GBP",
   "transaction_status": "6",
   "notes": "Load from IBAN (GB77777777777777777) to Account (12345678910). Reference - new reference.",
   "additional_note":"Sender's note.",
   "purpose_code": "PTXP",
   "purpose_description": "Property Tax",
   "reference": "ABC123456",
   "created_at": "2019-12-16T13:42:39+00:00",
   "transaction_type": 1,
   "transaction_scheme": 5,
   "key": "_MERCHANT_KEY_",  
   "ts": "_TIMESTAMP_",  
   "sign": "_SIGN_"
}
Response
Parameter M Type Length Description
status Y A 255
{
    "status": "OK"
}
Parameter M Type Length Description
status Y AN 10 Success/ fail.
link_id Y N 20
link_status Y N 1
tx_id Y N 20
receiving_account Y N 20
amount Y N 10,2
currency Y A 3 ISO 4217
payer_first_name Y A 60
payer_last_name Y A 60
payer_email Y AN 100
method Y AN 45 E.g. paypal.
key Y AN 16 Merchant API Key – provided by Paytriot.
ts Y N 10 Request timestamp.
sign Y AN 32 See Sign generation.
{
   "status": "success",
   "link_id": "123456789",
   "link_status": "3",
   "tx_id": "123456",
   "receiving_account": "123456",  
   "amount": "2.00",
   "currency": "USD",
   "payer_first_name": "John",
   "payer_last_name": "Doe",
   "payer_email": "john.doe@test.loc",
   "method": "paypal",  
   "key": "_MERCHANT_KEY_",  
   "ts": "_TIMESTAMP_",  
   "sign": "_SIGN_"
}
Parameter M Type Length Description
status Y A 255
{
    "status": "OK"
}

Wire

Load

Receive money payment request.

Request
Parameter M Type Length Description
status Y AN 10 Success/ fail.
Type Y AN 4
status_id Y N 1
account_id Y N 20
reference_number Y AN 100
custom_order_id Y AN 50
amount Y N 10,2
currency Y A 3 ISO 4217
settled_amount Y N 10,2
settled_currency Y A 3 ISO 4217
transaction_id Y N 20
key Y AN 16 Merchant API Key – provided by Paytriot.
ts Y N 10 Request timestamp.
sign Y AN 32 See Sign generation.
{
   "status": "success",  
   "Type": "mu2m",  
   "status_id": "3",  
   "account_id": "1234567",  
   "reference_number": "P000123-000321-001",  
   "custom_order_id": "ABC123",  
   "amount": "100.00",  
   "currency": "EUR",  
   "settled_amount": "100.00",  
   "settled_currency": "EUR",  
   "transaction_id": "1234567",  
   "key": "_MERCHANT_KEY_",  
   "ts": "_TIMESTAMP_",  
   "sign": "_SIGN_"
}
Response
Parameter M Type Length Description
status Y A 255
{
    "status": "OK"
}

Whenever bank transfer is completed or canceled IPN is sent to the merchant provided URL. Merchant can setup different URL for successfully completed or failed transfer if needed. Of course same URL can be used for both cases. URL setup page can be found under profile tab API. Note that POST will be sent to the provided URL. Example of data sent: Wire transfer.

Withdraw

Send money payment request.

Request
Parameter M Type Length Description
status Y AN 10 Success/ fail.
Type Y AN 4
status_id Y N 1
account_id Y N 20
reference_number Y AN 100
custom_order_id Y AN 50
amount Y N 10,2
currency Y A 3 ISO 4217
settled_amount Y N 10,2
settled_currency Y A 3 ISO 4217
transaction_id Y N 20
key Y AN 16 Merchant API Key – provided by Paytriot.
ts Y N 10 Request timestamp.
sign Y AN 32 See Sign generation.
{
   "status": "success",  
   "Type": "mm2u",  
   "status_id": "3",  
   "account_id": "1234567",  
   "reference_number": "P000123-000321-001",  
   "custom_order_id": "ABC123",  
   "amount": "100.00",  
   "currency": "EUR",  
   "settled_amount": "100.00",  
   "settled_currency": "EUR",  
   "transaction_id": "1234567",  
   "key": "_MERCHANT_KEY_",  
   "ts": "_TIMESTAMP_",  
   "sign": "_SIGN_"
}
Response
Parameter M Type Length Description
status Y A 255
{
    "status": "OK"
}

Whenever bank transfer is completed or canceled IPN is sent to the merchant provided URL. Merchant can setup different URL for successfully completed or failed transfer if needed. Of course same URL can be used for both cases. URL setup page can be found under profile tab API. Note that POST will be sent to the provided URL. Example of data sent: Wire transfer.

Wire (added bank account)

Load

Request
Parameter M Type Length Description
status Y AN 10 Success/fail.
Type Y AN 4
account_id Y N 20
reference_number Y AN 100
amount Y N 10,2
currency Y A 3 ISO 4217
settled_amount Y N 10,2
settled_currency Y A 3 ISO 4217
transaction_id Y N 20
key Y AN 16 Merchant API Key – provided by Paytriot.
ts Y N 10 Request timestamp.
sign Y AN 32 See Sign generation.
{
   "Type": "b2a",  
   "account_id": "123456789",  
   "amount": "105.11",  
   "currency": "EUR",  
   "reference_number": "XXX107817236",  
   "settled_amount": "106.00",  
   "settled_currency": "EUR",  
   "status": "success",  
   "transaction_id": "1166070",  
   "key": "_MERCHANT_KEY_",  
   "ts": "_TIMESTAMP_",  
   "sign": "_SIGN_"
}
Response
Parameter M Type Length Description
status Y A 255
{
    "status": "OK"
}

Withdraw finish

Request
Parameter M Type Length Description
status Y AN 10 Success/fail.
Type Y AN 4
account_id Y N 20
reference_number Y AN 100
amount Y N 10,2
currency Y A 3 ISO 4217
settled_amount Y N 10,2
settled_currency Y A 3 ISO 4217
transaction_id Y N 20
key Y AN 16 Merchant API Key – provided by Paytriot.
ts Y N 10 Request timestamp.
sign Y AN 32 See Sign generation.
{
   "Type": "a2b",  
   "account_id": "123456789",  
   "amount": "19.50",  
   "currency": "EUR",  
   "reference_number": "XXX203104934",  
   "settled_amount": "19.50",  
   "settled_currency": "EUR",  
   "status": "success",  
   "transaction_id": "1166075",  
   "key": "_MERCHANT_KEY_",  
   "ts": "_TIMESTAMP_",  
   "sign": "_SIGN_"
}
Response
Parameter M Type Length Description
status Y A 255
{
    "status": "OK"
}

Appendix

Changelog

Version Date Updates
1.1.25 November 17, 2020 New 'client_tag' field has been added. See Account to IBAN transfer.
1.1.24 September 22, 2020 Direct debit return's integration updates:
- Added new Direct debit return call.
- Added new IBAN direct debit return message codes enum section.
- Added new Account to Direct debit related webhooks: Returned, Return rejected, Paid with return.
- Added new Account to IBAN return related webhooks: Return rejected, Settlement with return.
- Added 'returned_transaction_type' and 'return_request_reference' fields in Account to IBAN Return rejected webhook.
- Updated IBAN outbound return messages by adding ClearBank related codes.
1.1.23 Septemper 08, 2020 Direct debit integration updates:
- Added new mandates related webhooks: Activated, Migrated, Activation failed, Rejection failed, Cancelation failed.
- Added new Direct debit mandate enum section with statuses, types, cancelation and rejection reasons.
- Updated Mandate cancel call with new 'reason_code' field and added new Mandate reject call.
- Updated Mandate created and Mandate canceled webhooks by adding additional fields about originator and mandate details.
- Updated Account To Direct Debit Due, Paid, Rejected webhooks by adding new fields about receiver, transaction scheme and creation time. New 'paid_at' field has been added on Paid webhook.
- New 'destination_mandate' list field has been added in Account activity action's response.
1.1.22 August 18, 2020 New 'sender_country_iso' field has been added. See Direct credit settled.
1.1.21 July 27, 2020 New IBAN to Account settlement with return webhook has been added.
IBAN Inbound return messages for ClearBank has been updated.
'Settle' title has been renamed to 'Settlement' in webhooks: Account to IBAN settlement, IBAN to Account settlement.
1.1.20 July 21, 2020 Added a new withdraw to crypto functionality. See transfer account to crypto
'post_code' and 'billing_post_code' fields have been changed to 'postal_code' and 'billing_postal_code' in Change Account address action's response.
'corresponding_bank_swift', 'corresponding_bank_name', 'corresponding_bank_city', 'corresponding_bank_currency_code' fields have been added in Add bank account action's request.
'address1', 'address2', 'post code', 'billing_address1', 'billing_address2', 'billing_post_code' fields have been changed to 'address_line1', 'address_line2', 'postal_code', 'billing_address_line1', 'billing_address_line2', 'billing_postal_code' in Change User address action's response.
'address1', 'address2' 'billing_address1', 'billing_address2' fields changed to 'address_line_1', 'address_line_2', 'billing_address_line_1' 'billing_address_line_2' in Create User action's request.
'comment' field added to Create Merchant action's request.
'date_from', 'date_to', 'from_id' fields position was changed in Get Merchant Users action's request.
1.1.19 July 15, 2020 New Direct credit to Account received webhook has been added.
'sender_iban', 'sender_account_name', 'sender_account_number', 'sender_sort_code', 'transaction_status', 'created_at' fields have been added to Direct credit to Account settled webhook.
1.1.18 July 09, 2020 'request_reference' field has been added to IBAN create action, IBAN business create action, IBAN create completed webhook, IBAN create failed webhook.
1.1.17 June 02, 2020 New IBAN transfer type enum has been added.
'transaction_type' and 'transaction_scheme' fields have been added to 13 webhooks: Account to IBAN cancel completed, Account to IBAN rejected, Account to IBAN returned, Account to IBAN settled, Account to IBAN held, Direct credit to Account settled, IBAN to Account return completed, IBAN to Account return failed, IBAN to Account return declined, IBAN to Account reversed, IBAN to Account settled, IBAN to Account held, IBAN to Account held rejected.
New 'vat_number' field added. See Create Merchant.
1.1.16 May 26, 2020 Added Payment request link status.
1.1.15 May 20, 2020 Parameter 'expiration_date' input value changed. See transfer_c_to_a.
1.1.14 May 18, 2020 New Get industries action has been added.
'industry_id' field has been added to Account to IBAN action.
'account_holder_risk_score' field has been added to IBAN create action.
'bank_account_holder_postal_code', 'bank_account_holder_city', 'bank_account_holder_state', 'bank_account_holder_country_iso_code', 'date_of_company_incorporation', 'industry_id', 'account_holder_risk_score' fields have been added to Business IBAN create action.
'bank_account_holder_postal_code', 'bank_account_holder_city', 'bank_account_holder_state', 'bank_account_holder_country_iso_code' fields have been added to Business IBAN update action.
1.1.13 May 12, 2020 'reference' field has been added to 3 webhooks: IBAN to Account Settled, IBAN to Account Held, IBAN to Account Held Rejected.
New 'response' fields has been added to Get user account action ("is_primary" and "account_type").
Parameters "directors", "shareholders", "beneficial_owners" of action create_merchant have become not mandatory.
1.1.12 May 11, 2020 New IBAN transfer scheme enum has been added.
'parent_tx_id', 'transaction_type' and 'additional_info' fields have been added in Account activity action's response.
'parent_tx_id', 'transaction_type' fields have been added in Card activity action's response.
1.1.11 May 05, 2020 'receiver_type' field has been added to Account to IBAN action.
New '689 - Method not supported.' message code has been added in Message codes.
New 'OTH - Other.' withdrawal purpose code added in Withdrawal purposes.
'created_at' field has been added to 6 webhooks: Account to IBAN Settled, Account to IBAN Returned, Account to IBAN Held, Account to IBAN Rejected, IBAN to Account Reversed, IBAN to Account Return Failed.
1.1.10 April 28, 2020 'request_reference' field has been added to Account to IBAN Held webhook.
'canceled_transaction_request_reference' field has been renamed to 'request_reference' in webhooks: Account to IBAN cancel completed, Account to IBAN cancel rejected.
'returned_transaction_request_reference' field has been renamed to 'request_reference' in Account to IBAN return webhook.
1.1.9 April 27, 2020 'reason_code' and 'reason_description' fields have been added to Account to IBAN rejected webhook.
'reason_description' field has been added to IBAN to Account reversed webhook.
1.1.8 April 22, 2020 New IBAN actions have been added: Update, Update business
New webhook has been added IBAN details changed.
1.1.7 April 21, 2020 Parameter "is_private_company" of action create_merchant has become not mandatory.
1.1.6 April 16, 2020 Added a new webhook. See IBAN Inbound return declined.
1.1.5 April 14, 2020 Added new parameter "error_message" to purchase finish webhook.
1.1.4 April 09, 2020 Return/Cancel instruction reasons depends on used provider. See IBAN bank providers.
1.1.3 April 08, 2020 New 'reference' field has been added to Account to IBAN action.
3 New transfer webhooks have been added: Account to IBAN Held, IBAN to Account Held, IBAN to Account Held Rejected.
1.1.2 April 07, 2020 Parameter "receiver_gender" of action "bank_transfer" has become not mandatory.
transfer_a_to_iban action's field "message_for_receiver" limit has been modified from 35 to 140.
1.1.1 March 24, 2020 A new type of parameter "C", which stands for "Conditional", has been added to actions create_iban and create_business_iban.
1.1.0 March 24, 2020 Initial version.

Enum

Account status

Status ID Description
1 Normal
2 Blocked
3 Receive only
4 Spend only
5 Pending
6 Banned
7 Closed
8 Suspended
9 Closed by customer request
10 Closed by A: Fraudulent
11 Closed by A: Banned activity
12 Closed by A: No KYC
13 Closed by A: Other
14 Closed by CR: No KYC
15 Closed by CR: Other
16 Closed by CR: 2 profiles
17 Suspended by admin
18 Closed by A: Fake KYC
19 Closed by customer

Crypto currency

Name Key Length
Bitcoin BTC 20,8
Ethereum ETH 20,9
Litecoin LTC 20,8
Ripple XRP 20,6
Bitcoin Cash BCH 20,8

Invalid request error code

Type ID Description
1001 API version parameter v is not provided.
1002 Wrong API version provided.
1003 Function name parameter function is not provided.
1004 Wrong method name provided.
1005 No data received.
1006 Required field is not provided or is empty.
1007 System error.

KYC document Type

Type ID Description Mandatory to provide company name
4 Passport N
5 Drivers License Front N
6 State/Province ID Front N
7 Utility Bill Y
8 Bank Statement N
9 Credit/Debit Card Front N
10 ACH Voided Check N
11 Check21 N
12 Marriage Certificate N
13 Power of Attorney N
14 Subpoena N
15 Marriage Dissolution N
16 Notarized Statement N
17 Document of Legal Name Change N
18 Police Report N
19 Disputes N
20 Wire Transfers N
21 Limit Increase N
22 Email Change N
23 ACH Demand Draft N
24 Application Form N
26 Contract N
28 Incorporation of Company N
30 Memorandum and Articles Y
32 Shareholder Documentation N
34 Proof of Company Address N
36 Other N
38 Company registration documents N
40 Paytriot Statement N
42 Credit/Debit Card Back N
44 Business Proposal N
46 Business Agreement N
48 Agent Agreement N
50 Driver’s License Back (if applicable) N
52 Passport-Additional Pages (if applicable) N
54 State/Province ID Back (if applicable) N
56 Government-issued ID N
58 Personal Identification Card N
60 Residence Permit N
62 Screenshot N

KYC status

Status ID Description
2 Approved
3 Rejected
4 Pending
6 Requested
8 Under review
9 Expired

Message code

Code Description
000 Successfully completed.
100 Load limit exceeded (value of transactions).
101 Load limit exceeded (number of transactions).
102 Transfer limit exceeded (maximum transaction amount allowed).
103 Transfer limit exceeded (value of transactions).
104 Transfer limit exceeded (number of transactions).
105 Withdrawal limit exceeded (value of transactions).
106 Withdrawal limit exceeded (number of transactions).
107 Withdrawal limit exceeded (maximum transaction amount allowed).
108 Card throughput limit exceeded (must provide KYC documents).
110 Transfer restricted.
111 Load restricted.
112 Recipient cannot accept transfers.
113 Account balance exceeded.
114 Operation is not allowed.
115 Wrong receiving account provided.
116 Wrong sending account provided.
117 Sending and receiving accounts cannot be the same.
200 Insufficient funds.
300 Card is inactive.
400 Could not find currency rate.
500 Invalid signature.
501 Error creating session.
502 Operation is not allowed.
503 Missing field.
504 Field format error.
505 Invalid receiver account.
506 User not found.
507 Invalid currency code.
508 Invalid sender account.
509 Define sender account.
510 Duplicate order_id.
511 Initialized transaction not found.
512 Wrong Key Code provided.
513 Transfer request already confirmed.
514 Transaction not found.
515 Transaction cannot be refunded.
516 Cannot refund this amount.
517 Your transaction request was sent to our Bank for processing.
520 Invalid username provided.
521 Invalid account provided.
522 Invalid data provided.
523 Invalid external card id provided.
524 Wrong verification amount.
525 Verification attempts limit reached.
526 Verification failed.
527 Invalid card status.
528 S3D cards not supported.
529 Configuration error.
536 Bank error.
540 This action is temporarily disabled. Please contact Customer Support for further assistance.
543 This method with no expiration is not available..
544 You are not allowed to make links with no expiration. Please contact Customer Support for further assistance.
600 Limitation reached.
650 Account closed.
651 Account blocked.
652 Account holder deceased.
653 Not specified reason by customer.
654 Not specified reason by agent.
655 Transaction is forbidden.
656 Invalid bank operation code.
657 Duplication.
658 Missing creditor address.
659 Following cancelation request.
660 Missing debtor account or identification.
661 Missing debtor name or address.
662 Missing creditor name or address.
663 Regulatory reason.
664 Account transferred.
665 Reference required not supplied.
666 Account name mismatch.
667 Terms and conditions of account do not permit crediting of these funds.
668 Sending institution action required.
669 Payment return reason is not specified.
670 Other reasons.
671 Do not honor (refused).
672 Wrong IBAN.
673 Wrong amount.
674 Fraudulent original credit transfer.
675 Technical problems.
676 Following cancelation request.
677 Requested by customer.
678 Already returned transaction.
679 Legal decision.
680 No answer from customer.
681 No original transaction received.
682 Duplicate payment.
683 ERI option not supported.
684 Fraudulent payment suspected.
685 Incorrect transaction information.
686 Provider issue.
687 Time out.
688 Account can not be identified.
689 Method not supported.
810 Destination tag is required.
999 Unknown error.
- User approved.
- User already approved.

Purchase status

Type ID Description
1 Created
2 Logged in
4 Processing
7 Canceled
8 Failed
9 Successful

User ID Type

Type ID Description
1 Passport Registry No.
2 Personal Identification No.
3 Identity Card No.
4 Utility Bill.
8 Travel Document.
12 Residence Permit.
13 Identity Certificate No.
16 Registro Federal de Contribuyentes.
17 Credencial de Elector.
19 Social Security Number (US only).
20 Tax File Number (Australia only).

Withdrawal purpose

Code Description
MWI Mobile wallet cash in.
MWO Mobile wallet cash out.
MWP Mobile wallet payments.
SVI Stored value card cash-in.
SVO Stored value card cash-out
SVP Stored value card payments.
FSA Equity other than investment fund shares in the related companies abroad.
ACM Agency Commission.
AFA Receipts or payments from personal residents bank account or deposits abroad.
ALW Allowances.
ATS Air transport.
CCP Corporate Card Payment.
CEA Equity for the establishment of new company from residents abroad equity of merger or acquisition of companies abroad from residents and participation to capital increase of related company abroad.
CEL Equity for the establishment of new company in the UAE from residents equity of merger or acquisition of companies in the UAE from n-residents participation to capital increase of related companies.
CHC Charitable Contributions.
COM Commission.
COP Compensation.
CRP Credit Card Payments.
DCP Pre-Paid Reloadable and Personalized Debit Card Payments.
DIV Dividend Payouts.
DOE Dividends on equity not intra group.
EDU Educational Support.
EMI Equated Monthly Instalments.
EOS End of Service.
FAM Family Support.
FIS Financial services.
FSL Equity other than investment fund shares in related companies in the UAE.
GDS Goods Bought or Sold.
GMS Processing repair and maintenance services on goods.
GOS Government goods and services embassies etc.
GRI Government related income taxes tariffs capital transfers etc.
IFS Information services.
IGD Intra group dividends.
IGT INTER GROUP TRANSFER.
INS Insurance services.
IPC Charges for the use of intellectual property royalties.
ITS Computer services.
LAS Leave Salary.
MCR Monetary Claim Reimbursements Medical Insurance or Auto Insurance etc.
OAT OWN ACCOUNT TRANSFER.
OTS Other modes of transport.
OVT Overtime.
PEN Pension.
PMS Professional and management consulting services.
POS POS Merchant Settlement.
PRS Personal cultural audio visual and recreational services.
RDS Research and development services.
RNT Rent Payments.
SAL Salary.
SCO Construction.
STR Travel.
STS Sea transport.
SAA Salary Advance.
TCS Telecommunication services.
TKT Tickets.
TOF Transfer of funds between persons Normal and Juridical.
UTL Utility Bill Payments.
OTH Other.

External card deposit categories

Code Description
1 Gambling
2 Non gambling
3 Forex

IBAN

Status

Status ID Description
1 Send and receive funds
2 Receive funds only
3 Spend funds only
4 Suspended by Admin
5 Disabled
6 Suspended by User
7 Suspended by System

Request status

Status ID Description
1 Confirmed
2 Pending
3 Declined by admin
4 Failed
5 Done
6 Request sent and waiting for result

Transaction status

Status ID Description
1 Pending
2 Sent
3 Received
4 Accepted
5 Settled
6 Rejected
7 Returned
8 Reversed
9 Canceled
10 Held

Bank provider

Provider ID Description
1 CENTROlink.
2 Starling.
3 ClearBank.

IBAN transfer

IBAN Inbound return message codes

Code Description Bank provider
521 Incorrect account number. CENTROlink, Starling, ClearBank
650 Account closed. CENTROlink, Starling, ClearBank
651 Account blocked. CENTROlink, Starling, ClearBank
652 Account holder deceased. CENTROlink, Starling, ClearBank
653 Not specified reason by customer. CENTROlink, Starling, ClearBank
654 Not specified reason by agent. CENTROlink, ClearBank
655 Transaction is forbidden. CENTROlink, ClearBank
656 Invalid bank operation code. CENTROlink, ClearBank
657 Duplication. CENTROlink, ClearBank
658 Missing creditor address. CENTROlink, ClearBank
659 Following cancelation request. CENTROlink, Starling, ClearBank
660 Missing debtor account or identification. CENTROlink, ClearBank
661 Missing debtor name or address. CENTROlink, ClearBank
662 Missing creditor name or address. CENTROlink, ClearBank
663 Regulatory reason. CENTROlink, ClearBank
664 Account transferred. Starling, ClearBank
665 Reference required not supplied. Starling, ClearBank
666 Account name mismatch. Starling, ClearBank
667 Terms and conditions of account do not permit crediting of these funds. Starling, ClearBank
668 Sending institution action required. Starling, ClearBank
669 Payment return reason is not specified. Starling, ClearBank
670 Other reasons. Starling, ClearBank

IBAN Outbound return message codes

Code Description Bank provider
521 Incorrect account number. CENTROlink, Starling, ClearBank
650 Account closed. CENTROlink, Starling, ClearBank
651 Account blocked. CENTROlink, Starling, ClearBank
652 Account holder deceased. CENTROlink, Starling, ClearBank
653 Not specified reason by customer. ClearBank
656 Invalid bank operation code. CENTROlink
657 Duplication. CENTROlink
658 Missing creditor address. CENTROlink, ClearBank
659 Following cancelation request. CENTROlink, ClearBank
660 Missing debtor account or identification. CENTROlink, ClearBank
661 Missing debtor name or address. CENTROlink, ClearBank
662 Missing creditor name or address. ClearBank
663 Regulatory reason. CENTROlink
664 Account transferred. ClearBank
666 Account name mismatch. Starling, ClearBank
669 Payment return reason is not specified.
670 Other reasons. Starling, ClearBank
675 Technical problems. CENTROlink, Starling
683 ERI option not supported. Starling
684 Fraudulent payment suspected. CENTROlink, Starling
685 Incorrect transaction information. Starling
686 Provider issue. Starling
687 Time out. Starling
688 Account can not be identified. Starling

IBAN direct debit return message codes

Code Description Bank provider
521 Incorrect account number. ClearBank
650 Account closed. ClearBank
651 Account blocked. ClearBank
652 Account holder deceased. ClearBank
653 Not specified reason by customer. ClearBank
658 Missing creditor address. ClearBank
659 Following cancelation request. ClearBank
660 Missing debtor account or identification. ClearBank
661 Missing debtor name or address. ClearBank
662 Missing creditor name or address. ClearBank
664 Account transferred. ClearBank
666 Account name mismatch. ClearBank
670 Other reasons. ClearBank

Cancel request status

Code Description
1 Accepted
2 Pending
3 Rejected

Cancel request type

Code Description
1 Inbound status report
2 Inbound cancel
3 Inbound resolution of investigation
4 Inbound request for status update

Inbound cancel request decline reason codes

Code Description Bank provider
200 Insufficient funds. CENTROlink
650 Account is closed. CENTROlink
677 Requested by customer. CENTROlink
678 Already returned transaction. CENTROlink
679 Legal decision. CENTROlink
680 No answer from customer. CENTROlink
681 No original transaction received. CENTROlink

Outbound cancel

Request reason codes
Code Description Bank provider Additional information required Reason originator name required
672 Wrong IBAN. CENTROlink Yes Yes
673 Wrong amount. CENTROlink Yes Yes
674 Fraudulent original credit transfer. CENTROlink Yes No
675 Technical problem. CENTROlink No No
677 Requested by customer. CENTROlink Yes Yes
682 Duplicate payment. CENTROlink No No
Rejection reason codes
Code Description Bank provider
672 Wrong IBAN. CENTROlink
673 Wrong amount. CENTROlink
674 Fraudulent original credit transfer. CENTROlink
675 Technical problem. CENTROlink
677 Requested by customer. CENTROlink
682 Duplicate payment. CENTROlink

Scheme

ID Description
1 Transfer.
2 Faster payments.
3 Chaps scheme.
4 Bacs scheme.
5 SEPA transfer.
6 SEPA instant transfer.
7 SEPA direct debit.

Type

ID Description
1 Single immediate payment
2 Forward date payment.
3 Standing order payment.
4 Inbound payment return.
5 Outbound payment return.
6 Direct debit payment.
7 Direct credit payment.
8 Payment reverse.
9 Payment cancel.
10 Debit fee.
11 Outbound payment cancel.

Direct debit mandate

Status

Status ID Description
1 Active.
2 Canceled.
3 Activation error.
4 Pending.
5 Ready for cancellation.
6 Request sent for cancellation.
7 Ready for reject.
8 Request sent for rejection.

Type

Type ID Description
1 Paper.
2 Origination.
3 Migrated.

Cancelation reason

Reason Code Description
CANCELLED_BY_INSTITUTION Institution cancelled - refer to payer. Paying bank has cancelled instruction.
CANCELLED_BY_PAYER Instruction cancelled by payer. Payer has instructed the paying bank to cancel the DirectDebit Instruction (Mandate).
PAYER_DECEASED Payer deceased.
ACCOUNT_CLOSED Account closed. Payer has closed their account for an unknown reason.

Rejection reason

Reason Code Description
CANCELLED_BY_PAYER Payer has instructed paying bank to cancel DDI
PAYER_DECEASED Payer deceased.
ACCOUNT_TRANSFERED_TO_DIFFERENT_INSTITUTION Account transferred to another bank / building society.
ACCOUNT_NOT_FOUND Account number is not recognised at the paying bank.
MANDATE_INSTRUCTION_NOT_FOUND Instruction does not exist on paying bank’s database (only applies to receipt of a 0C).
PAYER_ACCOUNT_CLOSED Payer has closed his account for an unknown reason.
ACCOUNT_MOVED_TO_DIFFERENT_BRANCH New account details supplied to the service user by paying bank.
INVALID_PAYEE_ACCOUNT_TYPE Paying bank does not allow Direct Debits on this type of account.
PAYEE_ACCOUNT_DIRECT_DEBIT_DISABLED Paying bank does not allow Direct Debits on this account.
INSTRUCTION_HAS_EXPIRED Occurs when a service user attempts to convert a DDI which is shown as expired on the paying bank’s database.
PAYER_REFERENCE_NOT_UNIQUE Paying bank has matched the DDI to an existing DDI with a similar reference that has more or fewer characters.
PAYER_CANCELLED_DDI Paying bank has cancelled the DDI.
Status ID Description
1 Active
2 Used
3 Paid
4 Expired
5 Canceled

Example

Cryptography

Some information in response (like credit card number) will be encrypted so must use decryption function to get real information. For decrypt must have MERCHANT_3DES_KEY.

Decryption function in PHP:

function decrypt3DES($encrypted)
{
    $len = strlen(_MERCHANT_3DES_KEY_);
    $key = $len < 24 ? _MERCHANT_3DES_KEY_.substr(_MERCHANT_3DES_KEY_, 0, 24 - $len) : _MERCHANT_3DES_KEY_;

    return openssl_decrypt($encrypted, 'des-ede3-cbc', $key, false, substr(_MERCHANT_3DES_KEY_, 0, 8));
}

function encrypt3DES($data)
{
    $len = strlen(_MERCHANT_3DES_KEY_);
    $key = $len < 24 ? _MERCHANT_3DES_KEY_.substr(_MERCHANT_3DES_KEY_, 0, 24 - $len) : _MERCHANT_3DES_KEY_;

    return openssl_encrypt($data, 'des-ede3-cbc', $key, false, substr(_MERCHANT_3DES_KEY_, 0, 8));
}

Request function

function _request($servicename, $params)
{
    ini_set('max_execution_time', 300);
    $uri = '_SERVICE_URL_'.'/v/'.'_VERSION_'.'/function/'.'_API_FUNCTION_NAME_';
    $str = json_encode($params);
    $ch = curl_init($uri);
    curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
    curl_setopt($ch, CURLOPT_POSTFIELDS, $str);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_TIMEOUT, 300);
    curl_setopt($ch, CURLOPT_HTTPHEADER, [
        'Content-Type: application/json',
        'Content-Length: '.strlen($str)]
    );
    $response = curl_exec($ch);
    curl_close($ch);

    return $response;
}

Sign generation

Sign of request, it is MD5 hash of keys, values and secret.

Example of Sign generation:

MD5("key1:value1: key2: value2:…:key:_MERCHANT_KEY_:ts:_TIMESTAMP_:_SECRET_")

Example in PHP:

function _sign($params)
{
    $strToSign = '';
    $params['key'] = '_MERCHANT_KEY_';
    $params['ts'] = time();
    foreach ($params as $k => $v) {
        if ($v !== NULL) {
            $strToSign .= "$k:$v:";
        }
    }
    $strToSign .= '_MERCHANT_SECRET_';
    $params['sign'] = md5($strToSign);

    return $params;
}

IPN catcher

KYC notification

if (!empty($_POST)) {
    $kyc_id = $_POST['id'];
    $msg = $_POST['msg']; // 'Status changed from [Requested] to [Rejected]'
    $old_status = $_POST['old_status']; // 'Requested'
    $new_status = $_POST['new_status']; // 'Rejected'
    $old_status_id = $_POST['old_status_id']; // '6'
    $new_status_id = $_POST['new_status_id']; // '3'
    $key = $_POST['key']; // merchant key
    $time = $_POST['ts']; // UNIX timestamp
    if (!empty($_POST['sign'])) {
        $sign = $_POST['sign'];
        $arrToHash = [];
        ksort($_POST);
        foreach ($_POST as $field => $value) {
            if ($field == 'sign' || $value === null) {
                continue;
            }
            $arrToHash[] = $field.':'.$value;
        }
        $hash = md5(implode(':', $arrToHash).':'.'_MERCHANT_SECRET_');
        if ($hash == $sign) {
            // sign correct - any needed actions further
        } else {
            // wrong sign - any needed actions further
        }
    } else {
        // no sign - any needed actions further
    }
}

Load from added bank / crypto

if (!empty($_POST)) {
    $Type = $_POST['Type']; // 'b2a'
    $status = $_POST['status']; // 'success' or 'fail'
    $reference_number = $_POST['reference_number']; // reference number
    $account_id = $_POST['account_id']; // account ID
    $amount = $_POST['amount']; // amount
    $currency = $_POST['currency']; // currency
    $settled_amount = $_POST['settled_amount']; // settled amount
    $settled_currency = $_POST['settled_currency']; // settled currency
    $transaction_id = $_POST['transaction_id']; // transaction ID $crypto_address = $_POST['crypto_address']; // crypto_address
    if (!empty($_POST['sign'])) {
        $sign = $_POST['sign'];
        $arrToHash = [];
        ksort($_POST);
        foreach ($_POST as $field => $value) {
            if ($field == 'sign' || $value === null) {
                continue;
            }
            $arrToHash[] = $field.':'.$value;
        }
        $hash = md5(implode(':', $arrToHash).':'.'_MERCHANT_SECRET_');
        if ($hash == $sign) {
            // sign correct - any needed actions further
        } else {
            // wrong sign - any needed actions further
        }
    } else {
        // no sign - any needed actions further
    }
}

Purchase

if (!empty($_POST)) {
    $status_id = $_POST['status_id']; // 7
    $reference_id = $_POST['reference_id']; // 'ap-57fcb50701182'
    $order_id = $_POST['order_id']; // 'my_order_81815'
    $data_amount = $_POST['data_amount']; // 1.01
    $currency = $_POST['currency']; // 'USD'
    $transaction_id = $_POST['transaction_id']; // transaction ID
    $key = $_POST['key']; // merchant key
    $time = $_POST['ts']; // UNIX timestamp
    // note that transaction ID will be not empty only if status is 8 or 9
    if (!empty($_POST['sign'])) {
        $sign = $_POST['sign'];
        $arrToHash = [];
        ksort($_POST);
        foreach ($_POST as $field => $value) {
            if ($field == 'sign' || $value === null) {
                continue;
            }
            $arrToHash[] = $field.':'.$value;
        }
        $hash = md5(implode(':', $arrToHash).':'.'_MERCHANT_SECRET_');
        if ($hash == $sign) {
            // sign correct - any needed actions further
        } else {
            // wrong sign - any needed actions further
        }
    } else {
        // no sign - any needed actions further
    }
}

Wire transfer

if (!empty($_POST)) {
    $Type = $_POST['Type']; // 'mu2m'
    $status = $_POST['status']; // 'success' or 'fail'
    $status_id = $_POST['status_id']; // 3
    $reference_number = $_POST['reference_number']; // reference number
    $order_id = $_POST['custom_order_id']; // custom order id
    $account_id = $_POST['account_id']; // account ID
    $amount = $_POST['amount']; // amount
    $currency = $_POST['currency']; // currency
    $settled_amount = $_POST['settled_amount']; // settled amount
    $settled_currency = $_POST['settled_currency']; // settled currency
    $transaction_id = $_POST['transaction_id']; // transaction ID
    $key = $_POST['key']; // merchant key
    $time = $_POST['ts']; // UNIX timestamp
    if (!empty($_POST['sign'])) {
        $sign = $_POST['sign'];
        $arrToHash = [];
        ksort($_POST);
        foreach ($_POST as $field => $value) {
            if ($field == 'sign' || $value === null) {
                continue;
            }
            $arrToHash[] = $field.':'.$value;
        }
        $hash = md5(implode(':', $arrToHash).':'.'_MERCHANT_SECRET_');
        if ($hash == $sign) {
            // sign correct - any needed actions further
        } else {
            // wrong sign - any needed actions further
        }
    } else {
        // no sign - any needed actions further
    }
}

S3D submit form

    <script type="text/javascript">
        window.onload = function(e){
            document.getElementById("myForm").submit();
        }
    </script>

    <div style="display: none;">
        <form id="myForm" action="http://bank-url" method="post">
            <input type="text" name="MD" value="15633665670206" />
            <input type="text" name="PaReq" value="dGJpbWhybWM1WXA3ZytXK3ZuR3BvTGgycXBxVXNkYmRwNXA2emJqQlluK0pjSzYzZHBoNXNKS0ZxcDYxbkhmU21IV3V6Y2ZXdnM2Um5uSHJtcEtzbDl6TWo5ckN4NU9mcXN5SFpNVEtqcWFaNEwyK3kzOThiY1BXdXRpM29xK3NrYXlJdmNHamdxN2FtSTJvZ2JXOXA2VzlwcmFaanBtVm1MVEVyTFNOb3RhL3lIT0dvN0c3MllsMzBNM1ltNWl1MG1hL25LM0V5cDZZaHArWnNhSmliSXhndTdxUXdxVEFyWWFkaGEvQ2Q5S1JjS0hLcmF5VHZuMmVhT2Via3IyVXlOeDV0N0cycEoyZ29vS1p0TFdCZEkvZ2lyTE1qM1c0eTlYYzJiZkdyblY0NVkzTHdiaUd5ZEtyblcrSnRKaHJqcExBZnBlbGk2eVMxck9kcEoyTnlhNjBmNzJnaUsvR2dIYnV4TmRoc3EyNGVwNmJyY1N6cDVhdmdkeTZuNHlx" />
            <input type="text" name="TermUrl" value="http://return-url" />
            <input type="submit" value="Submit S3D" />
        </form>
    </div>

Notation

Parameter requirement

Notation Meaning
Y Mandatory
N Optional
C Conditional

Type

Notation Meaning
A The abbreviation for alphabetical inputs (A-Z a-z).
AN The abbreviation for alphanumeric inputs (0-9 A-Z a-z .!@).
LIST
N The abbreviation for numeric inputs (0-9).