Skip to main content

Payments API

Methods of Operation

The TransactDirect Payments API allows merchants to process transactions directly with Monek. Primary use cases for this are:

  • Automated processing of repeat transactions. e.g. Monthly billing or ad-hoc card on file charges.
  • Automated processing of refunds or cancellations.
  • Integration in call centre systems or automated telephony solutions.
  • Integration from PCI:DSS accredited parties wishing to take full control of their payment journey.

For merchants integrating a secure checkout page for their website or application see our Checkout Page documentation.

Gateway URLs

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.

The TransactDirect Payments API supports a number of features we recommend for additional security and convenience:

  • Idempotency Tokens provide a reliable way to protect against against duplicate transactions and replay events.
  • 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

A typical sequence of events with the TransactDirect Payments API is a synchronous transaction request and response. Transaction request data is passed securely over the Internet to TransactDirect, processed by Monek, and returned directly to the calling party.

Additional flows are supported where required for custom integrations by using alternate ResponseAction and ThreeDSAction parameters, e.g.

  • Response redirects
  • EMV 3-D Secure by API

Payments API Request

The following tables detail the fields that are used to pass transaction data from the merchant to TransactDirect. Every transaction that is passed to TransactDirect must include those fields listed in the 'Mandatory Generic Transaction Request Fields' table.

Further sections contain fields marked as mandatory that are situational and should be considered mandatory when using that functionality. For example where Card Keyed Transaction Request Fields are marked mandatory they should only be considered mandatory when sending Card Keyed transactional data, if you are sending a Cross Reference in lieu of Card Keyed details then those fields are no longer required.

A selection of optional fields is provided to allow access to further functionality and a number of additional features are also supported and documented separately for clarity:

  • 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.

Mandatory Generic Transaction Request Fields

Field NameDescriptionReq'dSizeType
AmountThe transaction amount, numeric, in minor currency i.e. pence/cents etc. No decimal point. e.g. £10.02 = 1002M10 max.N
CountryCodeISO standard country code for merchant location. Use 826 for UK based merchants. Other options available on request.M3N
CurrencyCodeISO standard currency code of transaction. Use 826 for Sterling transactions. Other options available on request.M3N
DispatchUsed for Deferred Dispatch. Options are NOW or LATER.M5 max.A
MerchantIDMonek merchant ID. Test accounts are available on request.M7N
MessageTypeIndicates the transaction type for the request.See later table for acceptable message types.MVA
ResponseActionSpecifies the return method for the transaction response data. Options are HTMLQS, XML, REDIRECT, or JSONMVA

M = Mandatory, O = Optional, V = Variable Length, A = Alpha-Numeric, N = Numeric

Card Keyed Transaction Request Fields

Field NameDescriptionReq'dSizeType
CardNumberCard number.M20 max.N
ExpiryMonthExpiry month.M2N
ExpiryYearExpiry year.M2N
ExpiryDateExpiry date in MM/YY format. Can be supplied in place of ExpiryMonth and ExpiryYear.M4N
StartMonthStart month.O2N
StartYearStart year.O2N
StartDateStart date in MM/YY format. Can be supplied in place of StartMonth and StartYear.O4N

M = Mandatory, O = Optional, V = Variable Length, A = Alpha-Numeric, N = Numeric

Tokenised Card Transaction Request Fields

Field NameDescriptionReq'dSizeType
CardTokenThis is sent in lieu of the card details (card number, expiry month and year, start month and year) and can be used for reprocessing a stored card. e.g. For continuous authority.
Note: Deprecated in favour of CrossReference.
O50 max.A
CrossReferenceThis is sent in lieu of the card details (card number, expiry month and year, start month and year) and is typically used for completing transactions that were originally submitted as Dispatch = LATER, processing referrals, re-billing or refunding previous transactions.O50 max.A
ValidityIDIs used by TransactDirect in conjunction with MerchantID to provide additional security. ValidityID will be issued by Monek and can be used to authenticate repeat transactions and refunds performed by Cross Reference.
Note: ValidityID must be kept private and should only be used on direct API calls.
Do not use on hosted page redirects.
M/O20 max.A

Note: Merchants who wish to conduct transactions using Tokenised Card details must contact Monek to obtain a ValidityId.

For merchant migrating from Secure Hosting TransactDirect provides the facility to directly reference previous transactions by their Secure Hosting Transaction ID.

