Checkout Page
Methods of Operation
The TransactDirect Checkout Page allows merchants to secure process eCommerce web transactions directly with Monek. Primary use cases for this are:
- Website checkout pages from merchant web sites and shopping carts.
- Payment page integration into call centre systems and desktop software solutions.
For merchants processing additional transactions and refunds, or PCI:DSS accredited merchants requiring more control of the payment journey see our Payments API documentation.
Gateway URLs
Primary:
- https://elite.monek.com/Secure/iPayPrepare.ashx - Checkout Prepare
- https://elite.monek.com/Secure/Checkout.aspx - Full Checkout
- https://elite.monek.com/Secure/CheckoutLite.aspx - Simple Checkout
Staging:
- https://staging.monek.com/Secure/iPayPrepare.ashx - Checkout Prepare
- https://staging.monek.com/Secure/Checkout.aspx - Full Checkout
- https://staging.monek.com/Secure/CheckoutLite.aspx - Simple Checkout
Note: Both gateways are LIVE and will process for all Monek Merchant accounts.
The staging API is available for integration and compatibility testing of new features before they are available on the primary platform.
Recommended Features
The TransactDirect Checkout Page supports a number of features we recommend for additional security and convenience:
- Prepared Payments provide a secure way to protect merchant and transaction details with a simple redirect token.
- Idempotency Tokens provide a reliable way to protect against against duplicate transactions and replay events.
- The Integrity Digest provides a secure method to verify that responses, redirects, and webhooks are genuine and unmodified.
- Webhooks provide a simple notification service for transaction results without relying on the cardholder transaction flow.
- Basket Details provides an updated and flexible method of sending itemised basket details for your transaction that also satisfies required transaction details for American Express.
Sequence of Events
The following is a typical sequence of events whereby transaction request data is securely sent to TransactDirect and the cardholder processes their transaction through the Monek Checkout page.
Step 1: Merchants sends transaction request data to TransactDirect
The merchant sends a transaction initiation request to https://elite.monek.com/Secure/iPayPrepare.ashx to obtain a Prepared Payment Token.
Step 2: Merchant web site redirects cardholder to the Checkout page
The merchant web site or shopping card redirects the cardholder to the Monek Checkout Page https://elite.monek.com/Secure/Checkout.aspx using the Prepared Payment Token from Step 1. The redirect supports both HTTP POST
and HTTP GET
and is suitable for use within an iFrame.
The cardholder fills out their payment details and the Checkout page submits directly to TransactDirect.
Step 3: EMV 3-D Secure authentication
On receiving payment card details from the cardholder TransactDirect will perform a 3-D Secure authentication check with the cardholders card issuing bank.
-
If the card issuing bank authorises the transaction for a 'Frictionless Flow' the transaction will proceed directly to authorisation, Step 4.
-
If the card issuing bank indicates a 'Challenge Flow' is required the cardholder will be redirected to their bank's 3-D Secure authentication page to perform this step with the result sent back to TransactDirect automatically.
The ThreeDSAction
method ACSDIRECT
provides for the simplest implementation of 3-D Secure and requires no additional coding as the redirect and response handling is automated by TransactDirect
Step 4: Authorisation and response
TransactDirect will authorise the provided transaction, including 3-D Secure details, and respond dependent upon the value of the ResponseAction request field:
- REDIRECT
- HTMLQS
- XML
If the ResponseAction
field was set to REDIRECT
TransactDirect issues a redirect to the web client, redirecting it to the SuccessUrl or FailureUrl depending upon the transaction outcome, with the response fields sent as query string attachments to the redirect URL e.g.
http://www.myURL.com/success.asp?ResponseCode=00&Message=AUTHCODE%3A01223&CrossReference=03050711535801223303
If the ResponseAction
field was set to HTMLQS
the response fields are sent to the client as a list of field names and values in the body of the HTTP response e.g.
ResponseCode=00&Message=AUTHCODE:01223&CrossReference=03050711535801223303
If the ResponseAction
field was set to XML
the response fields are sent to the client as XML 1.0 formatted tags and values in the body of the HTTP e.g.
<?xml version="1.0" encoding="UTF-8"?>
<transactionresponse>
<responsecode>00< /responsecode>
<message>AUTHCODE:06166</message>
<crossreference>03050711584106166163</crossreference>
</transactionresponse>
Transaction Request
The passing of data to TransactDirect's iPayPrepare.ashx
, iPay.aspx
, or Checkout.aspx
is accomplished using HTML form fields or query strings. To provide the most secure implementation please use the Prepared Payments feature to ensure all key transaction configuration is kept private.
The following tables detail the HTML
form fields that are used to pass transaction data to TransactDirect. Every transaction that is passed to TransactDirect must include those fields listed in the 'Mandatory Generic Transaction Request Fields' table.
Mandatory Generic Transaction Request Fields
Field Name | Description | Req'd | Size | Type |
---|---|---|---|---|
Amount | The transaction amount, numeric, in minor currency i.e. pence/cents etc. No decimal point. e.g. £10.02 = 1002 | M | 10 max. | N |
CountryCode | ISO standard country code for merchant location. Use 826 for UK based merchants. Other options available on request. | M | 3 | N |
CurrencyCode | ISO standard currency code of transaction. Use 826 for Sterling transactions. Other options available on request. | M | 3 | N |
Dispatch | Used for Deferred Dispatch. Options are NOW or LATER . | M | 5 max. | A |
MerchantID | Monek merchant ID. Test accounts are available on request. | M | 7 | N |
MessageType | Indicates the transaction type for the request.See later table for acceptable message types. | M | V | A |
ResponseAction | Specifies the return method for the transaction response data. Options are HTMLQS , XML , REDIRECT , or JSON | M | V | A |
M = Mandatory, O = Optional, V = Variable Length, A = Alpha-Numeric, N = Numeric
3-D Secure Transaction Request Fields
Field Name | Description | Req'd | Size | Type |
---|---|---|---|---|
Ret3DSAddress | If ThreeDSAction = REDIRECT is used, this is the address (URL) to which the web client will be redirected with ACS information. The fields required to perform payer authentication are appended to this address as query string fields. | O | V | A |
PurchaseDescription | Summary description of purchase. Passed to 3-D Secure. | O | 125 max. | A |
ThreeDSAction | Used to indicate requirement of 3-D Secure processing and to tell TransactDirect which method to use for the return of ACS data. Options are: - NONE (default) - HTMLQS - XML - REDIRECT - ACSDIRECT | M | V | A |
ThreeDSPAContinueOnError | Options are YES or NO (default).If set to YES , TransactDirect will allow a transaction to continue if an error occurred processing payer authentication details. | O | 2 or 3 | A |
ThreeDSVEContinueOnError | Options are YES or NO (default). If set to YES , TransactDirect will allow a transaction to continue if an error occurred verifying card enrolment details. | O | 2 or 3 | A |
M = Mandatory, O = Optional, V = Variable Length, A = Alpha-Numeric, N = Numeric
Cardholder Detail Request Fields
Cardholder data fields can be collected on the Checkout page, supplied by the merchant, or both. Where details are supplied by the merchant they will be presented for confirmation on the Checkout page if the appropriate fields are included on the page.
Field Name | Description | Req'd | Size | Type |
---|---|---|---|---|
CardholderName | Customer's name. Note: Mandatory for 3DS v2 transactions. | O | 30 max. | A |
QAAddress | Required for AVS check. Customer's address. Note: Deprecated in favour of Billing fields. | O | 100 max. | A |
QAPostcode | Required for AVS check. Customer's postcode. Note: Deprecated in favour of Billing fields. | O | 10 max. | A |
EmailAddress | Customer's email address. Note: email or phone number is mandatory for Visa 3-D Secure. | O | 50 max. | A |
PhoneNumber | Customer's telephone number. Note: email or phone number is mandatory for Visa 3-D Secure. | O | 30 max. | A |
BillingName | Customer's name for billing purposes. | O | 200 max. | A |
BillingCompany | Company name for billing purposes. | O | 200 max. | A |
BillingLine1 | Billing address line 1 | O | 200 max. | A |
BillingLine2 | Billing address line 2 | O | 200 max. | A |
BillingLine3 | Billing address line 3 | O | 200 max. | A |
BillingCity | Billing city | O | 100 max. | A |
BillingCounty | Billing county | O | 100 max. | A |
BillingPostcode | The billing postcode | O | 20 max. | A |
BillingCountry | The billing country name | O | 100 max. | A |
BillingCountryCode | The 3 digit country code for billing country | O | 3 | A |
DeliveryIsBilling | Indicates if the delivery address is also the billing address. YES or NO (default) | O | 3 | A |
DeliveryName | Customer's name for delivery purposes. | O | 200 max. | A |
DeliveryCompany | Company name for delivery purposes. | O | 200 max. | A |
DeliveryLine1 | Delivery address line 1 | O | 200 max. | A |
DeliveryLine2 | Delivery address line 2 | O | 200 max. | A |
DeliveryLine3 | Delivery address line 3 | O | 200 max. | A |
DeliveryCity | Delivery city | O | 100 max. | A |
DeliveryCounty | Delivery county | O | 100 max. | A |
DeliveryPostcode | The delivery postcode | O | 20 max. | A |
DeliveryCountry | The delivery country name | O | 100 max. | A |
DeliveryCountryCode | The 3 digit country code for delivery country | O | 3 | A |
M = Mandatory, O = Optional, V = Variable Length, A = Alpha-Numeric, N = Numeric
Additional Transaction Request Fields
Field Name | Description | Req'd | Size | Type |
---|---|---|---|---|
AcceptCOF | Indicates if the cardholder has been informed and has accepted that their card details will be stored for future use. Options are YES or NO (default). | O | 2 or 3 | A |
Basket | Contains basket details for this transactions. Replaces Line Item structures noted in Accepting Amex. See Basket Details for further infomation. | O | 1000 max. | A |
CAType | Specifies the type of cardholder agreement in place for the transaction. see Cardholder Agreement Types for details. | O | 15 max. | A |
DispatchLaterAmount | The total amount of the transaction. Numeric, minor currency i.e. pence/cents etc. No decimal point e.g. £10.02 = 1002 Note: Deprecated. Dispatch later transaction should authorise for the full amount or utilise Account Verification. | M | 10 Max | N |
EchoReceiptInformation | Passes back all the information that a merchant needs to produce a customer's receipt. Options are YES or NO (default). If set to YES , the receipt information is returned as the additional field ReceiptInformation. | O | 2 or 3 | A |
FailureUrl | If ResponseAction = REDIRECT is used, this is the address (URL) to which the web client will be redirected following an unsuccessful transaction. If not supplied SuccessUrl will be used for all responses. Replaces RetNotOkAddress . | O | V | A |
IdempotencyToken | Specifies a merchant wide unique identifier for this transaction. Note: Use with caution. See Transaction Idempotency for details. Note: IdempotencyToken should be kept private and only used on direct API calls or Prepared Payments. | O | 50 max. | A |
IntegritySecret | Provides a secret only known to the merchant. Used to support the Integrity Digest functionality | O | 50 max. | A |
IsDebtRepayment | Indicates if the payment forms part of a debt repayment. Options are YES or NO (default). | O | 2 or 3 | A |
OperatorId | The operator identifier for the user intiating this transaction. Used to allow a merchant to track which user initiated transactions. | O | 100 max. | A |
OperatorName | The operator name for the user initiating this transaction. Used to allow a merchant to track which user initiated transactions. | O | 100 max. | A |
OriginId | GUID used by Monek to provide additional insight and support for key integration partners and solutions. Contact Monek for more information | O | 40 max. | A |
SuccessUrl | If ResponseAction = REDIRECT is used, this is the address (URL) to which the web client will be redirected following a successful transaction. If FailureUrl is not specified SuccessUrl will be used for all results. Replaces RetOkAddress . | O | V | A |
M = Mandatory, O = Optional, V = Variable Length, A = Alpha-Numeric, N = Numeric
Additional Form Fields
Additional merchant specific data should be sent in the PaymentDetail
or MerchantData
field.
Use of this field for merchant data ensures there are no clashes with fieldnames that may be required to support future functionality on the TransactDirect API.
This field can be used to store a simple value, complex encoded data (such as JSON) or raw binary data. In all cases the supplied value should be Base64 encoded.
Field Name | Description | Req'd | Size | Type |
---|---|---|---|---|
PaymentReference | ID created by the merchant to identify the transaction. Replaces TransactionIdentifier . | O | 50 max. | A |
PaymentChannel | Payment channel description as required by the merchant. | O | 50 max. | A |
PaymentDetail | Additional custom payment details for this transaction. | O | 500 max. | A |
MerchantData | Additional custom merchant data for this transaction. | O | 1024max | Base 64 |
Base64 encoding supports the following key goals:
- Supports any underlying data format required by the merchant.
- Data can be returned unaltered without encoding complications.
- Ensures maximum compatibility with security mechanisms.
Additional Form Fields – Legacy Functionality
Support for additional form or query string fields sent to TransactDirect using custom names has been removed. Please use the PaymentDetail
or MerchantData
fields.
Page Configuration Fields
Checkout Page supports some third party alternative checkout options.
Any configurable third party checkout options will be listed here with a brief description of how they work and how to integrate them.
Field Name | Description | Req'd | Size | Type |
---|---|---|---|---|
CssIntegrity | Optionally allows the contents of CSS URL to be verified using the Subresource Integrity mechanism. For further information see: https://www.srihash.org/ | O | V | A |
CssUrl | References an external stylesheet to enable merchant customisation of hosted payment page. If set, this must be a fully qualified URL. | O | V | A |
ShowGooglePay | Indicates if the Google Pay™ button will appear on the checkout page. YES or NO (default) All merchants must adhere to the Google Pay APIs Acceptable Use Policy and accept the terms defined in the Google Pay API Terms of Service. Google Pay is a trademark of Google LLC. | O | 3 | A |
ShowApplePay | Indicates if the Apple Pay button will appear on the checkout page. YES (default) or NO | O | 3 | A |
ShowPayPal | Indicates if the Pay Pal button will appear on the checkout page. YES or NO (default) | O | 3 | A |
ShowAddressDetails | Indicates whether the address details will be shown on the checkout page. YES (default) or NO | O | 3 | A |
ShowDeliveryAddress | Indicates whether the delivery address will be shown on the checkout page. YES or NO (default) | O | 3 | A |
ShowSaveCard | Indicates whether an option to save the card for future use will be shown on the checkout page. YES or NO (default) | O | 3 | A |
M = Mandatory, O = Optional, V = Variable Length, A = Alpha-Numeric, N = Numeric
TransactDirect Message Types
MessageType | Description |
---|---|
ESALE_KEYED | E-Commerce (Internet) sale transaction, card keyed by cardholder. |
EVERIFY_KEYED | E-Commerce (Internet) account verification transaction, card keyed by cardholder. Note: Transaction amount must be ZERO (0). |
SALE_CNP_MO | Sale transaction, cardholder not present, mail order. Replaces SALE_CNP . Suitable for use with VT implementations. |
SALE_CNP_TO | Sale transaction, cardholder not present, telephone order. Replaces SALE_CNP . Suitable for use with VT implementations. |
Notes:
- Other transaction message types are available on TransactDirect but are not appropriate for use with the Checkout Page, see Payment API for additional processing capabilities.
Cardholder Agreement Types
TransactDirect allows a transaction to be identified as part of a continuous authority agreement with the cardholder.
This should be specified as appropriate in the CAType field in the transaction request for the initiating transaction and all subsequent payment requests.
CA Type | Usage | Description |
---|---|---|
A or Reauthorisation | Additional Only | Indicates a reauthorisation made after the original purchase. Common scenarios include delayed/split shipments and extended stays/rentals. |
C or Unscheduled | Additional Only | Indicates a transaction using a stored credential for a fixed or variable amount that does not occur on a scheduled or regularly occurring transaction date. This includes account top-ups triggered by balance thresholds. |
D or Delayed | Additional Only | Indicates a delayed charge. Typically used in hotels, cruise lines and vehicle rental environments to perform a supplemental account charge after original services are rendered. |
I or Instalment | Initiating or Additional | Indicates that this transaction is part of an instalment agreement. Instalment transactions should be used to charge a predictable amount at regular intervals. |
L or Incremental | Additional Only | Indicates an incremental authorisation. Typically found in hotel and car rental environments, where the cardholder has agreed to pay for any service incurred during the duration of the contract. |
N or NA | Initiating or Additional | Indicates that no specific cardholder agreement is in place. |
R or Recurring | Initiating or Additional | Indicates that this transaction is part of a recurring agreement. Recurring payment transactions may be recharged as required by the merchant to satisfy future purchases. Note: For PayPal Express Checkout integrations this must be set to indicate the requirement for a PayPal recurring payment billing agreement. |
S or Resubmission | Additional Only | Indicates a resubmission for a transaction that occurred with the original purchase, but where the card acceptor was not able to get authorisation at the time the goods or services were provided. |
X or NoShow | Additional Only | Indicates a transaction where the cardholder entered into an agreement to purchase but did not meet the terms of the agreement. |
Common Currency Codes
Currency | ISO-4217 Code |
---|---|
Australian Dollar | 036 |
Canadian Dollar | 124 |
Czech Koruna | 203 |
Danish Krone | 208 |
Hong Kong Dollars | 344 |
Icelandic Krona | 352 |
Japanese Yen | 392 |
Norwegian Krone | 578 |
Singapore Dollars | 702 |
Swedish Krona | 752 |
Swiss Franc | 756 |
Pound Sterling | 826 |
US Dollars | 840 |
Euro | 978 |
Note:
- Merchants must have obtained prior clearance from their UK acquiring bank (acquirer) before accepting multi-currency transactions.
- Certain acquirers will require separate merchant numbers to be issued.
- Not all acquirers accept all of these currencies whilst some accept many more.
- Multi-currency transactions must be identified by their numeric three-digit currency code, as per ISO-4217.
3-D Secure API Response
The ThreeDSAction
method ACSDIRECT
provides for the simplest implementation of 3-D Secure and requires no additional coding as the redirect and response handling is automated by TransactDirect.
If the ThreeDSAction
field was set to ACSDIRECT
then TransactDirect will automatically perform the 3-D Secure check, redirecting the cardholder through the authentication process as required, and completing the transaction as appropriate.
For all other ThreeDSAction
modes of operation please refer to the relevent section in Payments API.
Transaction Response
Please note that all request and response fields are considered case insensitive and may vary depending on response type and TransactDirect version.
Please ensure any response handling does not limit field processing to a specific character casing.
The response format will depend on the ResponseAction
requested when initiating the transaction. REDIRECT
is typically the appropriate choice when processing transactions using the Checkout Page.
Additional security and information flow can be achieved using additional features of TransactDirect:
- Prepared Payments provide a secure way to protect merchant and transaction details with a simple redirect token.
- Idempotency Tokens provide a reliable way to protect against against duplicate transactions and replay events.
- The Integrity Digest provides a secure method to verify that responses, redirects, and webhooks are genuine and unmodified.
- Webhooks provide a simple notification service for transaction results without relying on the cardholder transaction flow.
- REDIRECT
- JSON
- HTMLQS
- XML
If the ResponseAction
field was set to REDIRECT
TransactDirect issues a re-direct to the web client with the response fields sent as query string attachments to the redirect URL e.g.
http://www.myURL.com/SuccessUrl.asp?ResponseCode=00&Message=AUTHCODE%3A01223&CrossReference=03050711535801223303
Redirecting to the RetOKAddress or RetNotOKAddress depends upon the transaction outcome:
Transaction Outcome | Redirection URL |
---|---|
Successful transaction | SuccessUrl |
Card referred | FailureUrl |
Card declined | FailureUrl |
Problem with card. e.g. invalid card number, expired card, etc. | FailureUrl |
Processing error | FailureUrl |
If the ResponseAction
field was set to JSON
the response fields are sent to the client as a JSON formatted structure. The new JSON return format is recommended and contains a much richer level of details for the completed transaction.
{
"transactionDateTime": "2024-04-01T10:11:12.9798042+01:00",
"requestDateTime": "2024-04-01T10:11:12.4217561+01:00",
"amount": "2500",
"currencyCode": "826",
"countryCode": "826",
"result": {
"paymentMethod": "TransactDirect",
"crossReference": "240401101112457459X2R",
"responseCode": "00",
"responseMessage": "AUTHCODE:457459",
"authorisationCode": "457459",
"avsCv2Code": "244100",
"avsCv2Message": "SECURITY CODE MATCH ONLY",
"threeDSecure": {
"enrolled": "Y",
"authenticated": "Y",
"eci": "05",
"cavv": "AAACAkl2BRkiFiFSYHYFEwAAAAA=",
"transactionId": "83726342788159100000"
},
"terminalId": "22080001",
"messageNumber": "2903"
},
"merchant": {
"monekId": "0000893",
"merchantNumber": "123456789",
"name": "Monek Test Account",
"location": "Lichfield"
},
"cardholder": {
"address": "155",
"postcode": "16"
},
"card": {
"maskedCard": "401200******1112",
"expiryDate": "2412",
"cardType": "VC",
"cardDescription": "Visa Credit"
}
}
If the ResponseAction
field was set to HTMLQS
the response fields are sent to the client as a list of field names and values in the body of the HTTP response. e.g.
ResponseCode=00&Message=AUTHCODE:01223&CrossReference=03050711535801223303
If the ResponseAction
field was set to XML
the response fields are sent to the client as XML 1.0 formatted tags and values. e.g.
<?xml version="1.0" ?>
<transactionresponse>
<responsecode>00</responsecode>
<message>AUTHCODE:06166</message>
<crossreference>03050711584106166163</crossreference>
</transactionresponse>
Standard Response Fields
The result of the transaction is passed back in the following fields.
Field Name | Contents | Size | Type |
---|---|---|---|
Amount | Amount sent with transaction request to acquiring bank or, in the event of a payment only transaction, accepted by TransactDirect. Value returned in minor currency i.e. pence/cents etc. | 10 max. | N |
AuthorisationCode | The authorisation code issued for a successful transaction. Normally this is 2 digits for American Express and 6 for other card schemes. Note: An authorisation code is strictly alphanumeric. While typically numeric an authorisation code may also contain letters. | 2-8 | A |
AVSCV2Check | AVS/CV2 check response. See following table. | 30 max. | A |
AVSCV2ResponseCode | The raw AVS/CV2 code returned by the acquiring bank. See following tables. | 6 | N |
CardToken | The unique character string supplied by TransactDirect to identify this card. Optional: Will be returned where the merchant is configured to support card tokens. | 50 max. | A |
CardType | The card type code indicating the card type used for the transaction. See following table. | 2 | A |
CrossReference | The unique character string supplied by TransactDirect to identify this transaction. | 50 max. | A |
CurrencyCode | The currency code used for the transaction. | 3 | N |
DuplicateIndicator | Contains the reason for a duplicate transaction response. DUPLICATE or IDEMPOTENCY | 20 max. | A |
ErrorCode | May contain an additional error detail code where standard response code indicate and error "30". This code can be used by Monek to further diagnose the cause of an error. | 4 | N |
Message | The transaction message either as delivered by the bank or by TransactDirect. This is the message that should be displayed to the merchant on an EPOS system or call centre application and to the cardholder on an Internet web site implementation. Typical examples are: AUTHCODE:123456 CARD EXPIRED CARD REFERRED CARD DECLINED CARD DECLINED – KEEP CARD AVS CV2 DECLINED ERROR XXXX | 80 max. | A |
PaymentMethod | The payment method used to process the transaction: TransactDirect or PayPal | 50 max. | A |
ReferralTelephoneNumber | The referral telephone number passed to TransactDirect by the merchant's acquirer in the event of a transaction being referred. Note: In most circumstances the merchants will have been provided with a standard referral telephone number by their acquiring bank and should primarily use that number in the event of a referral. | 16 max. | N |
RequestTime | The time the transaction request was initiated in ISO 8601 format. | 33 | A |
ResponseCode | The TransactDirect response code. See following table. | 2 | N |
TrackingToken | A unique tracking token for the payment card used. Note: Only returned by prior partner arrangement. | 32 | A |
M = Mandatory, O = Optional, V = Variable Length, A = Alpha-Numeric, N = Numeric
Response Code Values
Response Code | Description |
---|---|
00 | Transaction successful / authorised |
02 | Card referred |
03 | Retailer unknown |
04 | Keep card decline |
05 | Card declined |
11 | Invalid card details |
12 | Invalid request |
30 | Exception |
AVS/CV2 Response Values
AVS/CV2 Response Code Values
The AVS/CV2 Response Code is made up of six characters and is sent back in the raw form that is received from the acquiring bank.
- Position 1
- Position 2
- Position 3
- Position 4
- Position 5
- Position 6
Position 1 Value | Position 1 Description |
---|---|
0 | No additional information available |
1 | CV2 not checked |
2 | CV2 matched |
4 | CV2 not matched |
8 | Reserved |
Position 2 Value | Position 2 Description |
---|---|
0 | No additional information available |
1 | Postcode not checked |
2 | Postcode matched |
4 | Postcode not matched |
8 | Postcode partially matched |
Position 3 Value | Position 3 Description |
---|---|
0 | No additional information available |
1 | Address not checked |
2 | Address matched |
4 | Address not matched |
8 | Address partially matched |
Position 4 Value | Position 4 Description |
---|---|
0 | Authorising entity not known |
1 | Authorising entity – Merchant host |
2 | Authorising entity – Acquirer host |
4 | Authorising entity – Card Scheme |
8 | Authorising entity – Issuer |
Position 5 Value | Position 5 Description |
---|---|
0 | Reserved |
1 | Reserved |
2 | Reserved |
4 | Reserved |
8 | Reserved |
Position 6 Value | Position 6 Description |
---|---|
0 | Reserved |
1 | Reserved |
2 | Reserved |
4 | Reserved |
8 | Reserved |
Note:
- Values other than 0, 1, 2, 4 or 8 are not valid in character positions 1 to 4.
- A value of zero in any character position indicates that no additional information is available.
- If the Authorising Entity is not known, then character position 4 is set to zero and the authoriser is assumed to be the issuer.
AVS/CV2 Check Response Values
AVS and CV2 checks are supported by most major card issuers including Visa, MasterCard, Maestro and American Express.
AVS / CV2 Response Message | Description |
---|---|
ALL MATCH | AVS and CV2 match. |
SECURITY CODE MATCH ONLY | CV2 match only. |
ADDRESS MATCH ONLY | AVS match only. |
NO DATA MATCHES | No matches for AVS and CV2. |
DATA NOT CHECKED | Supplied data not checked. |
SECURITY CHECKS NOT SUPPORTED | Card scheme does not support checks. |
UNKNOWN RESPONSE | Unrecognised AVS/CV2 response from issuer. |
As part of the AVS/CV2 design, responses are passed back along with the authorisation outcome. This can result in a situation where the transaction has been authorised by the card issuer, but the AVS/CV2 checks have returned negative results. At this point, the merchant may decide not to proceed with the transaction. In these circumstances, under normal UK banking practice, a merchant would need to cancel, reverse or refund the transaction. This is often not practical to achieve in situations where the merchant is not present for the transaction, such as Internet retailers.
TransactDirect removes the necessity for the merchant to explicitly carry out the cancellation, reversal or refund by providing the merchant with AVS/CV2 acceptance parameters governing what action to take dependent upon the AVS/CV2 result.
Card Type Values
The following card type codes are currently supported. This list is subject to change as new card types are added.
Card Type Code | Card Type |
---|---|
AM | American Express |
DI | Diners Club |
DS | Discover |
EL | Electron |
JC | JCB |
MA | Maestro (International) |
MC | MasterCard |
MD | MasterCard Debit |
SW | Maestro (UK issued) |
VC | Visa Credit |
VD | Visa Debit |
VP | Visa Purchasing |
3-D Secure Result Fields
Field Name | Description | Size |
---|---|---|
Emv3DS | The EMV 3-D Secure details as returned from the authentication process. Comma separated. | 150 max. |
ThreeDS | The 3-D Secure details as returned from the verify enrolment and payer authentication stages. Comma separated in Monek 2.1 compliant form. | 60 max. |
ThreeDSErrorCode | Code issued by 3-D Secure if either enrolment verification or 3-D Secure authentication failed with an error. | V |
ThreeDSErrorDetail | Error description issued by 3-D Secure if either enrolment verification or 3-D Secure authentication failed with an error. | V |
Structure of the ThreeDS Information field
The ThreeDS information field is comma delimited list with the following fields
This field is deprecated with the introduction of EMV 3-D Secure and the Emv3DS
response field.
For compatibility, 3-D Secure v1 compliant codes will always be returned for Enrolled and Authenticated fields when 3-D Secure v2 is used.
No | Field Name and Contents | Req'd | Size | Type |
---|---|---|---|---|
1 | Enrolled | M | 1 | A |
2 | Authenticated | M | 1 | A |
3 | ECI | M | 2 | N |
4 | CAVV | M | 32 max. | A |
5 | Transaction Identifier | M | 20 | N |
Note: The number of fields in these structures are variable. Please ensure any field validation is tolerant.
Structure of the Emv3DS Information field
The Emv3DS information field is comma delimited list with the following fields
No | Field Name and Contents | Req'd | Size | Type |
---|---|---|---|---|
1 | EMV 3-D Secure Status | M | 1 | A |
2 | 3-D Secure Version used. e.g. 2.2.0 | M | 10 max. | A |
3 | ECI | M | 2 | A |
4 | CAVV | M | 32 max. | A |
5 | Directory Server Transaction Identifier | M | 36 | Guid |
6 | Monek 3-D Secure Transaction Reference | M | 36 | Guid |
Note: The number of fields in these structures are variable. Please ensure any field validation is tolerant.
Receipt Information
Field Name | Description | Size |
---|---|---|
ReceiptInformation | This returns all the information that a merchant needs to produce a customer receipt. Please contact Monek to enable this facility. Returned if transaction request field EchoReceiptInformation was set to YES . Not returned if TransactDirect ResponseCode = 30 | 387 max. |
Structure of the Receipt Information field
No | Field Name and Contents | Req'd | Size | Type |
---|---|---|---|---|
1 | Bank Merchant Number | M | 15 max. | A |
2 | Unit Separator US – ASCII character code 31 | M | 1 | |
3 | Card Type Description | M | 50 max. | A |
4 | Unit Separator US | M | 1 | |
5 | Merchant Name | M | 50 max. | A |
6 | Unit Separator US | M | 1 | |
7 | Merchant Location | M | 50 max. | A |
8 | Unit Separator US | M | 1 | |
9 | Date – "YYMMDD" | M | 6 | N |
10 | Unit Separator US | M | 1 | |
11 | Time – "HHMM" | M | 4 | N |
12 | Unit Separator US | M | 1 | |
13 | Transaction Type | M | 20 max. | A |
14 | Unit Separator US | M | 1 | |
15 | Card Number – First 4 and last 4 digits | M | 20 max. | N |
16 | Unit Separator US | M | 1 | |
17 | Start Date – "YYMM" | O | 0 or 4 | N |
18 | Unit Separator US | M | 1 | |
19 | Expiry Date – "YYMM" | M | 4 | N |
20 | Unit Separator US | M | 1 | |
21 | Issue Number (discontinued) | O | n/a | N |
22 | Unit Separator US | M | 1 | |
23 | Card Details Entry Method | M | 20 max. | A |
24 | Unit Separator US | M | 1 | |
25 | Terminal Identifier | M | 8 | N |
26 | Unit Separator US | M | 1 | |
27 | Message Number | M | 4 | N |
28 | Unit Separator US | M | 1 | |
29 | Response Message Text | M | 80 max. | A |
30 | Unit Separator US | M | 1 | |
31 | Transaction Amount – minor currency units | M | 11 max. | N |
32 | Unit Separator US | M | 1 | |
33 | Cashback Amount - minor currency units | O | 11 max. | N |
34 | Unit Separator US | M | 1 | |
35 | Gratuity Amount - minor currency units | O | 11 max. | N |
M = Mandatory, O = Optional, V = Variable Length, A = Alpha-Numeric, N = Numeric