eftpos Sale
Overview
Use this information to process a sale transaction, which combines an authorization and capture into a single transaction. A sale transaction is also called a purchase in some regions.
eftpos supports these additional sale payment services:
Sale with cash out — The customer requests a cash amount in addition to their purchase. The total amount of the sale (purchase amount plus cash amount) is debited from their bank account and the customer receives the cash amount at the point of sale (POS). A cash out transaction is also called a cash back transaction.
Cash out — The customer uses their payment card to make a cash withdrawal (cash out) from their bank account at the POS without making a purchase.
Supported Processor
Supported processor: eftpos
Supported Transaction Types and Integrations
eftpos supports various card-present retail transaction types and integrations for point-of-sale (POS), mobile POS, and unattended devices. This table describes the entry mode, PIN capability, and device type requirements for each supported transaction type:
| Transaction Type | Entry Mode | PIN Capability | Device Type |
|---|---|---|---|
| Sale | Contact (PIN required)<br>Contactless<br>Keyed<br>Swiped (PIN required) | Offline PIN (contact only)<br>Online PIN (contact, contactless, keyed, swiped)<br>PINless (contactless, keyed; below CVM limit) | Required: All devices |
| Sale with Cash Out | Contact (PIN required)<br>Contactless (PIN required)<br>Swiped (PIN required) | Offline PIN (contact only)<br>Online PIN | Required: POS<br>Optional: Mobile POS, Unattended |
| Cash Out | Contact (PIN required)<br>Contactless (PIN required)<br>Swiped (PIN required) | Offline PIN (contact only)<br>Online PIN | Required: POS<br>Optional: Mobile POS, Unattended |
| Refund | Does not apply | Does not apply | Required: All devices |
| Credit | Contact<br>Contactless<br>Keyed<br>Swiped | Not supported | Required: All devices |
| Void | Linked to original transaction<br>Not supported for refund | Does not apply | Required: All devices |
| Time-Out Void | Linked to original transaction<br>Not supported for refund | Does not apply | Required: All devices |
EMV Tags Required for a Sale or Credit Request
The EMV tags listed in this table are required for eftpos sale or credit requests that include the pointOfSaleInformation.emv.tags field. A tag requirement can be required (M) or conditional (C). A conditional tag must be sent in the request when it is present in the card and terminal:
| Tag ID | Tag Name | Tag Length (Characters) | Tag Requirement | Comment |
|---|---|---|---|---|
| 82 | Application Interchange Profile | 2 | M | |
| 84 | Dedicated File Name | 5-16 | M | |
| 95 | Terminal Verification Results | 5 | M | TVR might have changed in 0420. For example, issuer authentication failure. |
| 9A | Transaction Date | 3 | M | |
| 9C | Transaction Type | 1 | M | |
| 5F2A | Transaction Currency Code | 2 | M | |
| 9F02 | Amount, Authorized | 6 | M | Authorized amount of the transaction (excluding adjustments), used when calculating the cryptogram. The value might not match the value in Field 4 when the merchant or terminal applies a discount or surcharge before the online authorization request. |
| 9F03 | Amount, Cash Out | 6 | M | Must contain the cash component for sale (purchase) with cash-out and cash-out-only transactions at POS. Contains zeros for sale transactions. |
| 9F19 | Token Requestor Id | 6 | C | Must be included, when present. |
| 9F10 | Issuer Application Data | Variable, up to 32 | M | Contains proprietary application data for transmission to the issuer in an online transaction, such as key index value and cryptogram version. |
| 9F1A | Terminal Country Code | 2 | M | |
| 9F26 | Application Cryptogram | 8 | M | Cryptogram returned by the EMV card in response to the GENERATE AC command. |
| 9F27 | Cryptogram Information Data | 1 | M | Indicates the type of cryptogram and the actions to be performed by the terminal. |
| 9F33 | Terminal Capabilities | 3 | C | Not present for in-app payments, otherwise required. |
| 9F34 | CVM Results | 3 | C | Not present for in-app payments, otherwise required. |
| 9F35 | Terminal Type | 1 | M | |
| 9F36 | Application Transaction Counter | 2 | M | For multi-network cards, this information cannot be shared by both scheme applets. |
| 9F37 | Unpredictable Number | 4 | M | Provides variability and uniqueness to the cryptogram. Required for full transactions and contactless, magnetic-stripe transactions. |
| 9F6E | Third Party Data | Variable, up to 32 | C | Must be included, when present. |
| 9F66 | Terminal Transaction Qualifier | 4 | C | Must be included, when present. Used for consumer-device CVM processing. |
EMV Tags Supported for a Sale or Credit Response
The EMV tags listed in this table are supported for eftpos sale or credit responses that include the pointOfSaleInformation.emv.tags field:
| Tag ID | Tag Name | Tag Length (Characters) | Comment |
|---|---|---|---|
| 71 | Issuer Script Template 1 | Variable, up to 127 | Present when received from the issuer (optional). |
| 72 | Issuer Script Template 2 | Variable, up to 127 | Present when received from the issuer (optional). |
| 9F36 | Application Transaction Counter | 2 | Present when received from the issuer (optional). |
| 8A | Authorization Response Code | 2 | Present when received from the issuer (optional). |
| 91 | Issuer Authentication Data (bytes 1-4) | 4 | Present when received from the issuer. Required for chip transactions when online issuer authentication is performed. Does not apply to contactless transactions. Contains the ARPC cryptogram. |
| 91 | Issuer Authentication Data (bytes 5-8) | 4 | See the Card Status Update Data Elements table. |
| 91 | Issuer Authentication Data (bytes 9-16) | Variable, up to 8 | Contains proprietary authentication data, when present. This data is not used by the card and can be used by the issuer to communicate data to the terminal. See the Card Status Update Data Elements table. |
The Card Status Update (CSU) data is transmitted to the EMV card as part of the Issuer Authentication data. This data indicates whether the issuer approved or declined a transaction, and triggers actions defined by the issuer:
| Byte | Bits | Description |
|---|---|---|
| 1 | 8 | 1: Proprietary Authentication Data included. |
| 1 | 7-5 | Reserved for Future Use (RFU). |
| 1 | 4-1 | PIN Tries Counter. |
| 2 | 8 | 1: Issuer approves online transaction. |
| 2 | 7 | 1: Card block. |
| 2 | 6 | 1: Application block. |
| 2 | 5 | 1: Update PIN Tries Counter. |
| 2 | 4 | 1: Set Go Online on next transaction. |
| 2 | 3 | 1: CSU created by proxy for the issuer. |
| 2 | 2-1 | Update counters: 00 = do not update counters, 01 = set counters to Upper Offline Limits, 10 = reset Offline Counters to zero, 11 = add transaction to Offline Counters. |
| 3 | All | RFU. |
| 4 | 8-5 | ID of the first additional transaction profile in which Offline Counters might be reset to zero. A value of 0000 means the issuer did not request the option. |
| 4 | 4-1 | ID of the second additional transaction profile in which Offline Counters might be reset to zero. A value of 0000 means the issuer did not request the option. |
Endpoints
POST /pts/v2/payments
POST /pts/v2/payments
Example
This example shows a sale for a contact transaction with online PIN.
{ "clientReferenceInformation": { "code": "test123", "comments": "eftpos purchase", "transactionId": "uniqueValue221", "partner": { "thirdPartyCertificationNumber": "testTPCN", "developerId": "eftpos12", "solutionId": "eftpos123" } }, "processingInformation": { "commerceIndicator": "retail", "capture": "true" }, "pointOfSaleInformation": { "terminalCapability": "9", "terminalPinCapability": "4", "trackData": ";4xxxxxxxxxxx3232=33122201135520000F?", "emv": { "tags": "9F3303E0F0D0950500000000009F37045AB3314A9F10200FA501000000000000000000000000000F0E21C106100000002F0000000000009F260879B5FCD1DAE1BA299F360201FA82025C009C01009F1A0200369A031708235F2A0200369F03060000000000009F2701809F34030200009F3501229F02060000000007009F6E0A0121C106100000002F829F660400004000" }, "pinBlockEncodingFormat": 0, "encryptedPin": "B2042C7F4175632F", "encryptedKeySerialNumber": "23288800990000000006", "entryMode": "contact" }, "paymentInformation": { "card": { "type": "070", "sourceAccountType": "SA" }, "paymentAccountReference": { "id": "TX3WNNNNNNNNNNNNNNNNNNNNNNNNN" } }, "orderInformation": { "amountDetails": { "totalAmount": "1002.12", "currency": "AUD" } }}{ "_links": { "void": { "method": "POST", "href": "/pts/v2/payments/7580450311816257603092/voids" }, "self": { "method": "GET", "href": "/pts/v2/payments/7580450311816257603092" } }, "clientReferenceInformation": { "code": "test123", "comments": "eftpos purchase", "partner": { "developerId": "eftpos12", "solutionId": "eftpos123" }, "transactionId": "uniqueValue221" }, "id": "7580450311816257603092", "orderInformation": { "amountDetails": { "totalAmount": "1002.12", "authorizedAmount": "1002.12", "currency": "AUD" } }, "paymentAccountInformation": { "card": { "type": "070" } }, "paymentInformation": { "tokenizedCard": { "type": "070" }, "card": { "type": "070" } }, "pointOfSaleInformation": { "emv": { "tags": "91084B4E9D760080000071189F180400000002860F8C1800000A8E0855D9DDEF76515D2C8A023936" } }, "processorInformation": { "systemTraceAuditNumber": "274061", "settlementDate": "0917", "retrievalReferenceNumber": "274061503117", "responseCode": "00", "avs": { "code": "2" } }, "reconciliationId": "7580450311816257603092", "status": "AUTHORIZED", "submitTimeUtc": "2025-09-16T17:50:31Z"}| Field | Description |
|---|---|
clientReferenceInformation.code | — |
clientReferenceInformation.comments | Set the value to eftpos purchase, eftpos purchase cashout, or eftpos cashout. |
clientReferenceInformation.partner.developerId | provides the value for this field. |
clientReferenceInformation.partner.solutionId | provides the value for this field. |
clientReferenceInformation.partner.thirdPartyCertificationNumber | provides the value for this field. |
clientReferenceInformation.transactionId | — |
merchantInformation.transactionLocalDateTime | — |
orderInformation.amountDetails.cashbackAmount | A value is required for sale (purchase) with cash out and cash-out only transactions. |
orderInformation.amountDetails.currency | — |
orderInformation.amountDetails.totalAmount | — |
paymentInformation.card.expirationMonth | A value is required for keyed transactions. |
paymentInformation.card.expirationYear | A value is required for keyed transactions. |
paymentInformation.card.number | A value is required for keyed transactions. |
paymentInformation.card.securityCode | A value is required for keyed transactions. |
paymentInformation.card.sourceAccountType | Set the value to CH or SA. |
paymentInformation.card.type | Set the value to 070. |
paymentInformation.paymentAccountReference.id | A value is required when EMV tag 9F24 is configured on the EMV card. |
pointOfSaleInformation.catLevel | A value is required for unattended transactions. |
pointOfSaleInformation.emv.cardSequenceNumber | A value is required when EMV tag 5F34 is configured on the EMV card. |
pointOfSaleInformation.emv.fallback | A value is required for EMV fallback transactions when the payment device is unable to communicate with the EMV card. Include all swiped entry mode required fields. |
pointOfSaleInformation.emv.tags | A value is required for full EMV on contact and contactless entry modes. Tag 5F34 is prohibited. |
pointOfSaleInformation.encryptedKeySerialNumber | A value is required for PIN transactions. |
pointOfSaleInformation.encryptedPin | A value is required for PIN transactions. |
pointOfSaleInformation.entryMode | Set the value to contact, contactless, swiped, or keyed. |
pointOfSaleInformation.pinBlockEncodingFormat | Set the value to 0 for PIN transactions. |
pointOfSaleInformation.terminalCapability | A value is required when configuring POS terminal capability. |
pointOfSaleInformation.terminalPinCapability | A value is required for all sale (purchase) transactions. |
pointOfSaleInformation.trackData | A value is required for contact, contactless, and swiped entry modes. |
processingInformation.authorizationOptions.cashAdvanceIndicator | Set the value to true for cash out transactions only. |
processingInformation.capture | Set the value to true. |
processingInformation.commerceIndicator | Set the value to retail. |
Related eftpos Transactions
- eftpos Refunds — Process a refund linked to a previous eftpos sale.
- eftpos Credits — Process a stand-alone eftpos credit.
- eftpos Voids — Void an eftpos sale or credit transaction.
- eftpos Timeout Voids — Cancel an eftpos sale or credit transaction that did not receive a response.
Thanks for your feedback!
Last published: September 29, 2026