Transaction responses will include a new TransactDirect CrossReference which should then be used for all future processing.

Field NameDescriptionReq'dSizeType
shReferenceYour Secure Hosting account reference number e.g. SH212345O8A
shCheckCodeYour Secure Hosting Check Code. This can be found in the settings menu in your Secure Hosting account.O6N
shTransactionIdThe numeric Transaction ID of the Secure Hosting transaction you wish to recharge or refundO10 max.N

3-D Secure Transaction Request Fields

Field NameDescriptionReq'dSizeType
Ret3DSAddressIf 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.OVA
PurchaseDescriptionSummary description of purchase. Passed to 3-D Secure.O125 max.A
ThreeDSActionUsed 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
MVA
ThreeDSPAContinueOnErrorOptions are YES or NO (default).
If set to YES, TransactDirect will allow a transaction to continue if an error occurred processing payer authentication details.
O2 or 3A
ThreeDSVEContinueOnErrorOptions are YES or NO (default).
If set to YES, TransactDirect will allow a transaction to continue if an error occurred verifying card enrolment details.
O2 or 3A

M = Mandatory, O = Optional, V = Variable Length, A = Alpha-Numeric, N = Numeric

Cardholder Detail Request Fields

Field NameDescriptionReq'dSizeType
CardholderNameCustomer's name. Note: Mandatory for 3DS v2 transactions.O30 max.A
QAAddressRequired for AVS check. Customer's address. Note: Deprecated in favour of Billing fields.O100 max.A
QAPostcodeRequired for AVS check. Customer's postcode. Note: Deprecated in favour of Billing fields.O10 max.A
EmailAddressCustomer's email address. Note: email or phone number is mandatory for Visa 3-D Secure.O50 max.A
PhoneNumberCustomer's telephone number. Note: email or phone number is mandatory for Visa 3-D Secure.O30 max.A
BillingNameCustomer's name for billing purposes.O200 max.A
BillingCompanyCompany name for billing purposes.O200 max.A
BillingLine1Billing address line 1O200 max.A
BillingLine2Billing address line 2O200 max.A
BillingLine3Billing address line 3O200 max.A
BillingCityBilling cityO100 max.A
BillingCountyBilling countyO100 max.A
BillingPostcodeThe billing postcodeO20 max.A
BillingCountryThe billing country nameO100 max.A
BillingCountryCodeThe 3 digit country code for billing countryO3A
DeliveryIsBillingIndicates if the delivery address is also the billing address. YES or NO (default)O3A
DeliveryNameCustomer's name for delivery purposes.O200 max.A
DeliveryCompanyCompany name for delivery purposes.O200 max.A
DeliveryLine1Delivery address line 1O200 max.A
DeliveryLine2Delivery address line 2O200 max.A
DeliveryLine3Delivery address line 3O200 max.A
DeliveryCityDelivery cityO100 max.A
DeliveryCountyDelivery countyO100 max.A
DeliveryPostcodeThe delivery postcodeO20 max.A
DeliveryCountryThe delivery country nameO100 max.A
DeliveryCountryCodeThe 3 digit country code for delivery countryO3A

M = Mandatory, O = Optional, V = Variable Length, A = Alpha-Numeric, N = Numeric

Additional Transaction Request Fields

