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.
Read this article to learn more.
All businesses within the EEA (European Economic Area) are mandated to use 3-D Secure when processing e-commerce transactions, as part of the PSD2 mandate.
Merchants that process e-commerce transactions MUST support 3DS authentication. Click here to learn more.
The following content should only be utilised by merchants processing Mail Order Telephone Order (MOTO) payments or other workflows that are exempt from the PSD2 mandate.
The PAN_ONLY authmethod described below requires 3DS authentication.
This document assumes you have configured a direct integration with Google Pay and have followed Google's guidance on how to consume the Google Pay payment token payload (link to external site) and are looking to use the TRU Connect gateway to process the payment.
About authentication methods
Each Google Pay transaction can be authenticated in two different ways:
- PAN_ONLY - A card stored on the customer's Google account.
- CRYPTOGRAM_3DS - A device token stored on an Android-powered device authenticated with a 3-D Secure cryptogram.
If your Google Pay integration is configured to support both PAN_ONLY and CRYPTOGRAM_3DS authentication methods, you will need to identify which of these two authentication methods were performed for each transaction. This is important because the authentication method returned by the Google Pay API dictates the next steps your system must perform in order to complete the payment.
To check the authentication method used for a given transaction, you will need to decrypt the encryptedMessage returned in the payment token from the Google Pay API. Specifically, you will need to look at the field paymentMethodDetails > authMethod and check whether the value is PAN_ONLY or CRYPTOGRAM_3DS.
If PAN_ONLY is returned in the authMethod, you must first authenticate the transaction with 3-D Secure. Providing the card is enrolled and successfully authenticated, you will be in possession of the fields listed below, which are required in the AUTH request:
Result data from 3-D Secure provider:
- cavv
- eci
- enrolled
- status
- threedversion
- threeddirectorytransactionreference
Fields must be submitted in AUTH if available.
Payment details from the Google Pay response:
-
pan
Mapped from:
encryptedMessage ≫ paymentMethodDetails ≫ pan -
expirydate
Mapped from:
encryptedMessage ≫ paymentMethodDetails ≫ expirationMonth/expirationYear -
walletdisplayname
Mapped from:
paymentMethodData ≫ info
If you intend to capture the customer's billing and delivery details from their Google Wallet, you will also need to parse the response from the Google API for these fields and map these to the appropriate fields in the subsequent AUTH request.
Before submitting the AUTH!
Unenrolled cards
If both your business and the cardholder’s bank are based within the European Economic Area (EEA) or the UK, your implementation must be compliant with the Revised Directive on Payment Services (PSD2).
PSD2 requires online card payments to be processed with 3-D Secure. If a card is not enrolled, the recommended approach would be to stop the transaction and offer the customer alternative means of payment.
If you have considered the legal implications covered above and are allowed to proceed, your system will need to construct and manually submit an AUTH request to complete the payment with an unenrolled card. Click here for the full specification.
Unauthenticated cards
We strongly recommend against proceeding with the transaction if the status is ‘N’ or ‘R’:
- If status is ‘N’, this indicates the customer was not authenticated.
- If status is ‘R’, this indicates the authentication was rejected.
AUTH Request example
#!/usr/bin/python
import securetrading
stconfig = securetrading.Config()
stconfig.username = "webservices@example.com"
stconfig.password = "Password1^"
st = securetrading.Api(stconfig)
auth = {
"accounttypedescription":"ECOM",
"baseamount":"2000",
"currencyiso3a":"GBP",
"expirydate":"07/2026",
"pan":"5100000000000511",
"requesttypedescriptions": ["AUTH"],
"sitereference": "test_site12345",
"cavv":"Q0FWVkNBVlZDQVZWQ0FWVkNBVlY=",
"eci":"05",
"enrolled":"Y",
"status":"Y",
"threedversion":"2.2.0",
"threeddirectorytransactionreference":"f00e1111-0011-00a6-ab00-a00000a00000",
"walletdisplayname":"MasterCard 0511",
"orderreference":"My_Order_123",
"walletsource":"GOOGLEPAY"
}
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' => 'webservices@example.com',
'password' => 'Password1^',
);
$requestData = array(
'baseamount' => '2000',
'currencyiso3a' => 'GBP',
'expirydate' => '07/2026',
'pan' => '5100000000000511',
'requesttypedescriptions' => ["AUTH"],
'sitereference' => 'test_site12345',
'cavv' => 'Q0FWVkNBVlZDQVZWQ0FWVkNBVlY=',
'eci' => '05',
'enrolled' => 'Y',
'status' => 'Y',
'threedversion' => '2.2.0',
'threeddirectorytransactionreference' => 'f00e1111-0011-00a6-ab00-a00000a00000',
'walletdisplayname' => 'MasterCard 0511',
'orderreference' => 'My_Order_123',
'walletsource' => 'GOOGLEPAY'
);
$api = \Securetrading\api($configData);
$response = $api->process($requestData);
var_dump($response->toArray());
?>
curl --user webservices@example.com:Password1^ <DOMAIN>/json/ -H "Content-type: application/json" -H "Accept: application/json" -X POST -d '{
"alias":"webservices@example.com",
"version": "1.00",
"request": [{
"accounttypedescription":"ECOM",
"baseamount":"2000",
"currencyiso3a":"GBP",
"expirydate":"07/2026",
"pan":"5100000000000511",
"requesttypedescriptions":["AUTH"],
"sitereference": "test_site12345",
"cavv":"Q0FWVkNBVlZDQVZWQ0FWVkNBVlY=",
"eci":"05",
"enrolled":"Y",
"status":"Y",
"threedversion":"2.2.0",
"threeddirectorytransactionreference":"f00e1111-0011-00a6-ab00-a00000a00000",
"walletdisplayname":"MasterCard 0511",
"orderreference":"My_Order_123",
"walletsource":"GOOGLEPAY"
}]
}'
{
"alias":"webservices@example.com",
"version":"1.00",
"request":[{
"accounttypedescription":"ECOM",
"baseamount":"2000",
"currencyiso3a":"GBP",
"expirydate":"07/2026",
"pan":"5100000000000511",
"requesttypedescriptions":["AUTH"],
"sitereference": "test_site12345",
"cavv":"Q0FWVkNBVlZDQVZWQ0FWVkNBVlY=",
"eci":"05",
"enrolled":"Y",
"status":"Y",
"threedversion":"2.2.0",
"threeddirectorytransactionreference":"f00e1111-0011-00a6-ab00-a00000a00000",
"walletdisplayname":"MasterCard 0511",
"orderreference":"My_Order_123",
"walletsource":"GOOGLEPAY"
}]
}
<requestblock version="3.67">
<alias>webservices@example.com</alias>
<request type="AUTH">
<billing>
<payment>
<expirydate>07/2026</expirydate>
<pan>5100000000000511</pan>
<wallet>
<displayname>MasterCard 0511</displayname>
<source>GOOGLEPAY</source>
</wallet>
</payment>
<amount currencycode="GBP">2000</amount>
</billing>
<merchant>
<orderreference>My_Order_123</orderreference>
</merchant>
<operation>
<sitereference>test_site12345</sitereference>
<accounttypedescription>ECOM</accounttypedescription>
</operation>
<threedsecure>
<cavv>Q0FWVkNBVlZDQVZWQ0FWVkNBVlY=</cavv>
<eci>05</eci>
<enrolled>Y</enrolled>
<status>Y</status>
<version>2.2.0</version>
<directorytransactionreference>f00e1111-0011-00a6-ab00-a00000a00000</directorytransactionreference>
</threedsecure>
</request>
</requestblock>
AUTH Request field specification
Field | Mapping to fields from Google paymentData | Format | Description | |
accounttypedescription XPath: /operation/accounttypedescription |
N/A | Alpha (20) | Submit “ECOM” to represent an e-commerce transaction. | |
baseamount XPath: /billing/amount |
N/A | Numeric (13) |
The amount of the transaction in base units, with no commas or decimal points, so £10 is submitted as 1000. This value must be greater than zero. |
|
currencyiso3a XPath: /billing/amount/@currencycode |
N/A | Alpha (3) | The currency of the transaction. Click here for a full list of available currencies. | |
enrolled XPath: /threedsecure/enrolled |
N/A | Char (1) |
Submit ‘Y’ to indicate that card is enrolled. |
|
expirydate XPath: /billing/payment/expirydate |
encryptedMessage ≫ paymentMethodDetails ≫ expirationMonth/expirationYear |
Date MM/YYYY |
The expiry date printed on the card. You will need to combine the expirationMonth and expirationYear fields returned from Google and submit this in the format "MM/YYYY" in the AUTH request. |
|
pan XPath: /billing/payment/pan |
encryptedMessage ≫ paymentMethodDetails ≫ pan |
Numeric (12-19) | This is the long number printed on the front of the customer’s card. | |
requesttypedescriptions XPath: /@type |
N/A | Alpha (20) |
Supported request type combinations:
|
|
sitereference XPath: /operation/sitereference |
N/A |
Alphanumeric & underscore (50) |
Identifies your site on the Trust Payments system. | |
status XPath: /threedsecure/status |
N/A | Char (1) |
Indicates whether or not the customer was authenticated on the card issuer’s ACS:
|
|
walletdisplayname XPath:/billing/payment/wallet/displayname |
paymentMethodData ≫ info |
Numeric (4) |
This is information provided by the card issuer that can be displayed to the customer in order to identify the payment method. This typically includes the last 4 digits of their card number. The info object contains two properties we require you to send in the walletdisplayname field. You should parse the cardNetwork & cardDetails property values and combine them together e.g. |
|
walletsource XPath: /billing/payment/wallet/source |
N/A | Alpha (8) | Must be submitted with value “GOOGLEPAY”. | |
billingfirstname XPath: /billing/name/first |
billingAddress ≫ name |
Alphanumeric including symbols (127) |
The customer’s billing first name. Required for gaming merchants. |
|
billinglastname XPath: /billing/name/last |
billingAddress ≫ name |
Alphanumeric including symbols (127) |
The customer’s billing last name. Required for gaming merchants. |
|
cavv XPath: /threedsecure/cavv |
N/A | Alphanumeric (56) |
The unique Cardholder Authentication Verification Value (CAVV) associated with the transaction. Always submit this value when it is available.
|
|
customerpostcode XPath: /customer/postcode |
shippingAddress ≫ postalCode | Alphanumeric (25) |
The customer's delivery postcode or ZIP code. This must be a valid postcode/ZIP code for the customercountryiso2a submitted. Required if Merchant Category Code (MCC) is 6012 and payment type is VISA. |
|
customerlastname XPath: /customer/name/last |
shippingAddress ≫ name |
Alphanumeric including symbols (127) |
The last name on the customer's delivery address. Required if Merchant Category Code (MCC) is 6012 and payment type is VISA. |
|
eci XPath: /threedsecure/eci |
N/A | Alphanumeric (2) |
The ECI (E-Commerce Indicator) security level associated with the transaction. Always submit this value when it is available. |
|
threedversion XPath: /threedsecure/version |
N/A | Numeric (6) |
Version of 3-D Secure used to authenticate the payment. (e.g. “2.2.0”) Always submit this value when it is available.
|
|
threeddirectorytransactionreference XPath: /threedsecure/directorytransactionreference |
N/A | Alphanumeric (48) |
Unique DSTransactionId returned by your MPI provider. Always submit this value when it is available.
|
|
billingcountryiso2a XPath: /billing/country |
billingAddress ≫ countryCode | Alpha (2) |
The country on the customer's billing address. This will need to be in ISO2A format. |
|
billingemail XPath: /billing/email |
N/A | Email (255) | The customer’s billing email address. Maximum length of 255 (maximum of 64 characters before the ”@” symbol). | |
billingpostcode XPath: /billing/postcode |
billingAddress ≫ postalCode | Alphanumeric (25) |
The billing postcode or ZIP code. This must be a valid postcode/ZIP code for the billingcountryiso2a submitted. |
|
billingpremise XPath: /billing/premise |
billingAddress ≫ address1 |
Alphanumeric including symbols (25) |
The house name/number on the customer's billing address. | |
billingtelephone XPath: /billing/telephone |
billingAddress ≫ phoneNumber |
Alphanumeric including symbols (20) |
The customer’s billing telephone number. Valid characters:
|
|
billingtown XPath: /billing/town |
billingAddress ≫ locality |
Alphanumeric including symbols (127) |
The town entered for the customer’s billing address. | |
customercountryiso2a XPath: /customer/country |
shippingAddress ≫ countryCode | Alpha (2) |
The country on the customer's delivery address. This will need to be in ISO2A format. |
|
customeremail XPath: /customer/email |
N/A | Email (255) | The customer’s delivery email address. Maximum length of 255 (maximum of 64 characters before the ”@” symbol). | |
customerfirstname XPath: /customer/name/first |
shippingAddress ≫ name |
Alphanumeric including symbols (127) |
The first name on the customer's delivery address. |
|
customerpremise XPath: /customer/premise |
shippingAddress ≫ address1 |
Alphanumeric including symbols (25) |
The house name/number on the customer's delivery address. | |
customertelephone XPath: /customer/telephone |
shippingAddress ≫ phoneNumber |
Alphanumeric including symbols (20) |
The customer’s delivery telephone number. Valid characters:
|
|
customertown XPath: /customer/town |
shippingAddress ≫ locality |
Alphanumeric including symbols (127) |
The town on the customer's delivery address. | |
orderreference XPath: /merchant/orderreference |
N/A |
Alphanumeric including symbols (25) |
Your unique order reference that can be stored on the Trust Payments system. |
|
paymenttypedescription XPath: /billing/payment/@type |
N/A | Alpha (20) | Payment method (e.g. “VISA” or “MASTERCARD”). |
AUTH Response example
After submitting the AUTH request, you will be returned an AUTH response:
{
u 'requestreference': u 'A0bxh87wt',
u 'version': u '1.00',
u 'responses': [{
u 'accounttypedescription': u 'ECOM',
u 'acquirerresponsecode': u '00',
u 'authcode': u 'TEST09',
u 'authmethod': u 'FINAL',
u 'baseamount': u '2000',
u 'cavv': u 'Q0FWVkNBVlZDQVZWQ0FWVkNBVlY=',
u 'currencyiso3a': u 'GBP',
u 'customeroutput': u 'RESULT',
u 'debtrepayment': u '0',
u 'eci': u '05',
u 'enrolled': u 'Y',
u 'errorcode': u '0',
u 'errormessage': u 'Ok',
u 'issuercountryiso2a': u 'JP',
u 'livestatus': u '0',
u 'maskedpan': u '510000######0511',
u 'merchantcategorycode': u '1234',
u 'merchantcountryiso2a': u 'GB',
u 'merchantname': u 'Test Merchant',
u 'merchantnumber': u '00000000',
u 'orderreference': u 'My_Order_123',
u 'operatorname': u 'webservices@example.com',
u 'paymenttypedescription': u 'MASTERCARD',
u 'requesttypedescription': u 'AUTH',
u 'securityresponseaddress': u '0',
u 'securityresponsepostcode': u '0',
u 'securityresponsesecuritycode': u '0',
u 'settleduedate': u '2023-03-22',
u 'settlestatus': u '0',
u 'splitfinalnumber': u '1',
u 'status': u 'Y',
u 'threedversion': u '2.2.0',
u 'tid': u '27882788',
u 'transactionreference': u '36-9-286248',
u 'transactionstartedtimestamp': u '2023-03-22 09:34:31',
u 'walletdisplayname': u 'MasterCard 0511',
u 'walletsource': u 'GOOGLEPAY'
}]
}
array(3) {
["requestreference"] => string(9) "A3579dkvx"
["version"] => string(4) "1.00"
["responses"] => array(1) {
[0] => array(36) {
["accounttypedescription"] => string(4) "ECOM"
["acquirerresponsecode"] => string(2) "00"
["authcode"] => string(6) "TEST09"
["authmethod"] => string(4) "FINAL"
["baseamount"] => string(4) "2000"
["cavv"] => string(28) "Q0FWVkNBVlZDQVZWQ0FWVkNBVlY="
["currencyiso3a"] => string(3) "GBP"
["debtrepayment"] => string(1) "0"
["customeroutput"] => string(6) "RESULT"
["eci"] => string(2) "02"
["enrolled"] => string(1) "Y"
["errorcode"] => string(1) "0"
["errormessage"] => string(2) "Ok"
["issuercountryiso2a"] => string(2) "JP"
["livestatus"] => string(1) "0"
["maskedpan"] => string(16) "510000######0511"
["merchantcategorycode"] => string(4) "1234"
["merchantcountryiso2a"] => string(2) "GB"
["merchantname"] => string(13) "Test Merchant"
["merchantnumber"] => string(8) "00000000"
["operatorname"] => string(13) "webservices@example.com"
["orderreference"] => string(12) "My_Order_123"
["paymenttypedescription"] => string(10) "MASTERCARD"
["requesttypedescription"] => string(4) "AUTH"
["securityresponseaddress"] => string(1) "0"
["securityresponsepostcode"] => string(1) "0"
["securityresponsesecuritycode"] => string(1) "0"
["settleduedate"] => string(10) "2023-03-22"
["settlestatus"] => string(1) "0"
["splitfinalnumber"] => string(1) "1"
["status] => string(1) "Y"
["threedversion"] => string(5) "2.2.0"
["tid"] => string(8) "27882788"
["transactionreference"] => string(11) "36-9-286248"
["transactionstartedtimestamp"] => string(19) "2023-03-22 09:34:31"
["walletdisplayname"] => string(19) "MasterCard 0511"
["walletsource"] => string(8) "GOOGLEPAY"
}
}
}
{
"requestreference":"W23-fjgvn3d8",
"version":"1.00",
"response":[{
"accounttypedescription": "ECOM",
"acquirerresponsecode": "00",
"authcode": "5",
"authmethod": "FINAL",
"baseamount": "2000",
"cavv": "Q0FWVkNBVlZDQVZWQ0FWVkNBVlY=",
"currencyiso3a": "GBP",
"customeroutput": "RESULT",
"debtrepayment": "0",
"eci": "05",
"enrolled": "Y",
"errorcode": "0",
"errormessage": "Ok",
"issuercountryiso2a": "ZZ",
"livestatus": "1",
"maskedpan": "510000######0511",
"merchantcountryiso2a": "GB",
"merchantname": "Live Unittest Site <>&!_-=+@#:;,./?OK",
"merchantnumber": "98965325",
"operatorname": "webservices@merchant.com",
"orderreference": "My_Order_123",
"paymenttypedescription": "MASTERCARD",
"requesttypedescription": "AUTH",
"securityresponseaddress": "0",
"securityresponsepostcode": "0",
"securityresponsesecuritycode": "0",
"settleduedate": "2023-09-11",
"settlestatus": "0",
"status": "Y",
"threedversion": "2.2.0",
"tid": "27887756",
"transactionreference": "16-14-110",
"transactionstartedtimestamp": "2023-09-11 13:52:55",
"walletdisplayname": "MasterCard 0511",
"walletsource": "GOOGLEPAY"
}],
"secrand":"zO9"
}
<?xml version='1.0' encoding='utf-8'?>
<responseblock version="3.67">
<requestreference>Xpdpuy1q7</requestreference>
<response type="AUTH">
<acquirerresponsecode>00</acquirerresponsecode>
<authcode>11</authcode>
<billing>
<amount currencycode="GBP">2000</amount>
<payment type="MASTERCARD">
<issuercountry>ZZ</issuercountry>
<pan>510000######0511</pan>
<wallet>
<displayname>MasterCard 0511</displayname>
<source>GOOGLEPAY</source>
</wallet>
</payment>
</billing>
<error>
<code>0</code>
<message>Ok</message>
</error>
<live>1</live>
<merchant>
<debtrepayment>0</debtrepayment>
<merchantcountryiso2a>GB</merchantcountryiso2a>
<merchantname>Merchant123</merchantname>
<merchantnumber>98965325</merchantnumber>
<operatorname>Merchant</operatorname>
<orderreference>My_Order_123</orderreference>
<tid>27887756</tid>
</merchant>
<operation>
<accounttypedescription>ECOM</accounttypedescription>
<authmethod>FINAL</authmethod>
</operation>
<security>
<address>0</address>
<postcode>0</postcode>
<securitycode>0</securitycode>
</security>
<settlement>
<settleduedate>2023-09-12</settleduedate>
<settlestatus>0</settlestatus>
</settlement>
<threedsecure>
<cavv>Q0FWVkNBVlZDQVZWQ0FWVkNBVlY=</cavv>
<eci>05</eci>
<enrolled>Y</enrolled>
<status>Y</status>
<version>2.2.0</version>
</threedsecure>
<timestamp>2023-09-12 08:32:35</timestamp>
<transactionreference>16-14-116</transactionreference>
</response>
<secrand>dOtpy</secrand>
</responseblock>
AUTH Response field specification
Field | Format | Description | |
accounttypedescription XPath: /operation/accounttypedescription |
Alpha (20) | “ECOM” is returned in the response to represent an e-commerce transaction. | |
authmethod XPath: /operation/authmethod |
Alpha (11) |
The authmethod specifies how a transaction is to be processed by the card issuer. You should expect one of the following values to be returned to indicate the authmethod employed. Click the following links to learn more:
This field is returned if submitted in the request. |
|
baseamount XPath: /billing/amount |
Numeric (13) | The amount of the transaction in base units, with no commas or decimal points, so £10 is submitted as 1000. This value must be greater than zero. | |
currencyiso3a XPath: /billing/amount/@currencycode |
Alpha (3) |
The currency of the transaction. |
|
dccenabled XPath: /billing/dcc/@enabled |
Numeric (1) | Because Google Pay does not support DCC, "0" will be returned to indicate DCC is disabled for this transaction. | |
debtrepayment XPath: /merchant/debtrepayment |
Numeric (1) |
Indicates if transaction is flagged as debt repayment. Click here to learn more. |
|
eci XPath: /threedsecure/eci |
Alphanumeric (2) | The ECI (E-Commerce Indicator) security level associated with the transaction. Click here to learn more about possible ECI values. | |
errorcode XPath: /error/code |
Numeric (1-5) |
The error code should be used to determine if the request was successful or not.
|
|
errormessage XPath: /error/message |
Alphanumeric (255) |
This provides a brief explanation as to the cause of the error.
For successful transactions, this is returned as “Ok”. |
|
issuercountryiso2a XPath: /billing/payment/issuercountry |
Alpha (2) |
The country of the customer’s card issuer. |
|
livestatus XPath: /live |
Numeric (1) |
|
|
maskedpan XPath: /billing/payment/pan |
Alphanumeric including “#” (12-19) | The maskedpan field represents the customer’s card number. The value of maskedpan field is masked in the response. Most of the number is intentionally obscured by “#” characters, e.g. 411111######0211. | |
operatorname XPath: /merchant/operatorname |
Alphanumeric (255) | The value of this field contains the name of the user that processed the request. | |
paymenttypedescription XPath: /billing/payment/@type |
Alpha (20) | Payment method (e.g. “VISA” or “MASTERCARD”). | |
requesttypedescription XPath: /@type |
Alpha (20) | “AUTH” is returned in the response. | |
securityresponseaddress XPath: /security/address |
Numeric (1) | The result of AVS and Security Code Checks. | |
securityresponsepostcode XPath: /security/postcode |
Numeric (1) | ||
securityresponsesecuritycode XPath: /security/securitycode |
Numeric (1) | ||
settleduedate XPath: /settlement/settleduedate |
Date YYYY-MM-DD | The date on which the transaction will be settled. | |
settlestatus XPath: /settlement/settlestatus |
Numeric (3) |
A numeric value used to indicate the progress of settlement regarding this transaction. |
|
splitfinalnumber XPath: /operation/splitfinalnumber |
Numeric (2) | Because Google Pay does not support Split Shipment, "1" will be returned to indicate funds will be settled in one passing. | |
tid XPath: /merchant/tid |
Alphanumeric (255) | The terminal ID used to process the transaction. This is accredited to your merchant number when we setup your account in our systems. | |
transactionreference XPath: /transactionreference |
Alphanumeric including hyphens (25) |
A unique reference for the transaction assigned by Trust Payments. You will need this reference to perform a refund or update the transaction. | |
transactionstartedtimestamp XPath: /timestamp |
Date time YYYY-MM-DD hh:mm:ss | The time the transaction was processed. | |
walletdisplayname XPath: /billing/payment/wallet/displayname |
Alphanumeric (255) | The card type used by the customer and the last four digits of their card number (e.g. “Visa 1111”). | |
walletsource XPath: /billing/payment/wallet/source |
Alphanumeric (20) | Used to identify the type of wallet used for this payment (in this case “GOOGLEPAY”). | |
acquirerresponsecode XPath: /acquirerresponsecode |
Alphanumeric (255) |
Used by your acquirer to indicate the outcome of the request. This will vary depending on your acquiring bank. Please contact your bank for further information. |
|
authcode XPath: /authcode |
Alphanumeric (255) |
The authorisation code provided by the issuing bank. This will differ depending on which bank you use. Only returned if the transaction is authorised. |
|
errordata XPath: /error/data |
Alphanumeric (255) |
Additional information to help troubleshoot the error. Only returned if there has been an error. |
|
merchantcategorycode XPath: /merchant/merchantcategorycode |
Alphanumeric (255) |
These are details associated with the account used to process the transaction. To amend these fields, please contact our Support Team. Values returned depend on your account configuration. |
|
merchantcity XPath: /merchant/merchantcity |
Alphanumeric (127) | ||
merchantcountryiso2a XPath: /merchant/merchantcountryiso2a |
Alpha (2) | ||
merchantname XPath: /merchant/merchantname |
Alphanumeric (255) | ||
merchantstatecode XPath: /merchant/merchantstatecode |
Alphanumeric (127) | ||
merchantzipcode XPath: /merchant/merchantzipcode |
Alphanumeric (10) | ||
orderreference XPath: /merchant/orderreference |
Alphanumeric including symbols (25) |
Your unique order reference that can be stored on the Trust Payments system. This field is returned if submitted in the request. |
If CRYPTOGRAM_3DS is returned in the authMethod, you don't need to perform 3-D secure authentication.
3-D Secure authentication is not required for the CRYPTOGRAM_3DS authentication method because the authentication process is already handled by Google on behalf of the card issuer using the credentials stored on the customer's Android device. This is compliant with the requirements set out by the Strong Customer Authentication (SCA) mandate.
Following the response from Google Pay, you should be in possession of the fields listed below, which are required in the AUTH request:
Payment details from the Google Pay response:
-
pan
Mapped from:
encryptedMessage ≫ paymentMethodDetails ≫ pan -
expirydate
Mapped from:
encryptedMessage ≫ paymentMethodDetails ≫ expirationMonth/expirationYear -
walletdisplayname
Mapped from:
paymentMethodData ≫ info -
tavv
Mapped from:
encryptedMessage ≫ paymentMethodDetails ≫ cryptogram -
eci
Mapped from:
encryptedMessage ≫ paymentMethodDetails ≫ eciIndicator
If you intend to capture the customer's billing and delivery details from their Google Wallet, you will also need to parse the response from the Google API for these fields and map these to the appropriate fields in the subsequent AUTH request.
AUTH Request example
#!/usr/bin/python
import securetrading
stconfig = securetrading.Config()
stconfig.username = "webservices@example.com"
stconfig.password = "Password1^"
st = securetrading.Api(stconfig)
auth = {
"accounttypedescription":"ECOM",
"baseamount":"2000",
"currencyiso3a":"GBP",
"eci":"2",
"expirydate":"07/2026",
"pan":"5100000000000511",
"requesttypedescriptions": ["AUTH"],
"sitereference":"test_site12345",
"tavv":"ALFoEd4DhmGzAIj3dUo4AoABFA==",
"tokenisedpayment":"1",
"tokentype":"GOOGLEPAY",
"walletdisplayname":"MasterCard 0511",
"walletsource":"GOOGLEPAY"
}
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' => 'webservices@example.com',
'password' => 'Password1^',
);
$requestData = array(
'accounttypedescription' => 'ECOM',
'baseamount' => '2000',
'currencyiso3a' => 'GBP',
'eci' => '2',
'expirydate' => '07/2026',
'orderreference' => 'My_Order_123',
'pan' => '5100000000000511',
'requesttypedescriptions' => array('AUTH'),
'sitereference' => 'test_site12345',
'tavv' => 'ALFoEd4DhmGzAIj3dUo4AoABFA==',
'tokenisedpayment' => '1',
'tokentype' => 'GOOGLEPAY',
'walletdisplayname' => 'MasterCard 0511',
'walletsource' => 'GOOGLEPAY'
);
$api = \Securetrading\api($configData);
$response = $api->process($requestData);
var_dump($response->toArray());
?>
curl --user webservices@example.com:Password1^ <DOMAIN>/json/ -H "Content-type: application/json" -H "Accept: application/json" -X POST -d '{
"alias":"webservices@example.com",
"version": "1.00",
"request": [{
"accounttypedescription":"ECOM",
"baseamount":"2000",
"currencyiso3a":"GBP",
"eci":"2",
"expirydate":"07/2026",
"orderreference": "My_Order_123",
"pan":"5100000000000511",
"requesttypedescriptions": ["AUTH"],
"sitereference": "test_site12345",
"tavv":"ALFoEd4DhmGzAIj3dUo4AoABFA==",
"tokenisedpayment":"1",
"tokentype":"GOOGLEPAY",
"walletdisplayname":"MasterCard 0511",
"walletsource":"GOOGLEPAY"
}]
}'
{
"alias":"webservices@example.com",
"version":"1.00",
"request":[{
"accounttypedescription":"ECOM",
"baseamount":"2000",
"currencyiso3a":"GBP",
"eci":"2",
"expirydate":"07/2026",
"orderreference": "My_Order_123",
"pan":"5100000000000511",
"requesttypedescriptions": ["AUTH"],
"sitereference": "test_site12345",
"tavv":"ALFoEd4DhmGzAIj3dUo4AoABFA==",
"tokenisedpayment":"1",
"tokentype":"GOOGLEPAY",
"walletdisplayname":"MasterCard 0511",
"walletsource":"GOOGLEPAY"
}]
}
<requestblock version="3.67">
<alias>webservices@example.com</alias>
<request type="AUTH">
<billing>
<payment>
<expirydate>07/2026</expirydate>
<pan tokenised="1" tokentype="GOOGLEPAY">5100000000000511</pan>
<wallet>
<displayname>MasterCard 0511</displayname>
<source>GOOGLEPAY</source>
</wallet>
</payment>
<amount currencycode="GBP">2000</amount>
</billing>
<merchant>
<orderreference>My_Order_123</orderreference>
</merchant>
<operation>
<sitereference>test_site12345</sitereference>
<accounttypedescription>ECOM</accounttypedescription>
</operation>
<threedsecure>
<eci>2</eci>
<tavv>ALFoEd4DhmGzAIj3dUo4AoABFA==</tavv>
</threedsecure>
</request>
</requestblock>
AUTH Request field specification
Field | Mapping to fields from Google paymentData | Format | Description | |
accounttypedescription XPath: /operation/accounttypedescription |
N/A | Alpha (20) | Submit “ECOM” to represent an e-commerce transaction. | |
baseamount XPath: /billing/amount |
N/A | Numeric (13) |
The amount of the transaction in base units, with no commas or decimal points, so £10 is submitted as 1000. This value must be greater than zero. |
|
currencyiso3a XPath: /billing/amount/@currencycode |
N/A | Alpha (3) | The currency of the transaction. Click here for a full list of available currencies. | |
eci XPath: /threedsecure/eci |
encryptedMessage ≫ paymentMethodDetails ≫ eciIndicator | Alphanumeric (2) | The ECI (E-Commerce Indicator) security level associated with the transaction. Click here to learn more about possible ECI values. | |
expirydate XPath: /billing/payment/expirydate |
encryptedMessage ≫ paymentMethodDetails ≫ expirationMonth/expirationYear | Date MM/YYYY |
You will need to combine the expirationMonth and expirationYear fields returned from Google and submit this in the format "MM/YYYY" in the AUTH request. |
|
pan XPath: /billing/payment/pan |
encryptedMessage ≫ paymentMethodDetails ≫ pan | Numeric (12-19) | This is the long number printed on the front of the customer’s card. | |
requesttypedescriptions XPath: /@type |
N/A | Alpha (20) |
Supported request type combinations:
|
|
sitereference XPath: /operation/sitereference |
N/A |
Alphanumeric & underscore (50) |
Identifies your site on the Trust Payments system. | |
tavv XPath: /threedsecure/tavv |
encryptedMessage ≫ paymentMethodDetails ≫ cryptogram | Alphanumeric & special characters (32) | Token Authentication Verification Value | |
tokenisedpayment XPath: /billing/payment/pan/@tokenised |
N/A | Numeric (1) | Submit with a value of “1” to indicate the transaction is being processed using a token. | |
tokentype XPath: /billing/payment/pan/@tokentype |
N/A | Alpha (50) | Must be submitted with value “GOOGLEPAY”. | |
walletdisplayname XPath:/billing/payment/wallet/displayname |
paymentMethodData ≫ info |
Numeric (4) |
This is information provided by the card issuer that can be displayed to the customer in order to identify the payment method. This typically includes the last 4 digits of their card number. The info object contains two properties we require you to send in the walletdisplayname field. You should parse the cardNetwork & cardDetails property values and combine them together e.g. |
|
walletsource XPath: /billing/payment/wallet/source |
N/A | Alpha (8) | Must be submitted with value “GOOGLEPAY”. | |
billingfirstname XPath: /billing/name/first |
billingAddress ≫ name |
Alphanumeric including symbols (127) |
The customer’s billing first name. Required for gaming merchants. |
|
billinglastname XPath: /billing/name/last |
billingAddress ≫ name |
Alphanumeric including symbols (127) |
The customer’s billing last name. Required for gaming merchants. |
|
customerpostcode XPath: /customer/postcode |
shippingAddress ≫ postalCode | Alphanumeric (25) |
The customer's delivery postcode or ZIP code. This must be a valid postcode/ZIP code for the customercountryiso2a submitted. Required if Merchant Category Code (MCC) is 6012 and payment type is VISA. |
|
customerlastname XPath: /customer/name/last |
shippingAddress ≫ name |
Alphanumeric including symbols (127) |
The last name on the customer's delivery address. Required if Merchant Category Code (MCC) is 6012 and payment type is VISA. |
|
billingcountryiso2a XPath: /billing/country |
billingAddress ≫ countryCode | Alpha (2) |
The country on the customer's billing address. This will need to be in ISO2A format. |
|
billingemail XPath: /billing/email |
N/A | Email (255) | The customer’s billing email address. Maximum length of 255 (maximum of 64 characters before the ”@” symbol). | |
billingpostcode XPath: /billing/postcode |
billingAddress ≫ postalCode | Alphanumeric (25) |
The billing postcode or ZIP code. This must be a valid postcode/ZIP code for the billingcountryiso2a submitted. |
|
billingpremise XPath: /billing/premise |
billingAddress ≫ address1 |
Alphanumeric including symbols (25) |
The house name/number on the customer's billing address. | |
billingtelephone XPath: /billing/telephone |
billingAddress ≫ phoneNumber |
Alphanumeric including symbols (20) |
The customer’s billing telephone number. Valid characters:
|
|
billingtown XPath: /billing/town |
billingAddress ≫ locality |
Alphanumeric including symbols (127) |
The town entered for the customer’s billing address. | |
customercountryiso2a XPath: /customer/country |
shippingAddress ≫ countryCode | Alpha (2) |
The country on the customer's delivery address. This will need to be in ISO2A format. |
|
customeremail XPath: /customer/email |
shippingAddress ≫ emailAddress | Email (255) | The customer’s delivery email address. Maximum length of 255 (maximum of 64 characters before the ”@” symbol). | |
customerfirstname XPath: /customer/name/first |
shippingAddress ≫ name |
Alphanumeric including symbols (127) |
The first name on the customer's delivery address. |
|
customerpremise XPath: /customer/premise |
shippingAddress ≫ addressLines |
Alphanumeric including symbols (25) |
The house name/number on the customer's delivery address. | |
customertelephone XPath: /customer/telephone |
shippingAddress ≫ phoneNumber |
Alphanumeric including symbols (20) |
The customer’s delivery telephone number. Valid characters:
|
|
customertown XPath: /customer/town |
shippingAddress ≫ locality |
Alphanumeric including symbols (127) |
The town on the customer's delivery address. | |
orderreference XPath: /merchant/orderreference |
N/A |
Alphanumeric including symbols (25) |
Your unique order reference that can be stored on the Trust Payments system. |
|
paymenttypedescription XPath: /billing/payment/@type |
N/A | Alpha (20) | Payment method (e.g. “VISA” or “MASTERCARD”). |
AUTH Response example
After submitting the AUTH request, you will be returned an AUTH response:
{
u 'requestreference': u 'A0bxh87wt',
u 'version': u '1.00',
u 'responses': [{
u 'accounttypedescription': u 'ECOM',
u 'acquirerresponsecode': u '00',
u 'authcode': u 'TEST09',
u 'authmethod': u 'FINAL',
u 'baseamount': u '2000',
u 'currencyiso3a': u 'GBP',
u 'dccenabled': u '0',
u 'debtrepayment': u '0',
u 'eci': u '02',
u 'errorcode': u '0',
u 'errormessage': u 'Ok',
u 'issuercountryiso2a': u 'JP',
u 'livestatus': u '0',
u 'maskedpan': u '510000######0511',
u 'merchantcategorycode': u '1234',
u 'merchantcountryiso2a': u 'GB',
u 'merchantname': u 'Test Merchant',
u 'merchantnumber': u '00000000',
u 'orderreference': u 'My_Order_123',
u 'operatorname': u 'webservices@example.com',
u 'paymenttypedescription': u 'MASTERCARD',
u 'requesttypedescription': u 'AUTH',
u 'securityresponseaddress': u '0',
u 'securityresponsepostcode': u '0',
u 'securityresponsesecuritycode': u '0',
u 'settleduedate': u '2023-03-22',
u 'settlestatus': u '0',
u 'splitfinalnumber': u '1',
u 'tavv': u 'ALFoEd4DhmGzAIj3dUo4AoABFA==',
u 'tid': u '27882788',
u 'tokenisedpayment': u '1',
u 'tokentype': u 'GOOGLEPAY',
u 'transactionreference': u '36-9-286248',
u 'transactionstartedtimestamp': u '2023-03-22 09:34:31',
u 'walletdisplayname': u 'MasterCard 0511',
u 'walletsource': u 'GOOGLEPAY'
}]
}
array(3) {
["requestreference"] => string(9) "A3579dkvx"
["version"] => string(4) "1.00"
["responses"] => array(1) {
[0] => array(36) {
["accounttypedescription"] => string(4) "ECOM"
["acquirerresponsecode"] => string(2) "00"
["authcode"] => string(6) "TEST09"
["authmethod"] => string(4) "FINAL"
["baseamount"] => string(4) "2000"
["currencyiso3a"] => string(3) "GBP"
["dccenabled"] => string(1) "0"
["debtrepayment"] => string(1) "0"
["eci"] => string(2) "02"
["errorcode"] => string(1) "0"
["errormessage"] => string(2) "Ok"
["issuercountryiso2a"] => string(2) "JP"
["livestatus"] => string(1) "0"
["maskedpan"] => string(16) "510000######0511"
["merchantcategorycode"] => string(4) "1234"
["merchantcountryiso2a"] => string(2) "GB"
["merchantname"] => string(13) "Test Merchant"
["merchantnumber"] => string(8) "00000000"
["operatorname"] => string(13) "webservices@example.com"
["orderreference"] => string(12) "My_Order_123"
["paymenttypedescription"] => string(10) "MASTERCARD"
["requesttypedescription"] => string(4) "AUTH"
["securityresponseaddress"] => string(1) "0"
["securityresponsepostcode"] => string(1) "0"
["securityresponsesecuritycode"] => string(1) "0"
["settleduedate"] => string(10) "2023-03-22"
["settlestatus"] => string(1) "0"
["splitfinalnumber"] => string(1) "1"
["tavv"] => string(28) "ALFoEd4DhmGzAIj3dUo4AoABFA=="
["tid"] => string(8) "27882788"
["tokenisedpayment"] => string(1) "1"
["tokentype"] => string(9) "GOOGLEPAY"
["transactionreference"] => string(11) "36-9-286248"
["transactionstartedtimestamp"] => string(19) "2023-03-22 09:34:31"
["walletdisplayname"] => string(19) "MasterCard 0511"
["walletsource"] => string(8) "GOOGLEPAY"
}
}
}
{
"requestreference":"W23-fjgvn3d8",
"version":"1.00",
"response":[{
"accounttypedescription": "ECOM",
"acquirerresponsecode": "00",
"authcode": "TEST09",
"authmethod": "FINAL",
"baseamount": "2000",
"currencyiso3a": "GBP",
"dccenabled": "0",
"debtrepayment": "0",
"eci": "02",
"errorcode": "0",
"errormessage": "Ok",
"issuercountryiso2a": "JP",
"livestatus": "0",
"maskedpan": "510000######0511",
"merchantcategorycode": "1234",
"orderreference": "My_Order_123",
"merchantcountryiso2a": "GB",
"merchantname": "Test Merchant",
"merchantnumber": "00000000",
"operatorname": "webservices@example.com",
"paymenttypedescription": "MASTERCARD",
"requesttypedescription": "AUTH",
"securityresponseaddress": "0",
"securityresponsepostcode": "0",
"securityresponsesecuritycode": "0",
"settleduedate": "2023-03-22",
"settlestatus": "0",
"splitfinalnumber": "1",
"tavv": "ALFoEd4DhmGzAIj3dUo4AoABFA==",
"tid": "27882788",
"tokenisedpayment": "1",
"tokentype": "GOOGLEPAY",
"transactionreference": "36-9-286248",
"transactionstartedtimestamp": "2023-03-22 09:34:31",
"walletdisplayname": "MasterCard 0511",
"walletsource": "GOOGLEPAY"
}],
"secrand":"zO9"
}
<responseblock version="3.67">
<requestreference>A3579dkvx</requestreference>
<response type="AUTH">
<acquirerresponsecode>00</acquirerresponsecode>
<authcode>TEST09</authcode>
<billing>
<amount currencycode="GBP">2000</amount>
<dcc enabled="0"/>
<payment type="MASTERCARD">
<issuercountry>JP</issuercountry>
<pan tokenised="1" tokentype="GOOGLEPAY">510000######0511</pan>
<wallet>
<displayname>MasterCard 0511</displayname>
<source>GOOGLEPAY</source>
</wallet>
</payment>
</billing>
<error>
<code>0</code>
<message>Ok</message>
</error>
<live>0</live>
<merchant>
<debtrepayment>0</debtrepayment>
<merchantcategorycode>1234</merchantcategorycode>
<merchantcountryiso2a>GB</merchantcountryiso2a>
<merchantname>Test Merchant</merchantname>
<merchantnumber>00000000</merchantnumber>
<operatorname>webservices@example.com</operatorname>
<orderreference>My_Order_123</orderreference>
<tid>27882788</tid>
</merchant>
<operation>
<accounttypedescription>ECOM</accounttypedescription>
<authmethod>FINAL</authmethod>
<splitfinalnumber>1</splitfinalnumber>
</operation>
<security>
<address>0</address>
<postcode>0</postcode>
<securitycode>0</securitycode>
</security>
<settlement>
<settleduedate>2023-03-22</settleduedate>
<settlestatus>0</settlestatus>
</settlement>
<threedsecure>
<eci>02</tavv>
<tavv>ALFoEd4DhmGzAIj3dUo4AoABFA==</tavv>
</threedsecure>
<timestamp>2023-03-22 09:34:31</timestamp>
<transactionreference>36-9-286248</transactionreference>
</response>
<secrand>hYWFMkiiAZ0wKHFZ</secrand>
</responseblock>
AUTH Response field specification
Field | Format | Description | |
accounttypedescription XPath: /operation/accounttypedescription |
Alpha (20) | “ECOM” is returned in the response to represent an e-commerce transaction. | |
authmethod XPath: /operation/authmethod |
Alpha (11) |
The authmethod specifies how a transaction is to be processed by the card issuer. You should expect one of the following values to be returned to indicate the authmethod employed. Click the following links to learn more:
This field is returned if submitted in the request. |
|
baseamount XPath: /billing/amount |
Numeric (13) | The amount of the transaction in base units, with no commas or decimal points, so £10 is submitted as 1000. This value must be greater than zero. | |
currencyiso3a XPath: /billing/amount/@currencycode |
Alpha (3) |
The currency of the transaction. |
|
dccenabled XPath: /billing/dcc/@enabled |
Numeric (1) | Because Google Pay does not support DCC, "0" will be returned to indicate DCC is disabled for this transaction. | |
debtrepayment XPath: /merchant/debtrepayment |
Numeric (1) |
Indicates if transaction is flagged as debt repayment. Click here to learn more. |
|
eci XPath: /threedsecure/eci |
Alphanumeric (2) | The ECI (E-Commerce Indicator) security level associated with the transaction. Click here to learn more about possible ECI values. | |
errorcode XPath: /error/code |
Numeric (1-5) |
The error code should be used to determine if the request was successful or not.
|
|
errormessage XPath: /error/message |
Alphanumeric (255) |
This provides a brief explanation as to the cause of the error.
For successful transactions, this is returned as “Ok”. |
|
issuercountryiso2a XPath: /billing/payment/issuercountry |
Alpha (2) |
The country of the customer’s card issuer. |
|
livestatus XPath: /live |
Numeric (1) |
|
|
maskedpan XPath: /billing/payment/pan |
Alphanumeric including “#” (12-19) | The maskedpan field represents the customer’s card number. The value of maskedpan field is masked in the response. Most of the number is intentionally obscured by “#” characters, e.g. 411111######0211. | |
operatorname XPath: /merchant/operatorname |
Alphanumeric (255) | The value of this field contains the name of the user that processed the request. | |
paymenttypedescription XPath: /billing/payment/@type |
Alpha (20) | Payment method (e.g. “VISA” or “MASTERCARD”). | |
requesttypedescription XPath: /@type |
Alpha (20) | “AUTH” is returned in the response. | |
securityresponseaddress XPath: /security/address |
Numeric (1) | The result of AVS and Security Code Checks. | |
securityresponsepostcode XPath: /security/postcode |
Numeric (1) | ||
securityresponsesecuritycode XPath: /security/securitycode |
Numeric (1) | ||
settleduedate XPath: /settlement/settleduedate |
Date YYYY-MM-DD | The date on which the transaction will be settled. | |
settlestatus XPath: /settlement/settlestatus |
Numeric (3) |
A numeric value used to indicate the progress of settlement regarding this transaction. |
|
splitfinalnumber XPath: /operation/splitfinalnumber |
Numeric (2) | Because Google Pay does not support Split Shipment, "1" will be returned to indicate funds will be settled in one passing. | |
tavv XPath: /threedsecure/tavv |
Alphanumeric & special characters (32) | Token Authentication Verification Value | |
tid XPath: /merchant/tid |
Alphanumeric (255) | The terminal ID used to process the transaction. This is accredited to your merchant number when we setup your account in our systems. | |
tokenisedpayment XPath: /billing/payment/pan/@tokenised |
Numeric (1) | Returned with a value of “1” to indicate the transaction was processed using a token. | |
tokentype XPath: /billing/payment/pan/@tokentype |
Alpha (50) | Returned with the value “GOOGLEPAY”, to indicate Google Pay was used. | |
transactionreference XPath: /transactionreference |
Alphanumeric including hyphens (25) |
A unique reference for the transaction assigned by Trust Payments. You will need this reference to perform a refund or update the transaction. | |
transactionstartedtimestamp XPath: /timestamp |
Date time YYYY-MM-DD hh:mm:ss | The time the transaction was processed. | |
walletdisplayname XPath: /billing/payment/wallet/displayname |
Alphanumeric (255) | The card type used by the customer and the last four digits of their card number (e.g. “Visa 1111”). | |
walletsource XPath: /billing/payment/wallet/source |
Alphanumeric (20) | Used to identify the type of wallet used for this payment (in this case “GOOGLEPAY”). | |
acquirerresponsecode XPath: /acquirerresponsecode |
Alphanumeric (255) |
Used by your acquirer to indicate the outcome of the request. This will vary depending on your acquiring bank. Please contact your bank for further information. |
|
authcode XPath: /authcode |
Alphanumeric (255) |
The authorisation code provided by the issuing bank. This will differ depending on which bank you use. Only returned if the transaction is authorised. |
|
errordata XPath: /error/data |
Alphanumeric (255) |
Additional information to help troubleshoot the error. Only returned if there has been an error. |
|
merchantcategorycode XPath: /merchant/merchantcategorycode |
Alphanumeric (255) |
These are details associated with the account used to process the transaction. To amend these fields, please contact our Support Team. Values returned depend on your account configuration. |
|
merchantcity XPath: /merchant/merchantcity |
Alphanumeric (127) | ||
merchantcountryiso2a XPath: /merchant/merchantcountryiso2a |
Alpha (2) | ||
merchantname XPath: /merchant/merchantname |
Alphanumeric (255) | ||
merchantstatecode XPath: /merchant/merchantstatecode |
Alphanumeric (127) | ||
merchantzipcode XPath: /merchant/merchantzipcode |
Alphanumeric (10) | ||
orderreference XPath: /merchant/orderreference |
Alphanumeric including symbols (25) |
Your unique order reference that can be stored on the Trust Payments system. This field is returned if submitted in the request. |