Contents

Country codes

(For ISO2A format, refer to the “Country 2-Letter” column below)

 

Country 2-Letter Country 3-Letter Country 3-Digit Country Name
AD AND 020 Andorra
AE ARE 784 United Arab Emirates
AF AFG 004 Afghanistan
AG ATG 028 Antigua And Barbuda
AI AIA 660 Anguilla
AL ALB 008 Albania
AM ARM 051 Armenia
AN ANT 530 Netherlands Antilles
AO AGO 024 Angola
AQ ATA 010 Antarctica
AR ARG 032 Argentina
AS ASM 016 American Samoa
AT AUT 040 Austria
AU AUS 036 Australia
AW ABW 533 Aruba
AX ALA 248 Åland Islands
AZ AZE 031 Azerbaijan
BA BIH 070 Bosnia And Herzegowina
BB BRB 052 Barbados
BD BGD 050 Bangladesh
BE BEL 056 Belgium
BF BFA 854 Burkina Faso
BG BGR 100 Bulgaria
BH BHR 048 Bahrain
BI BDI 108 Burundi
BJ BEN 204 Benin
BL BLM 652 Saint Barthélemy
BM BMU 060 Bermuda
BN BRN 096 Brunei Darussalam
BO BOL 068 Bolivia
BQ BES 535 Bonaire, Saint Eustatius and Saba
BR BRA 076 Brazil
BS BHS 044 Bahamas
BT BTN 064 Bhutan
BV BVT 074 Bouvet Island
BW BWA 072 Botswana
BY BLR 112 Belarus
BZ BLZ 084 Belize
CA CAN 124 Canada
CC CCK 166 Cocos (Keeling) Islands
CD COD 180 Congo, Democratic Republic of
CF CAF 140 Central African Republic
CG COG 178 Congo
CH CHE 756 Switzerland
CI CIV 384 Cote D’ivoire
CK COK 184 Cook Islands
CL CHL 152 Chile
CM CMR 120 Cameroon
CN CHN 156 China
CO COL 170 Colombia
CR CRI 188 Costa Rica
CS SCG 891 Serbia and Montenegro
CU CUB 192 Cuba
CV CPV 132 Cape Verde
CW CUW 531 Curaçao
CX CXR 162 Christmas Island
CY CYP 196 Cyprus
CZ CZE 203 Czech Republic
DE DEU 276 Germany
DJ DJI 262 Djibouti
DK DNK 208 Denmark
DM DMA 212 Dominica
DO DOM 214 Dominican Republic
DZ DZA 012 Algeria
EC ECU 218 Ecuador
EE EST 233 Estonia
EG EGY 818 Egypt
EH ESH 732 Western Sahara
ER ERI 232 Eritrea
ES ESP 724 Spain
ET ETH 231 Ethiopia
FI FIN 246 Finland
FJ FJI 242 Fiji
FK FLK 238 Falkland Islands (Malvinas)
FM FSM 583 Micronesia, Federated States Of
FO FRO 234 Faroe Islands
FR FRA 250 France
GA GAB 266 Gabon
GB GBR 826 United Kingdom
GD GRD 308 Grenada
GE GEO 268 Georgia
GF GUF 254 French Guiana
GG GGY 831 Guernsey
GH GHA 288 Ghana
GI GIB 292 Gibraltar
GL GRL 304 Greenland
GM GMB 270 Gambia
GN GIN 324 Guinea
GP GLP 312 Guadeloupe
GQ GNQ 226 Equatorial Guinea
GR GRC 300 Greece
GS SGS 239 South Georgia And The South Sandwich Islands
GT GTM 320 Guatemala
GU GUM 316 Guam
GW GNB 624 Guinea-Bissau
GY GUY 328 Guyana
HK HKG 344 Hong Kong
HM HMD 334 Heard And Mc Donald Islands
HN HND 340 Honduras
HR HRV 191 Croatia (Local Name: Hrvatska)
HT HTI 332 Haiti
HU HUN 348 Hungary
ID IDN 360 Indonesia
IE IRL 372 Ireland
IL ISR 376 Israel
IM IMN 833 Isle of Man
IN IND 356 India
IO IOT 086 British Indian Ocean Territory
IQ IRQ 368 Iraq
IR IRN 364 Iran (Islamic Republic Of)
IS ISL 352 Iceland
IT ITA 380 Italy
JE JEY 832 Jersey
JM JAM 388 Jamaica
JO JOR 400 Jordan
JP JPN 392 Japan
KE KEN 404 Kenya
KG KGZ 417 Kyrgyzstan
KH KHM 116 Cambodia
KI KIR 296 Kiribati
KM COM 174 Comoros
KN KNA 659 Saint Kitts And Nevis
KP PRK 408 Korea, Democratic People’s Republic Of
KR KOR 410 Korea, Republic Of
KW KWT 414 Kuwait
KY CYM 136 Cayman Islands
KZ KAZ 398 Kazakhstan
LA LAO 418 Lao People’s Democratic Republic
LB LBN 422 Lebanon
LC LCA 662 Saint Lucia
LI LIE 438 Liechtenstein
LK LKA 144 Sri Lanka
LR LBR 430 Liberia
LS LSO 426 Lesotho
LT LTU 440 Lithuania
LU LUX 442 Luxembourg
LV LVA 428 Latvia
LY LBY 434 Libyan Arab Jamahiriya
MA MAR 504 Morocco
MC MCO 492 Monaco
MD MDA 498 Moldova, Republic Of
ME MNE 499 Montenegro
MF MAF 663 Saint Martin
MG MDG 450 Madagascar
MH MHL 584 Marshall Islands
MK MKD 807 Macedonia, The Former Yugoslav Republic Of
ML MLI 466 Mali
MM MMR 104 Myanmar
MN MNG 496 Mongolia
MO MAC 446 Macau
MP MNP 580 Northern Mariana Islands
MQ MTQ 474 Martinique
MR MRT 478 Mauritania
MS MSR 500 Montserrat
MT MLT 470 Malta
MU MUS 480 Mauritius
MV MDV 462 Maldives
MW MWI 454 Malawi
MX MEX 484 Mexico
MY MYS 458 Malaysia
MZ MOZ 508 Mozambique
NA NAM 516 Namibia
NC NCL 540 New Caledonia
NE NER 562 Niger
NF NFK 574 Norfolk Island
NG NGA 566 Nigeria
NI NIC 558 Nicaragua
NL NLD 528 Netherlands
NO NOR 578 Norway
NP NPL 524 Nepal
NR NRU 520 Nauru
NU NIU 570 Niue
NZ NZL 554 New Zealand
OM OMN 512 Oman
PA PAN 591 Panama
PE PER 604 Peru
PF PYF 258 French Polynesia
PG PNG 598 Papua New Guinea
PH PHL 608 Philippines
PK PAK 586 Pakistan
PL POL 616 Poland
PM SPM 666 St. Pierre And Miquelon
PN PCN 612 Pitcairn
PR PRI 630 Puerto Rico
PS PSE 275 Palestinian Territory, Occupied
PT PRT 620 Portugal
PW PLW 585 Palau
PY PRY 600 Paraguay
QA QAT 634 Qatar
RE REU 638 Reunion
RO ROU 642 Romania
RS SRB 688 Serbia
RU RUS 643 Russian Federation
RW RWA 646 Rwanda
SA SAU 682 Saudi Arabia
SB SLB 090 Solomon Islands
SC SYC 690 Seychelles
SD SDN 729 Sudan
SE SWE 752 Sweden
SG SGP 702 Singapore
SH SHN 654 St. Helena
SI SVN 705 Slovenia
SJ SJM 744 Svalbard And Jan Mayen Islands
SK SVK 703 Slovakia (Slovak Republic)
SL SLE 694 Sierra Leone
SM SMR 674 San Marino
SN SEN 686 Senegal
SO SOM 706 Somalia
SR SUR 740 Suriname
SS SSD 728 South Sudan
ST STP 678 Sao Tome And Principe
SV SLV 222 El Salvador
SX SXM 534 Sint Maarten (Dutch part)
SY SYR 760 Syrian Arab Republic
SZ SWZ 748 Swaziland
TC TCA 796 Turks And Caicos Islands
TD TCD 148 Chad
TF ATF 260 French Southern Territories
TG TGO 768 Togo
TH THA 764 Thailand
TJ TJK 762 Tajikistan
TK TKL 772 Tokelau
TL TLS 626 Timor-Leste, Democratic Republic of
TM TKM 795 Turkmenistan
TN TUN 788 Tunisia
TO TON 776 Tonga
TR TUR 792 Turkey
TT TTO 780 Trinidad And Tobago
TV TUV 798 Tuvalu
TW TWN 158 Taiwan
TZ TZA 834 Tanzania, United Republic Of
UA UKR 804 Ukraine
UG UGA 800 Uganda
UM UMI 581 United States Minor Outlying Islands
US USA 840 United States
UY URY 858 Uruguay
UZ UZB 860 Uzbekistan
VA VAT 336 Vatican City State (Holy See)
VC VCT 670 Saint Vincent And The Grenadines
VE VEN 862 Venezuela
VG VGB 092 Virgin Islands (British)
VI VIR 850 Virgin Islands (U.S.)
VN VNM 704 Viet Nam
VU VUT 548 Vanuatu
WF WLF 876 Wallis And Futuna Islands
WS WSM 882 Samoa
YE YEM 887 Yemen
YT MYT 175 Mayotte
ZA ZAF 710 South Africa
ZM ZMB 894 Zambia
ZW ZWE 716 Zimbabwe
ZZ ZZZ 999 Unknown