Field NameDescriptionReq'dSizeType
AcceptCOFIndicates 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).O2 or 3A
AuthorisationCodeRequired when MessageType is prefixed with PAYMENT_ONLY_ (ignored if sent with any other MessageType) indicating that prior authorisation has been given by the merchant's acquiring bank. e.g. following a referral when the merchant has contacted the bank's voice authorisation centre.O8 max.A
BasketContains basket details for this transactions. Replaces Line Item structures noted in Accepting Amex. See Basket Details for further infomation.O1000 max.A
CATypeSpecifies the type of cardholder agreement in place for the transaction. see Cardholder Agreement Types for details.O15 max.A
COFInitiatedByIndicates if a Credentials on File (COF) transaction was initiated by the cardholder or by the merchant. Options are CARDHOLDER or MERCHANT.O10 max.A
CV2Card Verification Value normally printed after the card number on the card's magnetic strip.
Note: The CV2 value must not be stored under any circumstances.
O3 or 4N
DispatchLaterAmountThe 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.
M10 MaxN
EchoReceiptInformationPasses 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.O2 or 3A
FailureUrlIf 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.OVA
IdempotencyTokenSpecifies 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.
O50 max.A
IntegritySecretProvides a secret only known to the merchant. Used to support the Integrity Digest functionalityO50 max.A
IsDebtRepaymentIndicates if the payment forms part of a debt repayment. Options are YES or NO (default).O2 or 3A
OperatorIdThe operator identifier for the user intiating this transaction. Used to allow a merchant to track which user initiated transactions.O100 max.A
OperatorNameThe operator name for the user initiating this transaction. Used to allow a merchant to track which user initiated transactions.O100 max.A
OriginIdGUID used by Monek to provide additional insight and support for key integration partners and solutions. Contact Monek for more informationO40 max.A
SuccessUrlIf 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.OVA
WebhookUrlThe secure URL (https) to send a transaction summary to on completion of the transaction. See Webhooks for more information.O100 max.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 NameDescriptionReq'dSizeType
PaymentReferenceID created by the merchant to identify the transaction. Replaces TransactionIdentifier.O50 max.A
PaymentChannelPayment channel description as required by the merchant.O50 max.A
PaymentDetailAdditional custom payment details for this transaction.O500 max.A
MerchantDataAdditional custom merchant data for this transaction.O1024maxBase 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

warning

Support for additional form or query string fields sent to TransactDirect using custom names has been removed. Please use the PaymentDetail or MerchantData fields.

TransactDirect Message Types

MessageTypeDescription
ESALE_KEYEDE-Commerce (Internet) sale transaction, card keyed by cardholder.
EVERIFY_KEYEDE-Commerce (Internet) account verification transaction, card keyed by cardholder. Note: Transaction amount must be ZERO (0).
SALE_CNP_MOSale transaction, cardholder not present, mail order. Replaces SALE_CNP.
SALE_CNP_TOSale transaction, cardholder not present, telephone order. Replaces SALE_CNP.
VERIFY_CNPAccount verification transaction, cardholder not present (typically from call-centre i.e. telephone, mail order, etc.). Note: Transaction amount must be ZERO (0).
SALE_CASale transaction with continuous authority.
REFUND_CNPRefund transaction, cardholder not present (typically from call-centre or merchant back-office i.e. telephone, mail order, etc.).
REVERSAL_KEYEDReverses a previous transaction. Note: Must be performed by Cross Reference. Original transaction MUST be from same day.

Notes:

  • The following transactions are only acceptable when accompanied by a ValidityId.

    • Transactions conducted using the original transaction's Cross Reference in lieu of card details.
    • Refunds and reversals.
    • Transactions prefixed with PAYMENT_ONLY.
  • Certain message types, for example, continuous authority (SALE_CA etc.) are only available by prior arrangement with the merchant's acquiring bank.

  • Standard Internet-based sale transactions such as purchasing from a web site/on-line store will usually be flagged as ESALE_KEYED. If the Internet is used purely for the transport of information from the merchant directly to the gateway, then the appropriate cardholder present or not present message type should be used.

Payment Only Transactions

TransactDirect Message Types can be prefixed with PAYMENT_ONLY_ to indicate that no authorisation is required. Such transactions are not forwarded to the bank for authorisation and are sent for settlement on the assumption that the merchant has obtained authorisation from some other source. Typical scenarios where this may be appropriate are:

  • The original transaction resulted in a referral and the settlement confirmation is being sent following a call to the bank's voice authorisation centre.
  • When presenting transactions to TransactDirect following a period of communications failure.
  • Where the original transaction was sent as DISPATCH = LATER and is now ready for settlement.

The following standard fields have particular importance for a PAYMENT_ONLY_ transaction:

Field NameDescriptionReq'dSizeType
AuthorisationCodeMust contain the authorisation code obtained during the referral process or original authorisation.M8 max.A
CrossReferenceWhen processing a PAYMENT_ONLY_ request following an authorisation only or referral transaction the CrossReference from the original transaction should always be used.
Not required when a presenting an offline transaction following a period of communications failure. In this scenario the full card details would be required.
O50 max.A
ValidityIDUsed by TransactDirect in conjunction with MerchantID to provide additional security. ValidityID will be issued by Monek and can also be used to authenticate repeat transactions and refunds performed by Cross Reference.
Note: ValidityID must be kept private and should only be used on direct API calls. Do not use on hosted page redirects.
M/O20 max.A

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 TypeUsageDescription
A or ReauthorisationAdditional OnlyIndicates a reauthorisation made after the original purchase. Common scenarios include delayed/split shipments and extended stays/rentals.
C or UnscheduledAdditional OnlyIndicates 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 DelayedAdditional OnlyIndicates 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 InstalmentInitiating or AdditionalIndicates that this transaction is part of an instalment agreement. Instalment transactions should be used to charge a predictable amount at regular intervals.
L or IncrementalAdditional OnlyIndicates 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 NAInitiating or AdditionalIndicates that no specific cardholder agreement is in place.
R or RecurringInitiating or AdditionalIndicates 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 ResubmissionAdditional OnlyIndicates 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 NoShowAdditional OnlyIndicates a transaction where the cardholder entered into an agreement to purchase but did not meet the terms of the agreement.

