Enhanced Post allows you to customise the request types processed in each POST to the Payment Pages.
Process overview
List of request types
First, you will need to consider the request types enabled on your account.
By default, each POST sent to Trust Payments processes an authorisation request. You can achieve additional functionality by enabling any of the supported request types listed below:
(You can enable/disable request types by contacting our Support Team)
Priority | Request type | Description |
1 |
CURRENCYRATE |
For DCC:
A Currency Rate Request, to perform currency conversion between two different currencies. |
2 | RISKDEC |
For Protect Plus:
A Risk Decision Request, to check for suspicious activity relating to the transaction. |
3 | ACCOUNTCHECK |
For Account Check:
An Account Check Request, to check the values of the security code and AVS responses submitted by the customer. |
4 | ORDER |
For PayPal:
An Order Request, used to initiate a payment using PayPal. Required when offering PayPal as a payment option. |
5 | THREEDQUERY |
For 3-D Secure:
A 3-D Query Request, to perform 3-D Secure on the transaction, if the customer’s card is enrolled. Required for all businesses operating within the EEA (European Economic Area) as part of the PSD2 mandate. THREEDQUERY should only be omitted from Enhanced Post when processing Mail Order Telephone Order (MOTO) payments, Merchant Initiated Transactions (MIT), or other workflows that are exempt from the PSD2 mandate. |
6 | ORDERDETAILS |
For PayPal:
An Order Details Request, used to retrieve updated information about the transaction from PayPal after the customer has logged in and confirmed the payment. Required when offering PayPal as a payment option. |
7 | AUTH |
An Authorisation Request:
Required when processing an authorisation. |
8 | SUBSCRIPTION |
For Subscriptions:
A Subscription Request, where payments will be processed automatically at pre-specified intervals. |
If multiple request types are sent in a single Enhanced Post request, they are always processed in the order indicated by the numbers in the table above, regardless of the order the request types are submitted.
THREEDQUERY, SUBSCRIPTION, CURRENCYRATE, ORDER and ORDERDETAILS Requests must be submitted with an accompanying AUTH Request.
If you offer PayPal as a payment method, you MUST specify at least ORDER and AUTH request types to be enabled for Enhanced Post.
Standard POST behaviour
Each standard POST submitted to Payment Pages will utilise all request types enabled on your account.
e.g. if you have ACCOUNTCHECK, THREEDQUERY and AUTH enabled,
a standard POST will instruct us to process
ACCOUNTCHECK, THREEDQUERY and AUTH requests.
Overriding with Enhanced Post
Enhanced Post allows you to specify the request types utilised in each POST. This allows you to only call on certain request types when needed. Requests are processed in the order they are listed in the table above.
e.g. if you have ACCOUNTCHECK, THREEDQUERY and AUTH enabled,
an Enhanced Post can be used to instruct us to only process THREEDQUERY and AUTH (excluding the ACCOUNTCHECK).
Implementing Enhanced Post
Enabling Enhanced Post
To enable Enhanced Post, you will first need to contact our Support Team and decide on the request types that need to be enabled on your account (from the table above).
Submitting an Enhanced Post
You can use Enhanced Post by submitting a standard POST to the Payment Pages with the Enhanced Post field(s), called “requesttypedescriptions“.
The Enhanced Post fields are not mandatory, but when they are not submitted, an AUTH Request will always occur, amongst all other request types enabled for your site.
The Enhanced Post is the equivalent of a blank slate. You must include each request type that you wish to process in each POST.
Example of submitting a THREEDQUERY and AUTH with Enhanced Post
This POST will process a THREEDQUERY and an AUTH request:
<html>
<body>
<form method="POST" action="<DOMAIN>/process/payments/choice">
<input type="hidden" name="sitereference" value="test_site12345">
<input type="hidden" name="stprofile" value="default">
<input type="hidden" name="currencyiso3a" value="USD">
<input type="hidden" name="mainamount" value="100.00">
<input type="hidden" name="version" value="2">
<input type="hidden" name="requesttypedescriptions" value="THREEDQUERY">
<input type="hidden" name="requesttypedescriptions" value="AUTH">
<input type="submit" value="Pay">
</form>
</body>
</html>
Replace <DOMAIN>
with a supported domain. Click here for a full list.
All requesttypedescriptions field values need to be included in the string used to generate your request site security hash (e.g. for the above “THREEDQUERYAUTH” would need to be included at the correct part of the string). Failure to do so will result in the customer being shown an “Invalid details” error message.
PayPal and Enhanced Post
When offering PayPal as a choice on your Payment Pages solution, you are required to include requesttypedescriptions for both ORDER and AUTH in the POST.
Your system can optionally include requesttypedescriptions for ORDERDETAILS, as highlighted in the example, below.
To comply with the PSD2 mandate, merchants operating within the EEA (European Economic Area) that accept card payments must continue to include THREEDQUERY in the POST, to allow for customers that opt to pay by card to be authenticated with 3-D Secure.
The inclusion of the ORDERDETAILS field affects the transaction performed as following:
Including ORDERDETAILS | Not including ORDERDETAILS |
Trust Payments will contact PayPal after the customer has returned to the Payment Pages, and retrieve billing details the customer opted to use while on PayPal’s checkout pages for the authorisation request. | Trust Payments will not contact PayPal after the customer has returned to the Payment Pages, and will instead only record billing details passed to Trust Payments in the POST.
The customer may alter these details while on PayPal’s checkout pages, but these changes will not be reflected in the authorisation request. |
Example of sending an ORDER, THREEDQUERY, AUTH and ORDERDETAILS request with Enhanced Post
This POST will process an ORDER, THREEDQUERY, AUTH and ORDERDETAILS request:
<html>
<body>
<form method="POST" action="<DOMAIN>/process/payments/choice">
<input type="hidden" name="sitereference" value="test_site12345">
<input type="hidden" name="stprofile" value="default">
<input type="hidden" name="currencyiso3a" value="USD">
<input type="hidden" name="mainamount" value="100.00">
<input type="hidden" name="version" value="2">
<input type="hidden" name="requesttypedescriptions" value="ORDER">
<input type="hidden" name="requesttypedescriptions" value="THREEDQUERY">
<input type="hidden" name="requesttypedescriptions" value="ORDERDETAILS">
<input type="hidden" name="requesttypedescriptions" value="AUTH">
<input type="submit" value="Pay">
</form>
</body>
</html>
Replace <DOMAIN>
with a supported domain. Click here for a full list.