CrossReferenceTransaction

Introduction

Cross reference transactions are primarily used so that the merchant can run subsequent transactions against previous transactions without having to store the credit card details from the original transaction. These transactions may be subsequent sales (used for recurring billing), full or partial collection of funds (if the initial transaction was a pre-authorisation), or full or partial refunds (if the initial transaction was a sale or a collection)

Request

Below are the details for the request message to initiate a cross reference transaction.

Tag/Attribute Name

Data

Type

Max

Length

Mandatory

(Default)

Comments

PaymentMessage

Yes

MerchantAuthentication

Yes

MerchantID

A

15

Yes

The gateway account merchant ID issued (not to be confused with the MMS username)

Password

A

15

Yes

The gateway account

password

TransactionDetails

Yes

Amount (attribute)

N

15

No (False)

The transaction amount in minor currency – e.g. for

£10.00, it must be submitted as 1000. Mandatory for all TransactionTypes except VOID. Zero (0) is only supported where the TransactionType is

PREAUTH.

CurrencyCode (attribute)

N

3

No (False)

ISO 4217 e.g. GBP: 826.

Mandatory for all

TransactionTypes except VOID

OrderID

A

50

Yes

A merchant side ID for the order – primarily used to for determining duplicate transactions. Pulled forward from the previous transaction if not set & NewTransaction is false

OrderDescription

A

256

No (See

comment)

A description for the order. Pulled forward from the previous transaction if not set & NewTransaction is false

MessageDetails

TransactionType (attribute)

Yes

Must be either COLLECTION, REFUND, PREAUTH, SALE, VOID or RETRY

NewTransaction (attribute)

B

No (True)

Instructs the gateway to treat

this transaction as a new transaction

CrossReference (attribute)

A

25

Yes

The cross reference for the

previous transaction

LineItemDetails

No

SalesTaxAmount (attribute)

N

15

No

The sales tax amount in minor currency – e.g. for £10.00, it must be submitted as 1000

SalesTaxDescription

A

50

No

A description of the sales tax