Currency codes

Currency Code Currency 3-Digit Currency Name Decimal places
AED 784 UAE Dirham 2
AFN 971 Afghanistan Afghani 2
ALL 008 Albanian Lek 2
AMD 051 Armenian Dram 2
ANG 532 Netherlands Antillean Guilder 2
AOA 973 Angolan Kwanza 2
ARS 032 Argentine Peso 2
ATS 040 Schilling 2
AUD 036 Australian Dollar 2
AWG 533 Aruban Florin 2
AZN 944 Azerbaijan Manat 2
BAM 977 Bosnia and Herzegovina convertible Mark 2
BBD 052 Barbados Dollar 2
BDT 050 Taka 2
BEF 056 Belgian Franc 2
BGL 100 Lev 2
BGN 975 Bulgarian Lev 2
BHD 048 Bahraini Dinar 3
BIF 108 Burundi Franc 0
BMD 060 Bermudian Dollar 2
BND 096 Brunei Dollar 2
BOB 068 Boliviano 2
BRL 986 Real 2
BSD 044 Bahamian Dollar 2
BTN 064 Ngultrum 2
BWP 072 Pula 2
BYN 933 New Belarusian ruble 2
BYR 974 Belarusian ruble 0
BZD 084 Belize Dollar 2
CAD 124 Canadian Dollar 2
CDF 976 Congolese franc 2
CHF 756 Swiss Franc 2
CLP 152 Chilean Peso 0
CNY 156 Yuan Renminbi 2
COP 170 Colombian Peso 2
CRC 188 Costa Rican Colon 2
CUP 192 Cuban peso 2
CVE 132 Cape Verdean Escudo 2
CYP 196 Cyprus Pound 2
CZK 203 Czech Koruna 2
DEM 280 Deutsche Mark 2
DJF 262 Djibouti franc 0
DKK 208 Danish Krone 2
DOP 214 Dominican Peso 2
DZD 012 Algerian Dinar 2
ECS 218 Ecuador Sucre 2
EEK 233 Kroon 2
EGP 818 Egyptian Pound 2
ERN 232 Eritrean nakfa 2
ESP 724 Spanish Peseta 0
ETB 230 Ethiopian Birr 2
EUR 978 Euro 2
FIM 246 Markka 2
FJD 242 Fiji Dollar 2
FKP 238 Falkland Islands pound 2
FRF 250 French Franc 2
GBP 826 Pound Sterling 2
GEL 981 Georgian Lari 2
GHS 936 Ghana cedi 2
GIP 292 Gibraltar Pound 2
GMD 270 Dalasi 2
GNF 324 Guinean Franc 0
GRD 300 Drachma 0
GTQ 320 Quetzal 2
GYD 328 Guyana Dollar 2
HKD 344 Hong Kong Dollar 2
HNL 340 Lempira 2
HRK 191 Croatian Kuna 2
HTG 332 Haiti gourde 2
HUF 348 Forint 2
IDR 360 Rupiah 2
IEP 372 Irish Pound 2
ILS 376 Shekel 2
INR 356 Indian Rupee 2
IQD 368 Iraqi Dinar 3
IRR 364 Iranian Rial 2
ISK 352 Iceland Krona 2
ITL 380 Italian Lira 0
JMD 388 Jamaican Dollar 2
JOD 400 Jordanian Dinar 3
JPY 392 Yen 0
KES 404 Kenyan Shilling 2
KGS 417 Kyrgyzstani som 2
KHR 116 Cambodian Riel 2
KMF 174 Comorian franc 0
KPW 408 North Korean won 2
KRW 410 Won 0
KWD 414 Kuwaiti Dinar 3
KYD 136 Cayman Islands Dollar 2
KZT 398 Tenge 2
LAK 418 Lao Kip 2
LBP 422 Lebanese Pound 2
LKR 144 Sri Lanka Rupee 2
LRD 430 Liberian Dollar 2
LSL 426 Lesotho loti 2
LTL 440 Lithuania Litas 2
LUF 442 Luxembourg Franc 2
LVL 428 Latvian Lat 2
LYD 434 Libyan Dinar 3
MAD 504 Moroccan Dirham 2
MDL 498 Moldovan leu 2
MGA 969 Malagasy Ariary 2
MGF 450 Malagasy Franc 2
MKD 807 Macedonian Denar 2
MMK 104 Burmese kyat 2
MNT 496 Mongolian Tughrik 2
MOP 446 Macau Pataca 2
MRO 478 Ouguiya 2
MTL 470 Maltese Lira 2
MUR 480 Mauritius Rupee 2
MVR 462 Maldivian rufiyaa 2
MWK 454 Kwacha 2
MXN 484 Mexican Peso 2
MYR 458 Malaysian Ringgit 2
MZN 943 Mozambique Metical 2
NAD 516 Namibia dollar 2
NGN 566 Naira 2
NIO 558 Cordoba Oro 2
NLG 528 Netherlands Guilder 2
NOK 578 Norwegian Krone 2
NPR 524 Nepalese Rupee 2
NZD 554 New Zealand Dollar 2
OMR 512 Rial Omani 3
PAB 590 Balboa 2
PEN 604 Nuevo Sol 2
PGK 598 Papua New Guinean Kina 2
PHP 608 Philippine Peso 2
PKR 586 Pakistan Rupee 2
PLN 985 New Zloty 2
PTE 620 Portugese Escudo 0
PYG 600 Guarani 0
QAR 634 Qatari Rial 2
ROL 642 Leu 2
RON 946 Romanian Leu 2
RSD 941 Serbian Dinar 2
RUB 643 Russian Rouble 2
RWF 646 Rwanda Franc 0
SAR 682 Saudi Riyal 2
SBD 090 Solomon Islands dollar 2
SCR 690 Seychelles Rupee 2
SDG 938 Sudanese Pound 2
SEK 752 Swedish Krona 2
SGD 702 Singapore Dollar 2
SHP 654 Saint Helena pound 2
SIT 705 Tolar 2
SKK 703 Slovak Koruna 2
SLL 694 Leone 2
SOS 706 Somali shilling 2
SRD 968 Surinam dollar 2
SRG 740 Suriname Guilder 2
SSP 728 South Sudanese Pound 2
STD 678 Dobra 2
SVC 222 El Salvador Colon 2
SYP 760 Syrian Pound 2
SZL 748 Swazi lilangeni 2
THB 764 Baht 2
TJS 972 Tajikistani somoni 2
TMT 934 Turkmenistan New Manat 2
TND 788 Tunisian Dinar 3
TOP 776 Tongan Pa’anga 2
TRL 792 Turkish Lira 0
TRY 949 New Turkish Lira 2
TTD 780 Trinidad and Tobago Dollar 2
TWD 901 New Taiwan Dollar 2
TZS 834 Tanzanian Shilling 2
UAH 980 Ukraninan Hryvnia 2
UGX 800 Uganda shilling 0
USD 840 US Dollar 2
UYU 858 Peso Uruguayo 2
UZS 860 Uzbekistani Som 2
VEB 862 Venezuela Bolivar 2
VEF 937 Venezuelan Bolivar 2
VND 704 Viet Nam Dong 0
VUV 548 Vanuatu vatu 0
WST 882 Samoan tala 2
XAF 950 CFA Franc BEAC 0
XCD 951 East Caribbean Dollar 2
XOF 952 CFA Franc BCEAO 0
XPF 953 CFP Franc 0
YER 886 Yemeni Rial 2
ZAR 710 Rand 2
ZMK 894 Zambian Kwacha 2
ZWL 716 Zimbabwe Dollar 2

