sale

The sale element is the parent element for all Sale transactions. A Sale transaction is a combination Authorization and Capture transaction. You can use this element in either Online or Batch transactions.

If you are a Canadian merchant, the system does not recognize the secondaryAmount element for Interac (Canadian Debit) transactions. You should either disable Interac transactions, not use a Sale transaction with Google Pay, or ApplePay, or not use convenience fees with these transaction types.

Parent Elements:

cnpOnlineRequest, batchRequest

Attributes:

Attribute Name

Type

Required?

Description

id

String

Yes

A unique identifier assigned by the presenter and mirrored back in the response.

minLength = 1 maxLength = 36

customerId

String

No

A value assigned by the merchant to identify the consumer.

minLength = N/A maxLength = 50

reportGroup

String

Yes

Required attribute that defines the merchant

sub-group in the user interface where this transaction will be displayed. For more information, please refer to Coding for Report Groups.

minLength = 1maxLength = 25

Child Elements:

Required: orderId, amount, orderSource, (choice of) card, paypal, paypage, mpos, token, applepay, ideal, sepaDirectDebit, giropay, or sofort

The cardholderAuthentication child element is required only for 3-D Secure transactions. The fraudCheck element has been deprecated; use the cardholderAuthentication element instead.

Optional: customerInfo, sellerInfo, billToAddress, shipToAddress, retailerAddress, additionalCOFData, cardholderAuthentication, customBilling, taxType, enhancedData, processingInstructions, pos, payPalNotes, payPalOrderComplete, allowPartialAuth, healthcareIIAS, merchantCategoryCode, merchantData, recyclingRequest, fraudFilterOverride, secondaryAmount, surchargeAmount, recurringRequest , cnpInternalRecurringRequest, debtRepayment, advancedFraudChecks, wallet, processingType, filtering, originalNetworkTransactionId, originalTransactionAmount, pinlessDebitRequest, lodgingInfo, skipRealtimeAU, merchantCategoryCode, businessIndicator, crypto, orderChannel, fraudCheckStatus, checkoutId, passengerTransportData, foreignRetailerIndicator, accountFundingTransactionData, fraudCheckAction

The following child elements are for internal use only: overridePolicy, fsErrorCode, merchantAccountStatus, productEnrolled, decisionPurpose, fraudSwitchIndicator.