(e.g. “VAT (20%)”

LineItems

No

LineItem (multiple)

No

Quantity (attribute)

N

15

No

The quantity of a single line

item

Amount (attribute)

N

15

No

The amount of a single line item in minor currency – e.g. for £10.00, it must be submitted as 1000

Description

A

100

No

The description of a single line

item

TransactionControl

No

EchoCardType

B

No (False)

Instructs the gateway to include the card type of the transaction in the message response

EchoAVSCheckResult

B

No (False)

Instructs the gateway to include the AVS results for the transaction in the message response

EchoCV2CheckResult

B

No (False)

Instructs the gateway to include the CV2 results for the transaction in the message response

EchoAmountReceived

B

No (False)

Instructs the gateway to include the amount that was passed to it in the message response

EchoExternalData

B

No (False)

Instructs the gateway to include the transaction identifiers of the bank’s external system in the

message response

DuplicateDelay

N

3

No (60)

Sets the amount of time (in seconds) that any orders to the same gateway account with the same OrderID and CardNumber should be rejected

AVSOverridePolicy

4

No (As set in

MMS)

Sets an override AVS checking policy for this transaction. (See Appendix 3 for details)

CV2OverridePolicy

2

No (As set in

MMS)

Sets an override CV2 checking policy for this transaction. (See Appendix 3 for details)

ThreeDSecureOverridePolicy

B

No (False)

Sets an override for 3D Secure checking for this transaction

FALSE = Do not perform 3D Secure enrolment check

TRUE = Perform 3D Secure enrolment check

OverrideCardDetails

No

CardName

A

100

No (See

comment)

The name on the customer’s card. Only submit to override the value for the previous

transaction (submit “blank” to not use the value from the previous transaction)

CardNumber

N

20

No (See

comment)

The customer’s card number. Only submit to override the value for the previous transaction

ExpiryDate

No

Month

N

2

No (See

comment)

The month of the expiry date in 2 digit numeric format – e.g. for July, must be submitted as

07. Only submit to override the value for the previous transaction (submit -1 to not use the value from the previous transaction)

Year

N

2

No (See

comment)

The year of the expiry date in 2 digit numeric format – e.g. for 2007, must be submitted as 07. Only submit to override the value for the previous transaction (submit -1 to not use the value from the previous transaction)

CV2

N

4

No (See

comment)

The security number (also called CVV or CVV2) printed on the customer’s card – usually the last 3 or 4 digits printed on the signature strip. Only submit to override the value for the previous transaction (submit -1 to not use the value from the previous transaction)

IssueNumber

N

2

No (See

comment)

The issue number printed on

the customer’s card. Only submit to override the value for the previous transaction (submit

-1 to not use the value from the previous transaction)

CustomerDetails

No

BillingAddress

No

Address1

A

100

No (See

comment)

Customer’s billing address line

1. Only pulled forward from previous transaction if NONE of the address fields have been set

Address2

A

50

No (See

comment)

Customer’s billing address line

2. Only pulled forward from previous transaction if NONE of the address fields have been set

Address3

A

50

No (See

comment)

Customer’s billing address line

3. Only pulled forward from previous transaction if NONE of the address fields have been set

Address4

A

50

No (See

comment)

Customer’s billing address line

4. Only pulled forward from previous transaction if NONE of the address fields have been set

City

A

50

No (See

comment)

Customer’s billing address city. Only pulled forward from previous transaction if NONE of the address fields have been set

State

A

50

No (See

comment)

Customer’s billing address state. Only pulled forward from previous transaction if NONE of the address fields have been set

PostCode

A

50

No (See

comment)

Customer’s billing address post code. Only pulled forward from previous transaction if NONE of the address fields have been set

CountryCode

N

3

No (See

comment)

ISO 3166-1 e.g. United Kingdom: 826. Only pulled forward from previous transaction if NONE of the address fields have been set

EmailAddress

E

100

No (See

comment)

The email address of the customer – NOTE: anything passed in here is validated as an email address, so anything passed in must be a valid email address. Pulled forward from previous transaction if not set

PhoneNumber

A

30

No (See

comment)

The customer’s phone number. Pulled forward from previous transaction if not set

CustomerIPAddress

I

15

No

The IP address of the customer (NOT the IP address of the

merchant’s website). This is

used to determine the

customer’s country of origin.

The format is xxx.xxx.xxx.xxx

DateOfBirth

D

10

No

The date of birth of the customer. Must be in the format YYYY-MM-

DD

PrimaryAccountDetails

No

Name

A

100

No

The name of the primary account holder (used for MCC 6012 accounts only)

AccountNumber

A

50

No

The account number of the primary account holder (used for MCC 6012 accounts only)

DateOfBirth

D

10

No

The date of birth of the primary account holder (used for MCC 6012

accounts only)

AddressDetails

No

PostCode

A

50

No

The post code of the primary account holder (used for MCC 6012 accounts only)

ShippingDetails

No

ShippingAddress

No

Address1

A

100

No

Shipping recipient’s address

line 1

Address2

A

50

No

Shipping recipient’s address

line 2

Address3

A

50

No

Shipping recipient’s address

line 3

Address4

A

50

No

Shipping recipient’s address

line 4

City

A

50

No

Shipping recipient’s address

city

State

A

50

No

Shipping recipient’s address

state

PostCode

A

50

No

Shipping recipient’s address

post code

CountryCode

N

3

No

ISO 3166-1 e.g. United

Kingdom: 826

Name

A

100

No

Shipping recipient’s name

EmailAddress

A

100

No

The email address of the shipping recipient – NOTE: anything passed in here is validated as an email address, so anything passed in must be a valid email address

PhoneNumber

A

30

No

Shipping recipient’s phone

number

Things to Note

  • The Amount can be zero (0) if the TransactionType is passed as PREAUTH.

  • If the previous CardDetailsTransaction or CrossReferenceTransaction message was submitted with TransactionType PREAUTH and Amount as Zero (0), the linked CrossReferenceTransaction message will be only allowed to process with TransactionType as SALE.

Response

Below are the details for the response that will be received after sending a CrossReferenceTransaction request.

Tag/Attribute Name

Data

Type

Max

Length

Always

Present

Comments

CrossReferenceTransactionResponse

Yes

CrossReferenceTransactionResult

Yes

AuthorisationAttempted (attribute)

B

Yes

This indicates whether the transaction was actually sent to the acquirer for authorisation, or whether it failed before authorisation

StatusCode

N

Yes

This indicates the status of

the transaction

Message

A

Yes

This gives a more detailed description of the status of

the transaction

ErrorMessages

No

MessageDetail

Yes

Detail (multiple)

A

256

Yes

If there were multiple error messages(e.g.multipleinput variable validation errors, then they will be detailed

here)

PreviousTransactionResult

No

StatusCode

N

Yes

If the transaction was deemed to be a duplicate transaction, this indicates the status of the previous transaction

Message

A

Yes

If the transaction was deemed to be a duplicate transaction, this gives a more detailed description of the status of the previous transaction

TransactionOutputData

No

CrossReference (attribute)

A

25

Yes

This is the unique cross reference for this transaction. If the card has been determined as requiring 3D Secure authentication this must be used as the merchant reference. If the transaction was rejected as a duplicate transaction, this value will hold the cross reference of the previous transaction

ExternalCrossReference (attribute)

A

No

If requested in the CrossReferenceTransaction request message, this gives the unique cross reference of the transaction passed back by the bank’s external system to the Payment Gateway.

ExternalClientReference (attribute)

A

No

If requested in the CrossReferenceTransaction request message, this gives the unique client reference of the transaction passed back by the bank’s external system to the Payment Gateway.

ExternalTransactionUID (attribute)

A

No

If requested in the CrossReferenceTransaction request message, this gives the unique identifier of the transaction passed back by the bank’s external system to the Payment Gateway.

AuthCode

A

15

No

If the transaction was successful, then the auth code is passed out here

AddressNumericCheckResult

No

If requested in the CrossReferenceTransaction request message, this gives the results of the address numeric check – will be PASSED, FAILED, PARTIAL, NOT_CHECKED or UNKNOWN

PostCodeCheckResult

No

If requested in the CrossReferenceTransaction request message, this gives the results of the post code check – will be PASSED, FAILED, PARTIAL, NOT_CHECKED or UNKNOWN

CV2CheckResult

No

If requested in the CrossReferenceTransaction request message, this gives the results of the CV2check – will be PASSED, FAILED, NOT_CHECKED or UNKNOWN

CardTypeData

CardType

A

Yes

If requested in the CrossReferenceTransaction request message, this gives the card type for the transaction. (See Appendix 4 for details)

Issuer

A

100

No

The card issuer (if known)

AmountReceived

N

15

No

If requested in the CrossReferenceTransaction request message, this gives the amount that was passed to the gateway via the request message

ThreeDSecureOutputData

No

PaREQ

A

Yes

If the card has been determined as requiring 3D Secure authentication, this gives the base64 encoded payment request that must be passed to the ACS for authentication. This must be sent to the ACS as ‘PaReq’

ACSURL

A

Yes

If the card has been determined as requiring 3D Secure authentication, this gives the URL of the ACS server that the PaREQ must be sent to

GatewayEntryPoints

Yes

GatewayEntryPoint (multiple)

Yes

EntryPointURL (attribute)

A

256

Yes

The URL of the active

gateway entry point

Metric (attribute)

N

5

Yes

A metric value giving an indication of whether transactionsshouldbesent

to this gateway entry point

Things to Note

  • We do not store the CV2 values of any transactions, so they are not available to be pulled forwards from the previous transaction. This means that the unless the CV2 is supplied as part of the OverrideCardDetails in the CrossReferenceTransaction message then the results returned will always be UNKNOWN

  • If requested, the AmountReceived will always echo the amount passed to the gateway regardless of the outcome of the transaction (apart from if the message could not be validated due to content errors)

  • If the address or the post code information is not submitted in the CrossReferenceTransaction message then the AddressNumericCheckResult and the PostCodeCheckResult will be deemed to be UNKNOWN rather than FAILED

  • If this transaction is marked as not a new transaction in the CrossReferenceTransaction message, then the OrderID and OrderDescription will be pulled forward from the previous transaction unless they are present in this message

  • If this transaction is marked as a new transaction in the CrossReferenceTransaction message, then the OrderID and OrderDescription will not be pulled forward from the previous transaction.

 

Next Post
Response
Previous Post
ThreeDSecureAuthentication
Menu