Error codes

Error Code Explanation
0 Ok
1 Generic error
2 Trust Payments API requires the ‘requests’ library
4 Send error
5 Receive error
6 Invalid credentials provided
7 An issue occured whilst trying to connect to Trust Payments servers
8 Unexpected error connecting to Trust Payments servers. If the problem persists please contact [email protected]
9 Unknown error. If this persists please contact Trust Payments
10 Incorrect usage of the Trust Payments API
10003 Invalid card details
10100 Invalid date
10101 Invalid date/time
10102 Invalid details
10103 Card number does not match card type
10200 Malformed XML
10201 XML does not match schema
10202 Invalid file format
10203 Empty file contents
10204 Invalid file contents
10205 Malformed JSON
10500 StApi Error
10600 Invalid fields specified in request
20004 Missing parent
20005 Refund requires settled parent or parent thats due to settle today
20006 Refund requires authorisation parent
20007 Refund amount too great
20008 No acquirer specified
20009 Repeat amount too great
20010 Split amount too great
20011 Cannot refund a decline transaction
20012 Refund requires a settled parent
20013 Reversal requires a cancelled auth parent
20014 Cannot override amount in child transaction
20015 Cannot override currency in child transaction
20018 Subscription requires RECUR account
20019 Subscription requires successful parent
20020 Risk Decisions must have AUTH as parent
20021 Chargebacks must have AUTH/REFUND as parent
20022 Refund amount less than Minimum allowed
20023 Refund requires paypaltransactionid
20024 Invalid split transaction
20025 Cannot reverse AUTH processed more than 48 hours ago
20026 Reversal requires acquirerreferencedata
20027 Cannot reverse AUTH processed by a different acquirer
20028 Payment type does not support repeats
20029 Reversal missing required data
20030 Missing token
20031 Subscription with an accountcheck parent not supported on current acquirer
20032 Subscription cannot be used as a parent
20033 Invalid parent
20034 Payment type does not support refunds
20035 Invalid incremental transaction
20036 Partial reversals not supported
20037 THREEDQUERY parent/child must have the same paymenttype as the child
20038 Payment type does not support card scheme updates
20039 Cannot reverse AUTH at this time, please try again
21000 Service Temporarily Disabled
21001 Login firstrequest
21002 Invalid username/password
21003 Invalid session
21004 Session has expired
21005 Password expired
21006 Password has been previously used
21007 Account has been locked
21009 New password does not match confirmed password
21010 Incorrect current password
21012 Invalid selection
21013 User already exists
21014 No transaction found
21015 Invalid selected transactions
21016 Data supplied has not been saved
21017 Invalid request type
21018 Missing request type, at least one request type must be selected
21019 Invalid payment type
21020 Missing payment type, at least one payment type must be selected
21021 Invalid error code
21022 Missing error code, at least one error code must be selected
21023 Invalid filter description
21024 Invalid destination description
21025 Invalid notification type
21026 Invalid destination
21027 Invalid field selected
21028 Invalid email from address
21029 Invalid email subject
21030 Invalid email email type
21031 Unable to process request
21032 No file selected for upload
21033 Invalid file size
21034 Invalid filename
21035 Invalid extension
21036 User requires at least one sitereference
21037 Only ST-level users can have ‘*’ access
21038 Request failed
21039 Invalid File Contents
21040 Maximum number of files uploaded
21041 Insufficient gateway access privileges
21042 Maximum file size limit reached
21043 Username(s) must be a valid user(s)
21044 Sitereference(s) must be a valid site(s)
21045 Unable to send email, please verify the details and try again
21046 Negative already exists
21047 Cannot delete a search owned by another user
21048 Invalid search
21049 Cannot delete the specified search, the search name cannot be found
21050 Search parameter is too short
21051 Duplicate custom fields defined
21052 Cannot allocate selected users, insufficient privileges
21053 Allocated users have access to additional sites
21054 Allocated users have access to additional users
21055 User with current role cannot be allocated users
21056 This site requires that your browser accept cookies to sign in. Cookies can be accepted by clicking “I accept” below.
21057 User requires at least one site reference or site group
21058 Allocated users have access to additional site groups
25000 Insufficient access privileges
25001 Coding error
25002 Insufficient privileges
25003 Invalid request
30000 Invalid field
30001 Unknown site
30002 Banned card
30003 Xml element parse error
30004 Maestro must use SecureCode
30005 Multiple email addresses must be separated with , or ;
30006 Invalid sitereference for alias
30007 Invalid version number
30008 Unknown user
30009 Cannot determine account
30010 Json element parse error
30011 Wallet type configuration error
30012 Wallet type not supported on this request
31000 The card number you have provided is incorrect, please verify your details and try again
31001 The security code (CVV2) you have provided is incorrect, please verify your details and try again
31002 The expiry date you have provided is incorrect, please verify your details and try again
31003 The expiry month you have provided is incorrect, please verify your details and try again
31004 The expiry year you have provided is incorrect, please verify your details and try again
31005 Unable to process your payment due to connection errors – request id mismatch, please try again
31006 The issue number you have provided is incorrect, please verify your details and try again
31007 The payment type you have provided is incorrect, please verify your details and try again
31009 Unable to process your payment, please contact the website
31010 There are errors with these fields
40000 No account found
40001 Refund cannot be processed
40002 Transaction de-activated
50000 Socket receive error
50001 Socket connection error
50002 Socket closed
50003 Invalid data received
50004 Invalid SQL
50005 Timeout
50006 Invalid acquirer
50007 Unable to connect to acquirer
50008 Invalid response from acquirer
50009 No available transport
50010 File size too large
50011 Socket send error
50012 Communication error
50014 Proxy error
51000 Unable to process your payment due to connection errors, please verify your details and try again
51001 Unable to process your payment due to connection errors (HTTP response status

Please verify your details and try again

60003 Wrong number of emails
60010 Bank System Error
60011 Wrong number of transactions
60012 Invalid transport configuration
60013 No valid updates specified
60014 Transaction reference not found
60016 settlebaseamount too large
60017 Transaction not updatable
60018 Invalid requesttype
60019 No searchable filter specified
60020 Timeout Error
60021 3-D Secure Transport Error
60022 Unauthenticated
60023 Site Suspended
60024 No updates performed
60025 Invalid Request
60026 Invalid Response
60027 Invalid Acquirer
60028 Invalid account data
60029 Missing
60030 Payment Error
60031 Invalid acquirer for 3-D Secure
60032 Invalid payment type for 3-D Secure
60033 Invalid updates specified
60034 Manual investigation required
60035 Invalid headers
60036 Max fraudscore exceeded
60037 Invalid filters
60038 Merchant System Error
60039 Your payment is being processed. Please wait…
60040 Can not specify both requesttypedescription and requesttypedescriptions on a single request
60041 Acquirer missing original transaction data
60100 Invalid process
60101 Invalid process
60102 Invalid process
60103 Invalid process
60104 Invalid process
60105 Invalid process
60106 Invalid process
60107 Invalid process
60108 Invalid process
60109 Invalid process
60110 Invalid process
60111 Invalid process
60112 Invalid process
60113 Invalid process
60114 Invalid process
60115 Invalid process
60116 Invalid process
60117 Invalid process
60118 Invalid process
60119 Invalid process
60120 Invalid process
61000 Name Pick required
61001 Address Pick required
61002 IP not in range
61003 Invalid button configuration
62000 Unrecognised response from acquirer
70000 Decline
70001 Uncertain result
99998 There has been a problem with your payment, please verify your details and try again
99999 Unknown error

Request types (Webservices API)

Info
A valid requesttypedescription must be included in every request submitted to Trust Payments using the Webservices API. We use the value of this field to determine the type of request required in order to process the request. Please refer to the table below for a summary of the request types that we support.
Warning
The following content assumes you have obtained the necessary PCI certification to process and submit sensitive cardholder data in the request to our Webservices API.

If you are unsure, please contact our Support Team for assistance.

 

Overview

Request type Supported account types Description
ACCOUNTCHECK
  • ECOM
  • MOTO
Performs basic checks on the card and billing address details submitted.
Learn more
AUTH
  • ECOM
  • MOTO
Performs a payment, which debits funds from the customer’s account.
Learn more
CURRENCYRATE
  • CURRENCYRATE
For calculating the transaction amounts in both the currency associated with your site and the local currency associated with the customer’s card. This is to facilitate offering your customers the ability to complete purchases in their preferred currency.
Learn more
ORDER
  • ECOM
Initiate a new payment with PayPal.
Learn more
ORDERDETAILS
  • ECOM
Retrieve the order details from PayPal, after the customer has signed in to their account and agreed to the payment on PayPal’s servers.
Learn more
REFUND
Standard / Payout
  • CFT
  • ECOM
  • MOTO
For transferring funds back to the customer.
Learn more
RISKDEC
  •  FRAUDCONTOL
For processing requests to our Protect Plus system, for purposes of highlighting payments with suspicious characteristics.
Learn more

 

ACCOUNTCHECK

Request ACCOUNTCHECK
Perform checks on the cardholder’s first line of address, the cardholder’s postcode and the security code, without reserving funds on the customer’s account.
Learn more

#!/usr/bin/python
import securetrading

stconfig = securetrading.Config()
stconfig.username = "[email protected]"
stconfig.password = "Password1^"
st = securetrading.Api(stconfig)

accountcheck= {
    "currencyiso3a": "GBP",
    "requesttypedescription": "ACCOUNTCHECK",
    "sitereference": "test_site12345",
    "baseamount": "0",
    "orderreference": "My_Order_123",
    "accounttypedescription": "ECOM",
    "billingpremise": "789",
    "billingpostcode": "TE45 6ST",
    "pan": "4111111111111111",
    "expirydate": "12/2022",
    "securitycode": "123"
}

strequest = securetrading.Request()
strequest.update(accountcheck)
stresponse = st.process(strequest) #stresponse contains the transaction response
<?php

if (!($autoload = realpath(__DIR__ . '/../../../autoload.php')) && !($autoload = realpath(__DIR__ . '/../vendor/autoload.php'))) {
  throw new Exception('Composer autoloader file could not be found.');
}
require_once($autoload);

$configData = array(
'username' => '[email protected]',
'password' => 'Password1^',
);

$requestData = array(
'currencyiso3a' => 'GBP',
'requesttypedescription' => 'ACCOUNTCHECK',
'sitereference' => 'test_site12345',
'baseamount' => '0',
'orderreference' => 'My_Order_123',
'accounttypedescription' => 'ECOM',
'billingpremise' => '789',
'billingpostcode' => 'TE45 6ST',
'pan' => '4111111111111111',
'expirydate' => '12/2022',
'securitycode' => '123'
);

$api = \Securetrading\api($configData);
$response = $api->process($requestData);
var_dump($response->toArray());

?>
curl --user [email protected]:Password1^ https://webservices.securetrading.net/json/ -H "Content-type: application/json" -H "Accept: application/json" -X POST -d '{
"alias": "[email protected]",
"version": "1.00",
"request": [{
  "currencyiso3a": "GBP",
  "requesttypedescription": "ACCOUNTCHECK",
  "sitereference": "test_site12345",
  "baseamount": "0",
  "orderreference": "My_Order_123",
  "accounttypedescription": "ECOM",
  "billingpremise": "789",
  "billingpostcode": "TE45 6ST",
  "pan": "4111111111111111",
  "expirydate": "12/2022",
  "securitycode": "123"
}]}'
{"alias":"[email protected]","version":"1.00","request":[{"currencyiso3a":"GBP","requesttypedescription":"ACCOUNTCHECK","sitereference":"test_site12345","baseamount":"0","orderreference":"My_Order_123","accounttypedescription":"ECOM","pan":"4111111111111111","expirydate":"12\/2020","securitycode":"123","billingpremise":"789","billingpostcode":"TE45 6ST"}]}
<?xml version='1.0' encoding='utf-8'?>
<requestblock version="3.67">
  <alias>[email protected]</alias>
  <request type="ACCOUNTCHECK">
    <merchant>
      <orderreference>My_Order_123</orderreference>
    </merchant>
    <billing>
      <amount currencycode="GBP">0</amount>
      <postcode>TE45 6ST</postcode>
      <premise>789</premise>
      <payment>
        <pan>4111111111111111</pan>
        <securitycode>123</securitycode>
        <expirydate>12/2020</expirydate>
      </payment>
    </billing>
    <operation>
      <accounttypedescription>ECOM</accounttypedescription>
      <sitereference>test_site12345</sitereference>
    </operation>
  </request>
