On This Page
Card Present Connect | Retail Integration Guide
This section describes how to use this guide and where to find further information.
Audience and Purpose
This guide is written for merchants who want to process card-present retail payments
through
Cybersource
and provides information about the REST API
guide for eftpos
. For information about additional requirements
and options for card-present transactions, see the Payments Developer Guide
in the Technical Documentation
Portal.Conventions
The following special statement is used in this document:
IMPORTANT
An
Important
statement contains information essential to
successfully completing a task or learning a concept.Customer Support
For support information about any service, visit the Support Center:
Pilot Release
This document provides information about the pilot release of Card Present Connect | Retail for
the
eftpos
processor.Recent Revisions to This Document
25.09.01
Initial pilot release for
eftpos
.Introduction to Card Present Connect | Retail
Card Present Connect | Retail is part of a unified commerce solution for payment
technology providers. This solution supports card-present transactions at the point of
sale (POS) and on mobile POS devices. It also enables you to integrate with multiple
processors and acquirers.
The platform uses end-to-end encryption to enable secure and innovative payment
solutions. Retail integration and value-added services are available through a single
integration on the Card Present Connect payment management platform.
eftpos is Australia’s domestic debit card payments network, which
primarily offers co-badged, dual-network debit cards (DNDCs). These debit cards can be
used for transactions processed through eftpos, Visa, or Mastercard networks. eftpos
also offers single-network, eftpos-only debit cards that can be used for card-present
transactions only.
Enabling the Card Present Connect Platform
Before you can use the Card Present Connect platform, you must enable it.
Follow these steps to enable the Card Present Connect platform:
- Set up aCybersourcemerchant account. To get started, contact your sales engineer, alliance partner, or technical account manager.
- Integrate theCybersourceAPIs for use on the Card Present Connect platform.
- Integrate your terminal’s key management encryption and decryption with the Card Present Connect platform.
- Complete message-level validation (MLV) and Level 3 (L3) device certification. To get started, contact your sales engineer, alliance partner, or technical account manager.
Card-Present Transaction Risk Control Requirements
Card-present transactions carry lower risk than card-not-present transactions because the
customer and payment card are physically present, which can result in lower transaction
fees. However, acquirers must still apply standard risk-control measures. Acquirers must
monitor transaction activity and manage fraud and disputes in accordance with payment
network rules, including the Global Acquirer Risk Standards. They also must comply with
these Visa risk compliance programs:
- Visa Fraud Monitoring Program
- Visa Dispute Monitoring Program
- EnableCybersourcetransaction and fraud monitoring tools.
- Ensure that their payment technology partners (PTPs) implement transaction and fraud monitoring tools.
- Deploy their own transaction and fraud monitoring tools.
Each option provides necessary fraud and risk controls for direct merchant relationships
and for PTPs that do not operate their own monitoring solutions.
For
more information, see Fraud and Risk Management
Solutions.
Supported Transactions Types and Integrations
eftpos supports various card-present retail transaction types and integrations for
point-of-sale (POS), mobile POS, and unattended devices.
For information about required and supported EMV tags, see EMV Tags Required for a Sale or Credit Request and EMV Tags Supported for a Sale or Credit Response.
Transaction Type | Entry Mode | PIN Capability | Device Type |
|---|---|---|---|
Sale |
|
|
|
Sale with Cash Out |
|
|
|
Cash Out |
|
|
|
Refund |
|
|
|
Credit |
|
|
|
Void |
|
|
|
Time-Out Void |
|
|
|
Card-Present Retail Payment Services
This section describes various card-present retail payment services and describes how to
use them.
EMV Tags Required for a Sale or Credit Request
The EMV tags listed in the table are required for
eftpos
sale or
credit requests that include the pointOfSaleInformation.emv.tags
REST API field. A tag requirement can be mandatory (M
) or conditional
(C
). A conditional tag must be sent in the request when it is present in
the card and terminal. For information about supported EMV tags for responses, see EMV Tags Supported for a Sale or Credit Response. For an overview of supported payment services, see Supported Transactions Types and Integrations.
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 | |
9F03 | Amount, Cash Out | 6 | M | |
9F19 | Token Requestor Id | 6 | C | Must be included, when present. |
9F10 | Issuer Application Data | Variable, up to 32 | M | |
9F1A | Terminal Country Code | 2 | M | |
9F26 | Application Cryptogram | 8 | M | Cryptogram returned by the ICC in
response of 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 mandatory. |
9F34 | CVM Results | 3 | C | Not present for in-app payments,
otherwise mandatory. |
9F35 | Terminal Type | 1 | M | |
9F36 | Application Transaction Counter | 2 | M | For multi-network cards, this
information cannot not be shared by both scheme applets. |
9F37 | Unpredictable Number | 4 | M | |
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 the first table are supported for
eftpos
sale or credit responses that include the
pointOfSaleInformation.emv.tags
REST API field. The second table describes the components of Card Status Update (CSU) data. This data
is transmitted to the ICC as part of the Issuer Authentication data and includes
these details:
- Indicates whether the issuer approved or declined a transaction.
- Triggers actions defined by the issuer.
For information about required EMV tags for requests, see EMV Tags Required for a Sale or Credit Request.
For an overview of supported payment services, see Supported Transactions Types and Integrations.
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 | Variable, up to 16 | |
Bytes 1–4 | 4 | ARPC cryptogram. | |
Bytes 5–8 | 4 | See the Card Status Update Data
Elements table for more information. | |
Bytes 9–16 | Variable, up to 8 |
Byte | Bits | Description |
|---|---|---|
1 | 8 | 1 : Proprietary
Authentication Data included. |
7–5 | Reserved for Future Use (RFU). | |
4–1 | PIN Tries Counter. | |
2 | 8 | 1 : Issuer approves
online transaction. |
7 | 1 : Card block. | |
6 | 1 : Application
block. | |
5 | 1 : Update PIN Tries
Counter. | |
4 | 1 : Set Go Online on
next transaction. | |
3 | 1 : CSU created by
proxy for the issuer. | |
2-1 | Update counters:
| |
3 | All | RFU. |
4 | 8-5 | ID of the first additional transaction
profile in which Offline Counters may be reset to zero. Value of
0000 means that the issuer did not request the
option. |
4-1 | ID of the second additional transaction
profile in which Offline Counters may be reset to zero. Value of
0000 means that the issuer did not request the
option. |
Sale
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.
For information about required and supported EMV tags, see EMV Tags Required for a Sale or Credit Request and EMV Tags Supported for a Sale or Credit Response.
For an overview of supported payment services, see Supported Transactions Types and Integrations.
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 acash 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.
Endpoint
Production:
POST
https://api.cybersource.com
/pts/v2/paymentsTest:
POST
https://apitest.cybersource.com
/pts/v2/paymentsRequired Fields for a Sale
- Set the value toeftpos purchase,eftpos purchase cashout, oreftpos cashout.
- Cybersourceprovides the value for this field.
- Cybersourceprovides the value for this field.
- Cybersourceprovides the value for this field.
- A value is required for sale (purchase) with cash out and cash-out only transactions.
- A value is required for keyed transactions.
- A value is required for keyed transactions.
- A value is required for keyed transactions.
- A value is required for keyed transactions.
- Set the value toCHorSA.
- Set the value to070.
- A value is required when EMV tag 9F24 is configured on the ICC/Chip.
- A value is required for unattended transactions.
- A value is required when EMV tag 5F34 is configured on the ICC/Chip.
- A value is required for EMV fallback transactions when the payment device is unable to communicate with the ICC. Include all swiped entry mode required field.
- A value is required for full EMV on contact and contactless entry modes. Tag 5F34 is prohibited.
- A value is required for PIN transactions.
- A value is required for PIN transactions.
- Set the value tocontact,contactless,swiped, orkeyed.
- Set the value to0for PIN transactions.
- A value is required when configuring POS terminal capability.
- A value is required for all sale (purchase) transactions.
- A value is required for contact, contactless, and swiped entry modes.
- Set the value totruefor cash out transactions only.
- Set the value totrue.
- Set the value toretail.
Related Information
REST Example: Sale for Contact with PIN
Request
{ "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": ";4687383222403232=33122201135520000F?", "emv": { "tags": "9F3303E0F0D0950500000000009F37045AB3314A9F10200FA501000000000000000000000000000 F0E21C106100000002F0000000000009F260879B5FCD1DAE1BA299F360201FA82025C009C01009F1A0200369A031708235 F2A0200369F03060000000000009F2701809F34030200009F3501229F02060000000007009F6E0A0121C106100000002F829F660400004000" }, "pinBlockEncodingFormat": 0, "encryptedPin": "B2042C7F4175632F", "encryptedKeySerialNumber": "23288800990000000006", "entryMode": "contact" }, "paymentInformation": { "card": { "type": "070", "sourceAccountType": "SA" }, "paymentAccountReference": { "id": "TX3WNNNNNNNNNNNNNNNNNNNNNNNNN" } }, "orderInformation": { "amountDetails": { "totalAmount": "1002.12", "currency": "AUD" } } }
Response to a Successful Request
{ "_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" }
Refund
Use this information to process a refund. This transaction is also called a
follow-on
refund
or linked refund
. To link a refund to a specific sale transaction,
include the original transaction ID in the request. A refund with online PIN is not
supported currently. For an overview of supported payment services, see Supported Transactions Types and Integrations. Endpoint
Production:
POST
https://api.cybersource.com
/pts/v2/payments/{id}
/refundsTest:
POST
https://apitest.cybersource.com
/pts/v2/payments/{id}
/refundsThe is the transaction ID
returned in the capture or sale response.
{id}
Required Fields for a Refund
- Set the value toeftpos refund.
- Cybersourceprovides the value for this field.
- Cybersourceprovides the value for this field.
- Cybersourceprovides the value for this field.
REST Example: Refund
Request
{ "clientReferenceInformation": { "code": "RTSFOCredit", "comments": "eftpos refund", "transactionId": "uniqueValue11", "partner": { "thirdPartyCertificationNumber": "testTPCN", "developerId": "eftpos12", "solutionId": "eftpos123" } }, "orderInformation": { "amountDetails": { "totalAmount": "100.00", "currency": "AUD" } } }
Response to a Successful Request
{ "_links": { "void": { "method": "POST", "href": "/pts/v2/refunds/7580524608596456303813/voids" }, "self": { "method": "GET", "href": "/pts/v2/refunds/7580524608596456303813" } }, "clientReferenceInformation": { "code": "RTSFOCredit", "comments": "eftpos refund", "partner": { "developerId": "eftpos12", "solutionId": "eftpos123" }, "transactionId": "uniqueValue11" }, "id": "7580524608596456303813", "orderInformation": { "amountDetails": { "currency": "AUD" } }, "processorInformation": { "systemTraceAuditNumber": "522395", "retrievalReferenceNumber": "522395542119", "settlementDate": "0917", "responseCode": "00" }, "reconciliationId": "7580524608596456303813", "refundAmountDetails": { "currency": "AUD", "refundAmount": "100.00" }, "status": "PENDING", "submitTimeUtc": "2025-09-16T19:54:21Z" }
Credit
Use this information to process a credit, which is not linked to a previous sale
transaction. A credit with online PIN is not supported currently.
For information about required and supported EMV tags, see EMV Tags Required for a Sale or Credit Request and EMV Tags Supported for a Sale or Credit Response.
For an overview of supported payment services, see Supported Transactions Types and Integrations.
Endpoint
Production:
POST
https://api.cybersource.com
/pts/v2/credits/Test:
POST
https://apitest.cybersource.com
/pts/v2/credits/Required Fields for a Credit
- A value is required for a payment aggregator or facilitator.
- Set the value toeftpos credit.
- Cybersourceprovides the value for this field.
- Cybersourceprovides the value for this field.
- Cybersourceprovides the value for this field.
- A value is required for keyed transactions.
- A value is required for keyed transactions.
- A value is required for keyed transactions.
- A value is required for keyed transactions.
- Set the value toCHorSA.
- Set the value to070.
- A value is required when EMV tag 9F24 is configured on the ICC/Chip.
- A value is required for unattended transactions.
- A value is required when EMV tag 5F34 is configured on the ICC/Chip.
- A value is required for EMV fallback transactions when the payment device is unable to communicate with the ICC. Include all swiped entry mode required field.
- A value is required for full EMV on contact and contactless entry modes. Tag 5F34 is prohibited.
- Set the value tocontact,contactless,swiped, orkeyed.
- A value is required when configuring POS terminal capability.
- A value is required for contact, contactless, and swiped entry modes.
- Set the value toretail.
REST Example: Credit
Request
{ "clientReferenceInformation": { "code": "test123", "comments": "eftpos credit", "transactionId": "uniqueValue1", "partner": { "thirdPartyCertificationNumber": "testTPCN", "developerId": "eftpos12", "solutionId": "eftpos123" } }, "processingInformation": { "commerceIndicator": "retail" }, "orderInformation": { "amountDetails": { "totalAmount": "100.00", "currency": "aud" } }, "pointOfSaleInformation": { "trackData": ";4687383%%%222403232=33122201135520000F?", "terminalCapability": "4", "entryMode": "swiped" }, "paymentInformation": { "card": { "type": "070", "sourceAccountType": "SA" } } }
Response to a Successful Request
{ "_links": { "void": { "method": "POST", "href": "/pts/v2/credits/7580673765346082503814/voids" }, "self": { "method": "GET", "href": "/pts/v2/credits/7580673765346082503814" } }, "clientReferenceInformation": { "code": "test123", "comments": "eftpos credit", "partner": { "developerId": "eftpos12", "solutionId": "eftpos123" }, "transactionId": "uniqueValue1" }, "creditAmountDetails": { "currency": "aud", "creditAmount": "100.00" }, "id": "7580673765346082503814", "orderInformation": { "amountDetails": { "currency": "aud" } }, "paymentAccountInformation": { "card": { "type": "070" } }, "paymentInformation": { "tokenizedCard": { "type": "070" }, "card": { "type": "070" } }, "processorInformation": { "systemTraceAuditNumber": "522495", "retrievalReferenceNumber": "522495025600", "settlementDate": "0917", "responseCode": "00" }, "reconciliationId": "7580673765346082503814", "status": "PENDING", "submitTimeUtc": "2025-09-17T00:02:56Z" }
Void for a Sale or Credit
Use this information to void a sale or credit transaction that was submitted but not yet
processed by the processor. A void for a refund is not supported currently.
For an overview of supported payment services, see Supported Transactions Types and Integrations.
Void a Sale Transaction
Endpoint
Production:
POST
https://api.cybersource.com
/pts/v2/payments/{id}
/voidsTest:
POST
https://apitest.cybersource.com
/pts/v2/payments/{id}
/voidsThe is the transaction ID returned in the
sale response.
{id}
Void a Credit Transaction
Endpoint
Production:
POST
https://api.cybersource.com
/pts/v2/credits/{id}
/voidsTest:
POST
https://apitest.cybersource.com
/pts/v2/credits/{id}
/voidsThe is the transaction ID returned
during the capture or credit response.
{id}
Required Fields for a Void for a Sale or Credit
- Set the value toeftpos void.
- Cybersourceprovides the value for this field.
- Cybersourceprovides the value for this field.
- Cybersourceprovides the value for this field.
REST Example: Void for a Sale or Credit
Request
{ "clientReferenceInformation": { "code": "RTS-Void", "comments": "eftpos void", "partner": { "thirdPartyCertificationNumber": "testTPCN", "developerId": "eftpos12", "solutionId": "eftpos123" } } }
Response to a Successful Request
{ "_links": { "self": { "method": "GET", "href": "/pts/v2/voids/7580633387756828103814" } }, "clientReferenceInformation": { "code": "RTS-Void", "comments": "eftpos void", "partner": { "developerId": "eftpos12", "solutionId": "eftpos123" } }, "id": "7580633387756828103814", "orderInformation": { "amountDetails": { "currency": "AUD" } }, "processorInformation": { "retrievalReferenceNumber": "522493541022", "settlementDate": "0917", "responseCode": "00" }, "reconciliationId": "7580632501046798503812", "status": "VOIDED", "submitTimeUtc": "2025-09-16T22:55:39Z", "voidAmountDetails": { "currency": "aud", "voidAmount": "100.00" } }
Time-Out Void for a Sale or Credit
Use this information to process a time-out void for a sale or credit. This service
enables you to cancel a transaction for which you did not receive a response. A time-out
void for a refund is not supported currently.
For an overview of supported payment services, see Supported Transactions Types and Integrations.
Endpoint
Production:
POST
https://api.cybersource.com
/pts/v2/voids/Test:
POST
https://apitest.cybersource.com
/pts/v2/voids/Required Fields for a Time-Out Void for a Sale or
Credit
- Set the value toeftpos timeout void.
- Set the value to thetransaction IDfor the original transaction.
- Cybersourceprovides the value for this field.
- Cybersourceprovides the value for this field.
- Cybersourceprovides the value for this field.
REST Example: Time-Out Void for a Sale or Credit
Request
{ "clientReferenceInformation": { "code": "RTS-TimeOutVoid", "comments": "eftpos timeout void", "transactionId": "uniqueValue1", "partner": { "thirdPartyCertificationNumber": "testTPCN", "developerId": "eftpos12", "solutionId": "eftpos123" } } }
Response to a Successful Request
{ "_links": { "self": { "method": "GET", "href": "/pts/v2/voids/7580640991306189703814" } }, "clientReferenceInformation": { "code": "RTS-TimeOutVoid", "comments": "eftpos timeout void", "partner": { "developerId": "eftpos12", "solutionId": "eftpos123" }, "transactionId": "uniqueValue1" }, "id": "7580640991306189703814", "orderInformation": { "amountDetails": { "currency": "AUD" } }, "processorInformation": { "retrievalReferenceNumber": "522492514022", "settlementDate": "0917", "responseCode": "00" }, "reconciliationId": "7580631006866928703813", "status": "VOIDED", "submitTimeUtc": "2025-09-16T23:08:19Z", "voidAmountDetails": { "currency": "aud", "voidAmount": "100.00" } }