Common Currency Codes

CurrencyISO-4217 Code
Australian Dollar036
Canadian Dollar124
Czech Koruna203
Danish Krone208
Hong Kong Dollars344
Icelandic Krona352
Japanese Yen392
Norwegian Krone578
Singapore Dollars702
Swedish Krona752
Swiss Franc756
Pound Sterling826
US Dollars840
Euro978

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

If the ThreeDSAction field was set and the Transact.ashx has determined that user authentication is required, then an appropriate 3-D Secure response will be returned and must be processed by the merchant. Otherwise a standard Transaction Response will be returned.

In most cases the [Checkout Page](checkout-page.mdx) flow is more appropriate for Ecommerce transactions with 3-D Secure

If the ThreeDSAction 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 where the HTML is normally found e.g.

<?xml version="1.0" encoding="UTF-8"?>
<veresponse>
<md>[ENCODEDDATA]</md\>
<enrolled>Y</enrolled>
<pareq>[ENCODEDDATA]</pareq>
<acsurl>https://dropit.3dsecure.net:9443/PIT/ACS</acsurl>
</veresponse>

3-D Secure ACS Response Fields

If the ThreeDSAction was set to HTMLQS, XML or REDIRECT the response will include the following fields to allow the Web Client to handle the ACS redirection. For example, if the Web Client needs to embed the ACS prompt within a branded web page.

Field NameDescriptionSizeType
ACSURLAccess Control Server URL. Used in redirecting the client browser to the card issuer's 3-D Secure authentication host.VA
MDMerchant Data. All transaction data is retained by the Transact.ashx page. The MD field is used to allow this data to be retrieved and must be included unaltered in the subsequent calls to the ACSURL and TransactACS.ashx.VA
PAReqThe full 3-D Secure request as returned by the card scheme enrolment verification server. This should be passed in its entirety to the issuer's ACS.VA

Redirect to Card Issuer's ACS

The web client must redirects the cardholder to the 3-D Secure web server at ACSURL by sending the following fields as an HTTP POST request. Note: The ACSURL will not accept transactions redirected using the HTTP GET method.

Field NameDescriptionReq'dSizeType
MDMerchant Data. This field should be passed unaltered from the Transact.ashx response.MVA
PaReqThe full 3-D Secure request. This field should be passed unaltered from the Transact.ashx response.MVA
TermUrlTermination URL. This is the address that the issuer's ACS will call after payer authentication is complete.M50 max.A

The TermUrl field can be used to direct the ACS response back to the Web Client or directly to TransactACS.ashx to complete the transaction.

ACS Response Fields

If TermUrl is set to direct responses to the merchant web site, then the following fields will be returned. All fields should be forwarded in their entirety and unaltered to TransactACS.ashx to complete the transaction.

Field NameDescriptionReq'dSizeType
MDMerchant Data.MVA
PaResThe full 3-D Secure response as returned by the cardholder's issuer.MVA

If TermUrl is set to direct to TransactACS.ashx then these fields will be passed automatically.

Payment API Response

warning

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.

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"
}
}

Standard Response Fields

The result of the transaction is passed back in the following fields.