</requestblock>

 

 

AUTH

Request AUTH
Performs a payment, which debits funds from the customer’s account.
Learn more

#!/usr/bin/python
import securetrading

stconfig = securetrading.Config()
stconfig.username = "[email protected]"
stconfig.password = "Password1^"
st = securetrading.Api(stconfig)

auth = {
  "sitereference": "test_site12345",
  "requesttypedescription": "AUTH",
  "accounttypedescription": "ECOM",
  "currencyiso3a": "GBP",
  "baseamount": "1050",
  "orderreference": "My_Order_123",
  "pan": "4111111111111111",
  "expirydate": "12/2022",
  "securitycode": "123"
}

strequest = securetrading.Request()
strequest.update(auth)
stresponse = st.process(strequest) #stresponse contains the transaction response
<?php

if (!($autoload = realpath(__DIR__ . '/../../../autoload.php')) && !($autoload = realpath(__DIR__ . '/../vendor/autoload.php'))) {
  throw new Exception('Composer autoloader file could not be found.');
}
require_once($autoload);

$configData = array(
  'username' => '[email protected]',
  'password' => 'Password1^',
);

$requestData = array(
  'sitereference' => 'test_site12345', 
  'requesttypedescription' => 'AUTH',
  'accounttypedescription' => 'ECOM',
  'currencyiso3a' => 'GBP',
  'baseamount' => '1050',
  'orderreference' => 'My_Order_123',
  'pan' => '4111111111111111',
  'expirydate' => '12/2022',
  'securitycode' => '123'
);

