Sale Transaction

In this section you will learn how to process a Sale transaction

Sale Overview

A Sale Transaction enables a merchant using to request authorization of the transaction by the acquirer and, if the transaction is approved, then immediately require the capture of the transaction amount (debit the cardholder's account) by including the transaction for settlement.

How to process a Sale transaction request message

The merchant's system Posts a JSON Sale transaction message to the ANYpay Gateway. Section Card Transaction describes the elements required to build a Sale transaction request message.

📘

Key elements of a Sale transaction request message

Type MUST be set to [ecom.sale] or [mailorder.sale]

Examples of a Sale transaction request message can be seen below.

{ 
  "merchantId": "BDD", 
  "storeId": "BDD500000005", 
  "userId": "BDDTest", 
  "type": "ecom.sale", 
  "amount": "10.00", 
  "currencyCode": "GBP", 
  "clientSystemInvoiceId": "1", 
  "clientSystemTransactionId": "1-2",     
  "accountDetails": {
    "cardNumber": "4444333322221111",
    "expiryDateMonth": 12,
    "expiryDateYear": 25
  },
  "cardVerificationDetails": {
    "cardVerificationValue": "123"
  },
  "addressVerificationDetails": {
    "address": "5",
    "zipPostalCode": "123",
    "countryCode": "GBR"
  },
  "threeDSecureDetails": {
    "status": "Authenticated",
    "eci": "05",
    "cavv": "AAACBBNDYmJ3iDAlIUNiAAAAAAA=",
    "xid": "msRVTxAzkZtZOaN64kF8uIj6sY8="
  },
  "storedCredentialDetails": {
    "cardOnfileIndicator": "cardDetailsStoredFirstTime"
  }  
}
{ 
  "merchantId": "BDD", 
  "storeId": "BDD500000005", 
  "userId": "BDDTest", 
  "type": "mailorder.sale", 
  "amount": "10.00", 
  "currencyCode": "GBP", 
  "clientSystemInvoiceId": "1", 
  "clientSystemTransactionId": "1-2",     
  "accountDetails": {
    "cardNumber": "4444333322221111",
    "expiryDateMonth": 12,
    "expiryDateYear": 25
  },
  "cardVerificationDetails": {
    "cardVerificationValue": "123"
  },
  "addressVerificationDetails": {
    "address": "5",
    "zipPostalCode": "123",
    "countryCode": "GBR"
  },
    
  "storedCredentialDetails": {
    "cardOnfileIndicator": "cardDetailsStoredFirstTime"
  }  
}
{ 
  "merchantId": "BDD", 
  "storeId": "BDD500000005", 
  "userId": "BDDTest", 
  "type": "ecom.sale", 
  "amount": "10.00", 
  "currencyCode": "GBP", 
  "clientSystemInvoiceId": "1", 
  "clientSystemTransactionId": "1-2",
  "accountDetails": {
    "cardTokenizedNumber": "9997000000005071111"
  },
  "cardVerificationDetails": {
    "cardVerificationValue": "123"
  },
  "addressVerificationDetails": {
    "address": "5",
    "zipPostalCode": "123",
    "countryCode": "GBR"
  },
  "threeDSecureDetails": {
    "status": "Authenticated",
    "eci": "05",
    "cavv": "AAACBBNDYmJ3iDAlIUNiAAAAAAA=",
    "xid": "msRVTxAzkZtZOaN64kF8uIj6sY8="
  } ,
  "storedCredentialDetails": {
    "cardOnfileIndicator": "cardholderInitiatedCardOnFile"
  }    
}
{ 
  "merchantId": "BDD", 
  "storeId": "BDD500000005", 
  "userId": "BDDTest", 
  "type": "mailorder.sale", 
  "amount": "10.00", 
  "currencyCode": "GBP", 
  "clientSystemInvoiceId": "1", 
  "clientSystemTransactionId": "1-2",
  "accountDetails": {
    "cardTokenizedNumber": "9997000000005071111"
  },
  "cardVerificationDetails": {
    "cardVerificationValue": "123"
  },
  "addressVerificationDetails": {
    "address": "5",
    "zipPostalCode": "123",
    "countryCode": "GBR"
  },

  "storedCredentialDetails": {
    "cardOnfileIndicator": "cardholderInitiatedCardOnFile"
  }    
}
{ 
  "merchantId": "BDD", 
  "storeId": "BDD500000005", 
  "userId": "BDDTest", 
  "type": "ecom.sale", 
  "amount": "10.00", 
  "currencyCode": "GBP",   
  "clientSystemInvoiceId": "1", 
  "clientSystemTransactionId": "1-2",   
  "accountDetails": {
    "tokenId": "13c45dc2-56ec-4d7f-a966-50b6c3e93b37" 
  },
  "cardVerificationDetails": {
    "cardVerificationValue": "123"
  },
  "addressVerificationDetails": {
    "address": "5",
    "zipPostalCode": "123",
    "countryCode": "GBR"
  },
  "threeDSecureDetails": {
    "status": "Authenticated",
    "eci": "05",
    "cavv": "AAACBBNDYmJ3iDAlIUNiAAAAAAA=",
    "xid": "msRVTxAzkZtZOaN64kF8uIj6sY8="
  },
  "storedCredentialDetails": {
    "cardOnfileIndicator": "cardDetailsStoredFirstTime"
  }
}
{ 
  "merchantId": "BDD", 
  "storeId": "BDD500000005", 
  "userId": "BDDTest", 
  "type": "mailorder.sale", 
  "amount": "10.00", 
  "currencyCode": "GBP",   
  "clientSystemInvoiceId": "1", 
  "clientSystemTransactionId": "1-2",   
  "accountDetails": {
    "tokenId": "13c45dc2-56ec-4d7f-a966-50b6c3e93b37" 
  },
  "cardVerificationDetails": {
    "cardVerificationValue": "123"
  },
  "addressVerificationDetails": {
    "address": "5",
    "zipPostalCode": "123",
    "countryCode": "GBR"
  },

  "storedCredentialDetails": {
    "cardOnfileIndicator": "cardDetailsStoredFirstTime"
  }  
}

Handling a Sale transaction response message

An example of a Sale transaction response message can be seen below.

{
  "id": "7890ff90-e277-4ead-a7d8-6929a3f83286",
  "state": "Authorised",
  "providerStateCode": "000",
  "providerStateMessage": null,
  "providerCardSecurityResponseCode": null,
  "providerAddressVerificationResponseCode": null,
  "currencyCode": "USD",
  "accountDetails": {
    "cardNumber": "444433******1111",
    "tokenizedCardNumber": "9997000000005071111",
    "isVisaCheckout": null
  },
  "details": {
    "providerMerchantId": "542929008043127",
    "providerTerminalId": "00630376"
  },
  "stateDetails": {
    "approvalCode": "06268A"
  },
  "cardSecurityResponseCode": null,
  "addressVerificationResponseCode": null
}
{
  "code": "4017740",
  "details": {
    "message": "Invalid username or password"
  }
}