Field NameContentsSizeType
AmountAmount 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
AuthorisationCodeThe 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-8A
AVSCV2CheckAVS/CV2 check response. See following table.30 max.A
AVSCV2ResponseCodeThe raw AVS/CV2 code returned by the acquiring bank. See following tables.6N
CardTokenThe 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
CardTypeThe card type code indicating the card type used for the transaction. See following table.2A
CrossReferenceThe unique character string supplied by TransactDirect to identify this transaction.50 max.A
CurrencyCodeThe currency code used for the transaction.3N
DuplicateIndicatorContains the reason for a duplicate transaction response. DUPLICATE or IDEMPOTENCY20 max.A
ErrorCodeMay 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.4N
MessageThe 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
PaymentMethodThe payment method used to process the transaction: TransactDirect or PayPal50 max.A
ReferralTelephoneNumberThe 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
RequestTimeThe time the transaction request was initiated in ISO 8601 format.33A
ResponseCodeThe TransactDirect response code. See following table.2N
TrackingTokenA unique tracking token for the payment card used. Note: Only returned by prior partner arrangement.32A

M = Mandatory, O = Optional, V = Variable Length, A = Alpha-Numeric, N = Numeric

Response Code Values

Response CodeDescription
00Transaction successful / authorised
02Card referred
03Retailer unknown
04Keep card decline
05Card declined
11Invalid card details
12Invalid request
30Exception

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 ValuePosition 1 Description
0No additional information available
1CV2 not checked
2CV2 matched
4CV2 not matched
8Reserved

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 MessageDescription
ALL MATCHAVS and CV2 match.
SECURITY CODE MATCH ONLYCV2 match only.
ADDRESS MATCH ONLYAVS match only.
NO DATA MATCHESNo matches for AVS and CV2.
DATA NOT CHECKEDSupplied data not checked.
SECURITY CHECKS NOT SUPPORTEDCard scheme does not support checks.
UNKNOWN RESPONSEUnrecognised 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 CodeCard Type
AMAmerican Express
DIDiners Club
DSDiscover
ELElectron
JCJCB
MAMaestro (International)
MCMasterCard
MDMasterCard Debit
SWMaestro (UK issued)
VCVisa Credit
VDVisa Debit
VPVisa Purchasing

3-D Secure Result Fields

Field NameDescriptionSize
Emv3DSThe EMV 3-D Secure details as returned from the authentication process. Comma separated.150 max.
ThreeDSThe 3-D Secure details as returned from the verify enrolment and payer authentication stages. Comma separated in Monek 2.1 compliant form.60 max.
ThreeDSErrorCodeCode issued by 3-D Secure if either enrolment verification or 3-D Secure authentication failed with an error.V
ThreeDSErrorDetailError 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

warning

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.

NoField Name and ContentsReq'dSizeType
1EnrolledM1A
2AuthenticatedM1A
3ECIM2N
4CAVVM32 max.A
5Transaction IdentifierM20N

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

NoField Name and ContentsReq'dSizeType
1EMV 3-D Secure StatusM1A
23-D Secure Version used. e.g. 2.2.0M10 max.A
3ECIM2A
4CAVVM32 max.A
5Directory Server Transaction IdentifierM36Guid
6Monek 3-D Secure Transaction ReferenceM36Guid

Note: The number of fields in these structures are variable. Please ensure any field validation is tolerant.

Receipt Information

Field NameDescriptionSize
ReceiptInformationThis 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 = 30387 max.

Structure of the Receipt Information field

NoField Name and ContentsReq'dSizeType
1Bank Merchant NumberM15 max.A
2Unit Separator US – ASCII character code 31M1
3Card Type DescriptionM50 max.A
4Unit Separator USM1
5Merchant NameM50 max.A
6Unit Separator USM1
7Merchant LocationM50 max.A
8Unit Separator USM1
9Date – "YYMMDD"M6N
10Unit Separator USM1
11Time – "HHMM"M4N
12Unit Separator USM1
13Transaction TypeM20 max.A
14Unit Separator USM1
15Card Number – First 4 and last 4 digitsM20 max.N
16Unit Separator USM1
17Start Date – "YYMM"O0 or 4N
18Unit Separator USM1
19Expiry Date – "YYMM"M4N
20Unit Separator USM1
21Issue Number (discontinued)On/aN
22Unit Separator USM1
23Card Details Entry MethodM20 max.A
24Unit Separator USM1
25Terminal IdentifierM8N
26Unit Separator USM1
27Message NumberM4N
28Unit Separator USM1
29Response Message TextM80 max.A
30Unit Separator USM1
31Transaction Amount – minor currency unitsM11 max.N
32Unit Separator USM1
33Cashback Amount - minor currency unitsO11 max.N
34Unit Separator USM1
35Gratuity Amount - minor currency unitsO11 max.N

M = Mandatory, O = Optional, V = Variable Length, A = Alpha-Numeric, N = Numeric