$api = \Securetrading\api($configData);
$response = $api->process($requestData);
var_dump($response->toArray());

?>
curl --user [email protected]:Password1^ https://webservices.securetrading.net/json/ -H "Content-type: application/json" -H "Accept: application/json" -X POST -d '{
"alias":"[email protected]",
"version": "1.00",
"request": [{
  "currencyiso3a": "GBP",
  "requesttypedescription": "AUTH",
  "sitereference": "test_site12345",
  "baseamount": "1050",
  "orderreference": "My_Order_123",
  "accounttypedescription": "ECOM",
  "pan": "4111111111111111",
  "expirydate": "12/2022",
  "securitycode": "123"
}]}'
{"alias":"[email protected]","version":"1.00","request":[{"currencyiso3a":"GBP","requesttypedescription":"AUTH","sitereference":"test_site12345","baseamount":"1050","orderreference":"My_Order_123","accounttypedescription":"ECOM","pan":"4111111111111111","expirydate":"12\/2020","securitycode":"123"}]}
<requestblock version="3.67">
  <alias>[email protected]</alias>
  <request type="AUTH">
    <merchant>
      <orderreference>My_Order_123</orderreference>
    </merchant>
    <billing>
      <payment>
        <expirydate>12/2020</expirydate>
        <pan>4111111111111111</pan>
        <securitycode>123</securitycode>
      </payment>
      <amount currencycode="GBP">1050</amount>
    </billing>
    <operation>
      <sitereference>test_site12345</sitereference>
      <accounttypedescription>ECOM</accounttypedescription>
    </operation>
  </request>
