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.