</requestblock>

 

 

CURRENCYRATE

Request CURRENCYRATE
For calculating the transaction amounts in both the currency associated with your site and the local currency associated with the customer’s card. This is to facilitate offering your customers the ability to complete purchases in their preferred currency.

Learn more


#!/usr/bin/python
import securetrading

stconfig = securetrading.Config()
stconfig.username = "[email protected]"
stconfig.password = "Password1^"
st = securetrading.Api(stconfig)

currencyrate = {
  "sitereference": "test_site12345",
  "requesttypedescription": "CURRENCYRATE",
  "accounttypedescription": "CURRENCYRATE",
  "dcctype": "DCC",
  "dccbaseamount": "1050",
  "dcccurrencyiso3a": "GBP",
  "orderreference": "My_Order_123",
  "pan": "4111111111111111",
  "expirydate": "12/2022",
  "securitycode": "123"
}

strequest = securetrading.Request()
strequest.update(currencyrate)
stresponse = st.process(strequest) #stresponse contains the transaction response
<?php

if (!($autoload = realpath(__DIR__ . '/../../../autoload.php')) && !($autoload = realpath(__DIR__ . '/../vendor/autoload.php'))) {
  throw new Exception('Composer autoloader file could not be found.');
}
require_once($autoload);

$configData = array(
  'username' => '[email protected]',
  'password' => 'Password1^',
);

$requestData = array(
  'sitereference' => 'test_site12345', 
  'requesttypedescription' => 'CURRENCYRATE',
  'accounttypedescription' => 'CURRENCYRATE',
  'dcctype' => 'DCC',
  'dccbaseamount' => '1050',
  'dcccurrencyiso3a' => 'GBP',
  'orderreference' => 'My_Order_123',
  'pan' => '4111111111111111',
  'expirydate' => '12/2022',
  'securitycode' => '123'
);

$api = \Securetrading\api($configData);
$response = $api->process($requestData);
var_dump($response->toArray());

?>
curl --user [email protected]:Password1^ https://webservices.securetrading.net/json/ -H "Content-type: application/json" -H "Accept: application/json" -X POST -d '{
"alias":"[email protected]",
"version": "1.00",
"request": [{
  "sitereference": "test_site12345",
  "requesttypedescription": "CURRENCYRATE",
  "accounttypedescription": "CURRENCYRATE",
  "dcctype": "DCC",
  "dccbaseamount": "1050",
  "dcccurrencyiso3a": "GBP",
  "orderreference": "My_Order_123",
  "pan": "4111111111111111",
  "expirydate": "12/2022",
  "securitycode": "123"
}]}'
{"alias":"[email protected]","version":"1.00","request":[{"sitereference":"test_site12345","requesttypedescription":"CURRENCYRATE","accounttypedescription":"CURRENCYRATE","dcctype":"DCC","dccbaseamount":"1050","dcccurrencyiso3a":"GBP","orderreference":"My_Order_123","pan":"4111111111111111","expirydate":"12\/2020","securitycode":"123"}]}
<?xml version='1.0' encoding='utf-8'?>
<requestblock version="3.67">
  <alias>[email protected]</alias>
  <request type="CURRENCYRATE">
    <operation>
      <sitereference>test_site12345</sitereference>
      <accounttypedescription>CURRENCYRATE</accounttypedescription>
    </operation>
    <merchant>
      <orderreference>My_Order_123</orderreference>
    </merchant>
    <billing>
      <dcc type="DCC">
        <amount currencycode="GBP">1050</amount>
      </dcc>
      <payment>
	  <pan>4111111111111111</pan>
	  <expirydate>12/2020</expirydate>
	  <securitycode>123</securitycode>
	</payment>
    </billing>
  </request>
</requestblock>

 

 

ORDER

APM
Initiate a new payment with PayPal.
Learn more about PayPal

#!/usr/bin/python
import securetrading

stconfig = securetrading.Config()
stconfig.username = "[email protected]"
stconfig.password = "Password1^"
st = securetrading.Api(stconfig)

order = {
    "currencyiso3a": "GBP",
    "requesttypedescription": "ORDER",
    "accounttypedescription": "ECOM",
    "sitereference": "test_site12345",
    "baseamount": "2001",
    "paymenttypedescription": "PAYPAL",
    "returnurl": "https://yourwebsite.com",
    "cancelurl": "https://yourwebsite.com",
    "paypallocale": "GB",
    "paypaladdressoverride": "1",
    "paypalemail": "[email protected]"
}

strequest = securetrading.Request()
strequest.update(order)
stresponse = st.process(strequest) #stresponse contains the transaction response
<?php

if (!($autoload = realpath(__DIR__ . '/../../../autoload.php')) && !($autoload = realpath(__DIR__ . '/../vendor/autoload.php'))) {
  throw new Exception('Composer autoloader file could not be found.');
}
require_once($autoload);

$configData = array(
    'username' => '[email protected]',
    'password' => 'Password1^'
);

$requestData = array(
    'currencyiso3a' => 'GBP',
    'requesttypedescription' => 'ORDER',
    'accounttypedescription' => 'ECOM',
    'sitereference' => 'test_site12345',
    'baseamount' => '2001',
    'paymenttypedescription' => 'PAYPAL',
    'returnurl' => 'https://yourwebsite.com',
    'cancelurl' => 'https://yourwebsite.com',
    'paypallocale' => 'GB',
    'paypaladdressoverride' => '1',
    'paypalemail' => '[email protected]'
);

$api = \Securetrading\api($configData);
$response = $api->process($requestData);
var_dump($response->toArray());

?>
curl --user [email protected]:Password1^ https://webservices.securetrading.net/json/ -H "Content-type: application/json" -H "Accept: application/json" -X POST -d '{
"alias": "[email protected]",
"version": "1.00",
"request": [{
    "currencyiso3a": "GBP",
    "requesttypedescription": "ORDER",
    "accounttypedescription": "ECOM",
    "sitereference": "test_site12345",
    "baseamount": "2001",
    "paymenttypedescription": "PAYPAL",
    "returnurl": "https://yourwebsite.com",
    "cancelurl": "https://yourwebsite.com",
    "paypallocale": "GB",
    "paypaladdressoverride": "1",
    "paypalemail": "[email protected]"
}]}'
{"alias":"[email protected]","version":"1.00","request":[{"currencyiso3a":"GBP","requesttypedescription":"ORDER","accounttypedescription":"ECOM","sitereference":"test_site12345","baseamount":"2001","paymenttypedescription":"PAYPAL","returnurl":"https:\/\/yourwebsite.com","cancelurl":"https:\/\/yourwebsite.com","paypallocale":"GB","paypaladdressoverride":"1","paypalemail":"[email protected]"}]}
<?xml version='1.0' encoding='utf-8'?>
<requestblock version="3.67">
  <alias>[email protected]</alias>
  <request type="ORDER">
    <merchant>
      <returnurl>https://www.example.com/return</returnurl>
      <cancelurl>https://www.example.com/cancel</cancelurl>
    </merchant>
    <billing>
      <amount currencycode="GBP">2001</amount>
      <payment type="PAYPAL">
        <locale>GB</locale>
        <paypaladdressoverride>1</paypaladdressoverride>
        <paypalemail>[email protected]</paypalemail>
      </payment>
    </billing>
    <operation>
      <sitereference>test_site12345</sitereference>
      <accounttypedescription>ECOM</accounttypedescription>
    </operation>
  </request>
</requestblock>

 

 

ORDERDETAILS

APM
Retrieve the order details from PayPal, after the customer has signed in to their account and agreed to the payment on PayPal’s servers.
Learn more about PayPal

#!/usr/bin/python
import securetrading

stconfig = securetrading.Config()
stconfig.username = "[email protected]"
stconfig.password = "Password1^"
st = securetrading.Api(stconfig)

orderdetails = {
    "requesttypedescription": "ORDERDETAILS",
    "sitereference": "test_site12345",
    "parenttransactionreference": "72-32-20002"
}

strequest = securetrading.Request()
strequest.update(orderdetails)
stresponse = st.process(strequest) #stresponse contains the transaction response
<?php
 
if (!($autoload = realpath(__DIR__ . '/../../../autoload.php')) && !($autoload = realpath(__DIR__ . '/../vendor/autoload.php'))) {
  throw new Exception('Composer autoloader file could not be found.');
}
require_once($autoload);

$configData = array(
	'username' => '[email protected]',
	'password' => 'Password1^'
	);
	
$requestData = array(
                'requesttypedescription' => 'ORDERDETAILS',
                'sitereference' => 'test_site12345',
                'parenttransactionreference' => '72-32-20002'
);

$api = \Securetrading\api($configData);
$response = $api->process($requestData);
var_dump($response->toArray());

?>
curl --user [email protected]:Password1^ https://webservices.securetrading.net/json/ -H "Content-type: application/json" -H "Accept: application/json" -X POST -d '{
	"alias": "[email protected]",
	"version": "1.00",
	"request": [{
                "requesttypedescription": "ORDERDETAILS",
                "sitereference": "test_site12345",
                "parenttransactionreference": "72-32-20002"
		}]
}'
{"alias":"[email protected]","version":"1.00","request":[{"requesttypedescription":"ORDERDETAILS","sitereference":"test_site12345","parenttransactionreference":"72-32-20002"}]}
<?xml version="1.0" encoding="utf-8"?>
<requestblock version="3.67">
<alias>[email protected]</alias>
 <request type="ORDERDETAILS">
  <operation>
      <sitereference>test_site12345</sitereference>
      <parenttransactionreference>72-32-20002</parenttransactionreference>
  </operation>
 </request>
</requestblock>

 

 

REFUND

Request REFUND
For transferring funds back to the customer.
Learn more about standard refunds / Learn more about payouts

#!/usr/bin/python
import securetrading
  
stconfig = securetrading.Config()
stconfig.username = "[email protected]"
stconfig.password = "Password1^"
st = securetrading.Api(stconfig)
  
refund= {
  "requesttypedescription": "REFUND",
  "sitereference": "test_site12345",
  "parenttransactionreference": "1-2-345678"
}
  
strequest = securetrading.Request()
strequest.update(refund)
stresponse = st.process(strequest) #stresponse contains the transaction response
<?php

if (!($autoload = realpath(__DIR__ . '/../../../autoload.php')) && !($autoload = realpath(__DIR__ . '/../vendor/autoload.php'))) {
  throw new Exception('Composer autoloader file could not be found.');
}
require_once($autoload);

$configData = array(
  'username' => '[email protected]',
  'password' => 'Password1^',
);

$requestData = array(
  'requesttypedescription' => 'REFUND',
  'sitereference' => 'test_site12345',
  'parenttransactionreference' => '1-2-345678'
);

$api = \Securetrading\api($configData);
$response = $api->process($requestData);
var_dump($response->toArray());

?>
curl --user [email protected]:Password1^ https://webservices.securetrading.net/json/ -H "Content-type: application/json" -H "Accept: application/json" -X POST -d '{
"alias": "[email protected]",
"version": "1.00",
"request": [{
  "requesttypedescription": "REFUND",
  "sitereference": "test_site12345",
  "parenttransactionreference": "1-2-345678"
}]}'
{"alias":"[email protected]","version":"1.00","request":[{"requesttypedescription":"REFUND","sitereference":"test_site12345","parenttransactionreference":"1-2-345678"}]}
<requestblock version="3.67">
  <alias>[email protected]</alias>
  <request type="REFUND">
    <operation>
      <sitereference>test_site12345</sitereference>
      <parenttransactionreference>1-2-345678</parenttransactionreference>
    </operation>
  </request>
</requestblock>

 

 

RISKDEC

Request RISKDEC
To process requests to Protect Plus, our sophisticated counter-fraud service. It makes use of the industry’s largest negative database to perform a comprehensive suite of fraud assessments, including identity checks against the UK electoral roll and BT databases.
Learn more

#!/usr/bin/python
import securetrading

stconfig = securetrading.Config()
stconfig.username = "[email protected]"
stconfig.password = "Password1^"
st = securetrading.Api(stconfig)

riskdec= {
    "sitereference": "test_site12345",
    "requesttypedescription": "RISKDEC",
    "accounttypedescription": "ECOM",
    "currencyiso3a": "GBP",
    "baseamount": "1011",
    "orderreference": "My_Order_123",
    "pan": "4111111111111111",
    "expirydate": "12/2020",
    "securitycode": "123"
}

strequest = securetrading.Request()
strequest.update(riskdec)
stresponse = st.process(strequest) #stresponse contains the transaction response
<?php

if (!($autoload = realpath(__DIR__ . '/../../../autoload.php')) && !($autoload = realpath(__DIR__ . '/../vendor/autoload.php'))) {
  throw new Exception('Composer autoloader file could not be found.');
}
require_once($autoload);

$configData = array(
'username' => '[email protected]',
'password' => 'Password1^',
);

$requestData = array(
  'sitereference' => 'test_site12345',
  'requesttypedescription' => 'RISKDEC',
  'accounttypedescription' => 'FRAUDCONTROL',
  'currencyiso3a' => 'GBP',
  'baseamount' => '1011',
  'orderreference' => 'My_Order_123',
  'pan' => '4111111111111111',
  'expirydate' => '12/2020',
  'securitycode' => '123'
);

$api = \Securetrading\api($configData);
$response = $api->process($requestData);
var_dump($response->toArray());

?>
curl --user [email protected]:Password1^ <DOMAIN>/json/ -H "Content-type: application/json" -H "Accept: application/json" -X POST -d '{
"alias": "[email protected]",
"version": "1.00",
"request": [{
  "currencyiso3a": "GBP",
  "requesttypedescription": "RISKDEC",
  "sitereference": "test_site12345",
  "baseamount": "1011",
  "orderreference": "My_Order_123",
  "accounttypedescription": "FRAUDCONTROL",
  "pan": "4111111111111111",
  "expirydate": "12/2020",
  "securitycode": "123"
}]}'
{"alias":"[email protected]","version":"1.00","request":[{"currencyiso3a":"GBP","requesttypedescription":"RISKDEC","sitereference":"test_site12345","baseamount":"1011","orderreference":"My_Order_123","accounttypedescription":"FRAUDCONTROL","pan":"4111111111111111","expirydate":"12\/2020"}]}
<?xml version="1.0" encoding="utf-8"?>
<requestblock version="3.67">
  <alias>[email protected]</alias>
  <request type="RISKDEC">
    <merchant>
      <orderreference>My_Order_123</orderreference>
    </merchant>
    <billing>
      <amount currencycode="GBP">1011</amount>       
      <payment>
        <expirydate>12/2020</expirydate>
        <pan>4111111111111111</pan>
      </payment>
    </billing>
    <operation>
      <accounttypedescription>FRAUDCONTROL</accounttypedescription>
      <sitereference>test_site12345</sitereference>
    </operation>
  </request>
</requestblock>

 

Account types (Webservices API)

Info
Every request submitted to Trust Payments using the Webservices API must be assigned an accounttypedescription. We use the value of this field to determine the type of account required in order to process the request. Please refer to the table below for a summary of the account types that we support.

 

Overview

Account type Supported request types Description
CFT Cardholder Funds Transfer: CFT refunds (AKA “Payouts“) are used to credit funds onto the customer’s card without referencing a previous transaction.
CURRENCYRATE Currency rate: For retrieving the currency associated with the customer’s card, and calculating the amount in this currency.
ECOM E-commerce: For processing of payments through a website or online shop.
FRAUDCONTROL Fraud control: For processing requests to our Protect Plus system, for purposes of highlighting payments with suspicious characteristics.
MOTO Mail or Telephone Order: For processing payments from customers calling in on the phone, or posting their payment details to you.
RECUR Recurring: For processing recurring payments with same customer.

 

Toolbox


Screen

MyST

 

MyST is our secure account-management tool, providing you with quick access to your payment history.

 



Miscellaneous

 


 

Legacy documents

 

investors in people logo   pci - security standards council logo

TRUST Payments LTD, No.1 Royal Exchange, London, EC3V 3DG.
A company registered in England and Wales with Company Number 04591066. VAT Number 756265116