On This Page 
    Payments Developer Guide
    This section describes how to use this guide and where to find further information.
- Audience and Purpose
- This guide is written for application developers who want to use theREST APIto integrate payment card processing into an order management system.Implementing theCybersourcepayment services requires software development skills. You must write code that uses the API request and response fields to integrate the payment card services into your existing order management system.
- Conventions
- These statements appear in this document:IMPORTANTAnImportantstatement contains information essential to successfully completing a task or learning a concept.WARNINGAWarningcontains information or instructions, which, if not heeded, can result in a security risk, irreversible loss of data, or significant cost in time or revenue or both.
- Related Documentation
- Visit theCybersourcedocumentation hub to find additional processor-specific versions of this guide and additional technical documentation.
- Customer Support
- For support information about any service, visit the Support Center:
Recent Revisions to This Document
    25.07.01
			
			- Extensiveeftposupdates
- Added:- Example of a sale with unbundled3-D Secure. See Rest Example: sale with unbundled 3-D Secure.
- Section about combining3-D Securewith sales. See Sales with3-D Secure.
- Section about sales bundled with payer authentication Enroll service. See Sales Bundled with Payer Authentication Enroll Service.
- A section about sales bundled with payer authentication Validate service. See Sales Bundled with Payer Authentication Validate Service.
- A section about follow-on refunds. See Follow-On Refunds.
- A section about stand-alone credits. See Stand-Alone Credits.
- A section about voiding a sale or stand-alone credit transaction. See Void for a Sale or Standalone Credit Transaction.
- Required fields for specific types of sales transactions. See Additional Required Fields for Specific Sales Transactions.
 
- Updated:
- Introduction toeftpos. See eftpos Australia.
- Information about card types. See Card Types.
- Card-not-present information to explain cardholder-initiated transactions and merchant-initiated transactions. See Card-Not-Present Tranactions.
- Types of sales transactions that are supported. See Sales.
- Test card numbers. See Test Card Numbers.
- New code examples.
 
- Removed:
- Content in the Payment Services section about authorizations.
- Content about dual message processing.
- Content about simulating errors.
- Content about American Express.
- Content about refunds.
- Content about timeout authorization reversals.
 
25.05.01
			
			
			
			This revision contains only editorial changes
				and no technical updates.
25.04.01
			
			
			This revision contains only editorial changes and no technical updates.
25.03
			
			
			This revision contains only editorial changes and no technical updates.
25.02
			
			
			This revision contains only editorial changes and no technical updates.
24.02
			This revision contains only editorial changes and no technical updates.
24.01
			Initial Release.
Introduction to Payments
    Introduction to Payments
This introduction provides the basic information that you need to successfully
                process payment transactions. It also provides an overview of the payments industry
                and provides workflows for each process.
With 
Cybersource
 payment services, you can process payment cards
                (tokenized or non-tokenized), digital payments such as Apple Pay and Google Pay, and
                customer ID transactions. You can process payments across the globe and across
                multiple channels with scalability and security. Cybersource
                supports a large number of payment cards and offers a wide choice of gateways and
                financial institutions, all through one connection.Visit the 
Cybersource
 documentation hub to find additional processor-specific versions
            of this guide and additional technical documentation.eftpos  Australia
            eftpos
  Australiaeftpos
  is Australia’s domestic debit card payments network.eftpos
  primarily offers co-badged dual network debit cards with
                international networks like Visa and Mastercard. These dual network debit cards can
                be used to make transactions through eftpos or the Visa/Mastercard networks.eftpos
  also has proprietary single network debit cards that are
                used only for card present transactions.Financial Institutions and Payment Networks
    Financial institutions and payment networks enable payment services to function. These
      entities work together to complete the full payment cycle.
Merchant Financial Institutions (Acquirers)
    A merchant financial institution, also known as an 
acquirer
, offers accounts to
      businesses that accept payment cards. Before you can accept payments, you must have a merchant
      account from an acquirer. Your merchant account must be configured to process
      card-not-present, card-present, or mail-order/telephone-order (MOTO) transactions.Each acquirer has connections to a limited number of payment processors. You
      must choose a payment processor that your acquirer supports.
You can expect your acquirer to charge these fees: 
- Discount rates: your acquirer charges a fee and collects a percentage of every transaction. The combination of the fee and the percentage is called thediscount rate. These charges can bebundled(combined into a single charge) orunbundled(charged separately).
- Interchange fees: payment networks, such as Visa or Mastercard, each have a base fee, called theinterchange fee, for each type of transaction. Your acquirer and processor can show you ways to reduce this fee.
- Chargebacks: when cardholders dispute charges, you can incurchargebacks. A chargeback occurs when a charge on a customer’s account is reversed. Your acquirer removes the money from your account and could charge you a fee for processing the chargeback.
 Take these precautions to prevent chargebacks: 
- Use accurate merchant descriptors so that customers can recognize the transactions on their statements.
- Provide good customer support.
- Ensure rapid problem resolution.
- Maintain a high level of customer satisfaction.
- Minimize fraudulent transactions.
If excessive chargebacks or fraudulant changes occur, these actions might be taken: 
- You might be required to change your business processes to reduce the number chargebacks, fraud, or both.
- Your acquiring institution might increase your discount rate.
- Your acquiring institution might revoke your merchant account.
Contact your sales representative for information about products that can help prevent
      fraud.
Customer Financial Institutions (Issuers)
    A customer financial institution, also known as an 
issuer
, provides payment cards to
      and underwrites lines of credit for their customers. The issuer provides monthly statements
      and collects payments. The issuer must follow the rules of the payment card companies to which
      they belong. Payment Networks
    Payment networks manage communications between acquiring financial institutions and issuing financial institutions. They also develop industry standards, support their brands, and establish fees for acquiring institutions. 
Some payment networks, such as Visa, Mastercard, and UnionPay International, are trade
      associations that do not issue cards. Issuers are members of these associations, and they
      issue cards under license from the association.
Payment Processors
    Payment processors connect with acquirers. Before you can accept payments, you must
            register with 
a payment processor
. An acquirer might
                require you to use a payment processor with an existing relationship with the
                acquirer.
Your payment processor
 assigns one or more merchant IDs (MIDs) to your
            business. These unique codes identify your business during payment transactions.Card Types
    eftpos
 supports these two types of cards: - Proprietary single network debit cards: These cards function exclusively within the domesticeftposnetwork for facilitating financial transactions.
- Co-badged dual network debit cards: These cards allow domestic payments to be processed by eithereftposor one of the international networks like Mastercard and Visa, offering greater flexibility and convenience.
Transaction Types
    This topic provides information about transaction types that are supported by your processor,
      such as card-present, card-not-present, and international transactions. 
Currently, 
eftpos
  supports only card-not-present
      transactions.Card-Not-Present Transactions
    When a customer provides a card number, but the card and the customer
      are not physically present at the merchant's location, the purchase is known as a
        
card-not-present transaction
. eftpos
  card-not-present
      transactions can be initiated either by the cardholder or the merchant: - Cardholder-Initiated Transactions: These transactions can be authenticated using either the Cardholder Verification Value (CVV) or3-D Secure. Currently,3-D Secure2.1.0 is supported foreftpos.
- Merchant-Initiated Transactions: These transactions can be authenticated using the CVV.3-D Secureauthentication is not supported.
Online transaction security is bolstered by mechanisms
      such as CVV and 
3-D Secure
, which play crucial roles in verifying cardholder
      identity and preventing fraudulent activities. The Card Verification Value(CVV) is a three-
      or four-digit number found on the back of credit or debit cards, providing an additional layer
      of security by confirming that the person making the transaction physically possesses the
      card. Meanwhile, 3-D Secure
 is a security protocol that adds an extra layer of
      authentication to online transactions. It typically involves sending a one-time password (OTP)
      to the cardholder's registered mobile device, ensuring that only the legitimate cardholder can
      authorize the transaction.Currently, 
3-D Secure
 authentication is supported only for
      cardholder-initiated transactions and version 2.1.0 of the 3-D Secure
      protocol.Payment Services
    Various services are involved in processing 
eftpos
  cards.These services enable customers to purchase goods and services. They also enable merchants to
      receive payments from customer accounts, to provide refunds, and to void transactions.
Sales
    A sale is a bundled authorization and capture. eftpos uses single-message
      format. Single-message processing treats the authorization and capture as a single
      transaction. The request is treated as a full financial transaction.
There are several types of sale transactions.
- Single payment: The customer provides their card information to a merchant for a one-time purchase. This card information is not saved, but the consumer can store their card information after the transaction. Only the cardholder can initiate a single payment.
- First Pay As You Go (PAYG): The customer registers their card details with the merchant to use for the first payment. This type of sale can include ad hoc transactions like order-ahead apps or transactions with variable frequency and fixed amounts, such as automatic top-ups for road tolls. The initial PAYG transactions can be initiated by the merchant or the cardholder.
- Subsequent PAYG: After the initial PAYG transaction occurs, subsequent payments are processed as the cardholder continues buying goods and services from the merchant.
- First Fixed-Frequency Recurring: The cardholder agrees to a schedule of payments at regular intervals between the consumer and the merchant using the stored payment information. The payment amount can be fixed (for example, a gym membership) or variable (for example, a consumption-based utility bill). In the current implementation, only recurring transactions with a fixed payment amount are supported. The first recurring payment can be initiated by the cardholder or the merchant.
- Subsequent Fixed-Frequency Recurring: The merchant uses the cardholder payment information to initiate payments at the scheduled intervals. The transaction amounts can be fixed or variable and the number of transactions the merchant may initiate are unlimited. In the current implementation, only recurring transactions with a fixed payment amount are supported. All subsequent recurring payments are merchant initiated.
- First Installment: The cardholder provides payment information and agrees to the number of payments, transaction amount, and the frequency of payments before the first transaction. The initial installment payments can be initiated by the cardholder or the merchant.
- Subsequent Installment: The cardholder provides payment information and agrees to the number of payments, transaction amount, and the frequency of payments before the first transaction. Subsequent installment payments are initiated by the merchant.
Sales with 3-D Secure
    3-D Secure
3-D Secure
 helps to minimize costly fraudulent transactions by adding an
            extra layer of protection to the payment process. Payer Authentication uses the 3-D Secure
 protocol in online transactions to verify that payment is coming from
            the actual cardholder. Most transactions can be authenticated without the customer being
            aware of the process, but higher-risk transactions might require an exchange of one-time
            passwords (OTPs) during authentication. This authentication of the payer before the
            transaction, benefits the merchant by shifting chargeback liability from the merchant to
            the card issuer.The authentication and authorization transactions can be bundled together or can occur
            sequentially, for example, authentication followed by authorization. Two types of
            bundled scenarios are possible:
- Combining Check Enrollment with Sale: When a customer is authenticated without a challenge, the transaction can be authorized in the same request or in a separate authorization request. Whether authorization occurs in the same request or a separate request, the values from the check enrollment response must be passed to the authorization request to qualify for a liability shift.
- Combining Validation with Sale: When a customer is authenticated after a challenge, the transaction can be authorized in the same request or in a separate authorization request. Whether authorization is combined with validation or occurs in a separate request, the values from the validation response must be passed to the authorization request to qualify for a liability shift to the issuing bank.
The current solution supports the 
3-D Secure
 2.1.0 specification. All
            customer-initiated card-not-present sales transactions mentioned in point 1 can be
            authenticated with 3-D Secure
. Currently, merchant-initiated 3-D Secure
 transactions are not supported for eftpos
 .These ECI values support 
3-D Secure
 transactions:| ECI Value | Description | 
|---|---|
| oci ( 05) | Authentication was successful for the  eftposcard. | 
| oci_attempted ( 06) | Authentication was attempted but not successful for the  eftposcard. | 
| oci_failure ( 07) | Authentication was unsuccessful for the  eftposcard. | 
For more information about payer authentication, see the 
Payer Authentication Developer Guide
. Credits
    Credits are payment refunds from a merchant to the cardholder after a cardholder pays for a
      product or service and that payment is captured by the merchant. When a credit request is
      successful, the issuer transfers funds from the merchant bank (acquirer) account to the
      customer's account. It typically takes 2 to 4 days for the acquirer to transfer funds from
      your merchant account.
WARNING
You should carefully control access to the credit service. Do not request
      this service directly from your customer interface. Instead, incorporate this service as part
      of your customer service process. This process reduces the potential for fraudulent
      transactions.
There are two basic types of credits: 
refunds
 and stand-alone credits.Refunds
      
      Refunds
Refunds, also known as 
follow-on refunds
, use the sale request ID
        to link the refund to a specific transaction. The request ID links the transaction to the
        customer’s billing and account information, so you are not required to include those fields
        in the credit request. Unless otherwise specified, refunds must be requested within 180 days of a settlement. You
        can request multiple refunds against a single 
purchase transaction as
          long as the total amount does not exceed the original purchase amount.
 To perform
        multiple refunds, use the same request ID in each request.Stand-Alone Credits
      Stand-alone credits are not connected to an original transaction. Stand-alone credits do
        not have a time restriction, and they can be used to issue refunds more than 180 days after
        a transaction settlement.
Credit Workflow
    The credit workflow begins when you send a request for a credit.
- The merchant sends a request for a credit toCybersource.
- For online credits,Cybersourcevalidates the order information then sends an online credit to the payment processor.
- The processor validates the request and forwards it to the acquiring bank.
- The acquiring bank transfers funds to the issuing bank.
Testing the Payment Services
    To ensure that requests are processed correctly, you must test the basic success and error
      conditions for each service you plan to use. 
Requirements for Testing
    Before you can test, contact customer support to activate the credit
        card services and configure your account for testing. You must also contact your processor
        to set up your processor account.
IMPORTANT
When building your connection to the 
Cybersource
        payment gateway, ensure that you have implemented controls to prevent card testing or card
        enumeration attacks on your platform. For more information, see the best practices guide. When we detect suspicious
        transaction activity associated with your merchant ID, including a card testing or card
        enumeration attack, Cybersource
 reserves the right to enable fraud
        management tools on your behalf in order to mitigate the attack. The fraud team might also
        implement internal controls to mitigate attack activity. These controls block traffic that
        is perceived as fraudulent. Additionally, if you are using one of our fraud tools and
        experience a significant attack, our internal team might modify or add rules to your
        configuration to help prevent the attack and minimize the threat to our infrastructure.
        However, any actions taken by Cybersource
 would not replace the need for you
        to follow industry standard best practices to protect your systems, servers, and
        platforms.Follow these requirements when you test your system:
        
- Use your regular merchant ID.
- Use a real combination for the city, state, and postal code.
- Use a real combination for the area code and telephone number.
- Use a nonexistent account and domain name for the customer’s email address.
- REST API test endpoint:POSThttps://apitest.cybersource.com/pts/v2/payments
Test Card Numbers
    Use these payment card numbers to test the authorization, capture, and credit services.
      Remove the spaces from the test card numbers when sending them to the test system. Do not use
      real payment card numbers. To test card types that are not included in the list, use an
      account number that is in the card’s BIN range. For best results, try each test with a
      different service request and with different test payment card numbers.
IMPORTANT
The test card numbers that are provided are
        formatted with Xs for zeroes in the card number. When testing with the card numbers, replace
        the Xs with a 0 (zero).
- eftposVisa co-badged card- 4434 X2XX XXXX XXX6
- 4X65 87XX XXXX XXXX
- 494X 53XX XXXX XXX1
 
- eftposMastercard co-badged card- 5163 6629 551X 5217
 
- eftpossole proprietary card- 5X21 18XX XXXX XXX4
- 5X1X X7XX XXXX XXXX
- 5X18 X3XX XXXX XXX6
 
Test card numbers for testing 
3-D Secure
 scenarios are available. For more
        information, go to the Payer Authentication Developer Guide
.Standard Payment Processing 
    This section shows you how to process various authorization, capture, credit, and sales
            transactions.
        Account Verification Request
    Account Verification Request
This section provides the information that you need in order to process an account verification request.
Authorizing a payment for an account verification request shows whether a payment card account is valid and whether the card is lost or stolen.
            You cannot capture an account verification request.
Endpoint
			Production:
					POST 
https://api.cybersource.com
/pts/v2/paymentsTest:
					POST 
https://apitest.cybersource.com
/pts/v2/paymentsRequired Fields for Processing an Account Verification
    Request
    an Account Verification
    Request
Use these required fields for processing 
an account verification
        request
.- Set the value toeftpos.
- Set the value toeftpos.
- Set the value toCNP.
- Set this value to0.
- Set the value tointernet.
Related Information
      REST Example: Processing an Account Verification
    Request
    an Account Verification
    Request
Request
{ "clientReferenceInformation": { "code": "Purchase_A61_050", "partner": { "developerId": "eftPOS", "solutionId": "CNP" }, "applicationUser": "eftPOS" }, "processingInformation": { "commerceIndicator": "internet", "capture": "false" }, "orderInformation": { "billTo": { "country": "AU", "lastName": "VDP", "address2": "Address 2", "address1": "123 Collins St", "postalCode": "3000", "locality": "Melbourne", "administrativeArea": "VI", "firstName": "CYBS", "phoneNumber": "3-9657-1234", "district": "VI", "buildingNumber": "123", "company": "Visa", "email": "test@cybs.com" }, "amountDetails": { "totalAmount": "0.00", "currency": "aud" } }, "paymentInformation": { "card": { "expirationYear": "2025", "number": "4687380100010006", "expirationMonth": "12", "type": "070", "securityCode": "123" } } }
Response to a Successful Request
{ "_links": { "authReversal": { "method": "POST", "href": "/pts/v2/payments/7464484268116175103091/reversals" }, "self": { "method": "GET", "href": "/pts/v2/payments/7464484268116175103091" }, "capture": { "method": "POST", "href": "/pts/v2/payments/7464484268116175103091/captures" } }, "clientReferenceInformation": { "code": "Purchase_A61_050", "partner": { "developerId": "eftPOS", "solutionId": "CNP" } }, "id": "7464484268116175103091", "orderInformation": { "amountDetails": { "authorizedAmount": "0.00", "currency": "aud" } }, "paymentAccountInformation": { "card": { "type": "070" } }, "paymentInformation": { "tokenizedCard": { "type": "070" }, "card": { "type": "070" } }, "processorInformation": { "systemTraceAuditNumber": "048168", "retrievalReferenceNumber": "048168334612", "responseCode": "00", "avs": { "code": "2" } }, "reconciliationId": "7464484268116175103091", "status": "AUTHORIZED", "submitTimeUtc": "2025-05-05T12:33:47Z" }
Sale
    This section provides the information you need in order to process a sale
            transaction.
A sale combines an authorization and a capture into a single transaction.
Endpoint
			Production: 
POST 
https://api.cybersource.com
/pts/v2/paymentsTest:
					POST 
https://apitest.cybersource.com
/pts/v2/paymentsRequired Fields for Processing a Sale
    - Set the value toeftpos.
- Set the value toeftpos.
- Set the value toCNP.
- Required for3-D Securetransactions when the ECI value isocioroci_attempted.
- Required for3-D Securetransactions when the ECI value isocioroci_attempted.
- Set to1for the registration or first transaction and2for subsequent transactions.
- Set the value totrue.
- Possible values:internet,recurring,install,oci,oci_attempted, andoci_failure
- Set to1for registration or first transaction and2for subsequent transactions.
Related Information
      Additional Required Fields for Specific Sales Transactions
    Some types of sales transactions require additional fields. The need for these fields
            and their values depend upon the type of transaction, whether the transaction was
            initiated by the customer or the merchant, and whether 
3-D Secure
            authentication is used in the transaction. Pay as You Go First Transaction
                The first transaction that is initiated by the customer.
- processingInformation.commerceIndicator
- Set tointernet/oci/oci_attempted/oci_failure.
- processingInformation.authorizationOptions. initiator.type
- Set tocustomer.
- processingInformation.authorizationOptions. initiator.credentialStoredOnFile
- Set totrue.
The first transaction that is initiated by the merchant.
- processingInformation.commerceIndicator
- Set tointernet.
- processingInformation.authorizationOptions. initiator.type
- Set tomerchant.
- processingInformation.authorizationOptions. initiator.credentialStoredOnFile
- Set totrue.
Pay as You Go Subsequent Transaction
                Pay as You Go subsequent transactions must include these additional fields in the
                sales transaction.
Pay as You Go subsequent transactions that are initiated by the customer.
- processingInformation.commerceIndicator
- Set tointernet/oci/oci_attempted/oci_failure.
- processingInformation.authorizationOptions. initiator.type
- Set tocustomer.
- processingInformation.authorizationOptions. initiator.storedCredentialUsed
- Set totrue.
Pay as You Go subsequent transactions that are initiated by the merchant.
- processingInformation.commerceIndicator
- Set tointernet.
- processingInformation.authorizationOptions. initiator.type
- Set tomerchant.
- processingInformation.authorizationOptions. initiator.storedCredentialUsed
- Set totrue.
Recurring First or Registration Transaction
                First or registration transactions must include these additional fields in the
                sales transaction. There are two sets of fields that can be used depending upon
                whether 
3-D Secure
 authentication occurs with the tranaction. Option 1
                is the preferred set of fields to use.First or registration transactions that are initiated by the customer: Option
                1
- processingInformation.commerceIndicator
- Set tointernet/oci/oci_attempted/oci_failure.
- processingInformation.authorizationOptions. initiator.type
- Set tocustomer.
- processingInformation.authorizationOptions. initiator.credentialStoredOnFile
- Set totrue.
- recurringPaymentInformation.type
- Set to1.
First or registration transactions that are initiated by the customer: Option 2
                    (
3-D Secure
 authentication cannot be done)- processingInformation.commerceIndicator
- Set torecurring.
- processingInformation.authorizationOptions. initiator.type
- Set tocustomer.
Initiated by the merchant
- processingInformation.commerceIndicator
- Set tointernet.
- processingInformation.authorizationOptions. initiator.type
- Set tomerchant.
- processingInformation.authorizationOptions. initiator.credentialStoredOnFile
- Set totrue.
- recurringPaymentInformation.type
- Set to1.
Subsequent Recurring Transaction
                Subsequent transactions must include these additional fields in the sales
                transaction. There are two sets of fields that can be used depending upon whether
                    
3-D Secure
 authentication occurs with the tranaction. Option 1 is
                the preferred set of fields to use.Subsequent recurring transactions that are initiated by the merchant: Option
                1
- processingInformation.commerceIndicator
- Set tointernet.
- processingInformation.authorizationOptions. initiator.type
- Set tomerchant.
- processingInformation.authorizationOptions. initiator.storedCredentialUsed
- Set totrue. (optional)
- recurringPaymentInformation.type
- Set to2.
Subsequent recurring transactions that are initiated by the merchant: Option 2 
- processingInformation.commerceIndicator
- Set torecurring.
- processingInformation.authorizationOptions. initiator.type
- Set tomerchant.
First or Registration Installment Transaction
                First installment or registration transactions must include these additional
                fields in the sales transaction. There are two sets of fields that can be used
                depending upon whether 
3-D Secure
 authentication occurs with the
                tranaction. Option 1 is the preferred set of fields to use.The first or registration installment transaction that is initiated by the
                customer: Option 1
- processingInformation.commerceIndicator
- Set tointernet/oci/oci_attempted/oci_failure.
- processingInformation.authorizationOptions. initiator.type
- Set tocustomer.
- processingInformation.authorizationOptions. initiator.credentialStoredOnFile
- Set totrue.
- installmentInformation.paymentType
- Set to1.
Initiated by the customer: Option 2 (
3-D Secure
 authentication
                cannot be done)- processingInformation.commerceIndicator
- Set toinstall.
- processingInformation.authorizationOptions. initiator.type
- Set tocustomer.
The first or registration installment transaction that is initiated by the
                merchant
- processingInformation.commerceIndicator
- Set tointernet.
- processingInformation.authorizationOptions. initiator.type
- Set tomerchant.
- processingInformation.authorizationOptions.initiator.credentialStoredOnFile
- Set totrue.
- installmentInformation.paymentType
- Set to1.
Subsequent Installment Transaction
                    
                        Subsequent installment transactions must include these additional fields
                in the sales transaction. There are two sets of fields that can be used depending
                upon whether 
3-D Secure
 authentication occurs with the tranaction.
                Option 1 is the preferred set of fields to use.Subsequent installment transactions are initiated by the merchant: Option 1
- installmentInformation.paymentType
- Set to2.
- processingInformation.commerceIndicator
- Set tointernet.
- processingInformation.authorizationOptions. initiator.type
- Set tomerchant.
- processingInformation.authorizationOptions. initiator.storedCredentialUsed
- Set totrue. (optional)
Subsequent installment transactions are nitiated by the merchant: Option 2 
- processingInformation.commerceIndicator
- Set toinstall.
- processingInformation.authorizationOptions. initiator.type
- Set tomerchant.
REST Example: Processing a Sale
    Request
{ "clientReferenceInformation": { "code": "Purchase_A61_050", "partner": { "developerId": "eftPOS", "solutionId": "CNP" }, "applicationUser": "eftPOS" }, "processingInformation": { "commerceIndicator": "internet", "capture": "true" }, "orderInformation": { "billTo": { "country": "AU", "lastName": "VDP", "address2": "Address 2", "address1": "123 Collins St", "postalCode": "3000", "locality": "Melbourne", "administrativeArea": "VI", "firstName": "CYBS", "phoneNumber": "3-9657-1234", "district": "VI", "buildingNumber": "123", "company": "Visa", "email": "test@cybs.com" }, "amountDetails": { "totalAmount": "176", "currency": "aud" } }, "paymentInformation": { "card": { "expirationYear": "2025", "number": "4687380100010006", "expirationMonth": "12", "type": "070", "securityCode": "123" } } }
Response to a Successful Request
Most processors do not return all of the fields that are shown in this example.
{ "_links": { "void": { "method": "POST", "href": "/pts/v2/payments/7464405393686886803092/voids" }, "self": { "method": "GET", "href": "/pts/v2/payments/7464405393686886803092" } }, "clientReferenceInformation": { "code": "Purchase_A61_050", "partner": { "developerId": "eftPOS", "solutionId": "CNP" } }, "id": "7464405393686886803092", "orderInformation": { "amountDetails": { "totalAmount": "176.00", "authorizedAmount": "176.00", "currency": "aud" } }, "paymentAccountInformation": { "card": { "type": "070" } }, "paymentInformation": { "tokenizedCard": { "type": "070" }, "card": { "type": "070" } }, "processorInformation": { "systemTraceAuditNumber": "048393", "cardVerification": { "resultCode": "M" }, "settlementDate": "0505", "retrievalReferenceNumber": "048393221910", "responseCode": "00", "avs": { "code": "2" } }, "reconciliationId": "7464405393686886803092", "status": "AUTHORIZED", "submitTimeUtc": "2025-05-05T10:22:19Z" }
REST Example: Sale with Unbundled 3-D Secure
  
    3-D Secure
  Request
{ "clientReferenceInformation": { "code": "Purchase_A61_050", "partner": { "developerId": "eftPOS", "solutionId": "CNP" }, "applicationUser": "eftPOS" }, "consumerAuthenticationInformation": { "cavv": "107b965bd3e20645afa84e63b91c03cc05050409", "directoryServerTransactionId": "f25084f0-5b16-4c0a-ae5d-b24808a95e4b" }, "processingInformation": { "commerceIndicator": "oci", "capture": "true", "authorizationOptions": { "initiator": { "type": "customer" } } }, "orderInformation": { "billTo": { "country": "AU", "lastName": "VDP", "address2": "Address 2", "address1": "123 Collins St", "postalCode": "3000", "locality": "Melbourne", "administrativeArea": "VI", "firstName": "CYBS", "phoneNumber": "3-9657-1234", "district": "VI", "buildingNumber": "123", "company": "Visa", "email": "test@email.com" }, "amountDetails": { "totalAmount": "176", "currency": "aud" } }, "paymentInformation": { "card": { "expirationYear": "2025", "number": "4687380100010006", "expirationMonth": "12", "type": "070" } } }
Response to a Successful Request
{ "_links": { "void": { "method": "POST", "href": "/pts/v2/payments/7459487237006411603091/voids" }, "self": { "method": "GET", "href": "/pts/v2/payments/7459487237006411603091" } }, "clientReferenceInformation": { "code": "Purchase_A61_050", "partner": { "developerId": "eftPOS", "solutionId": "CNP" } }, "id": "7459487237006411603091", "orderInformation": { "amountDetails": { "totalAmount": "176.00", "authorizedAmount": "176.00", "currency": "aud" } }, "paymentAccountInformation": { "card": { "type": "070" } }, "paymentInformation": { "tokenizedCard": { "type": "070" }, "card": { "type": "070" } }, "processorInformation": { "systemTraceAuditNumber": "041646", "settlementDate": "0430", "retrievalReferenceNumber": "041646452417", "consumerAuthenticationResponse": { "code": "2", "codeRaw": "2" }, "responseCode": "00", "avs": { "code": "2" } }, "reconciliationId": "7459487237006411603091", "status": "AUTHORIZED", "submitTimeUtc": "2025-04-29T17:45:24Z" }
Sale Bundled with Payer Authentication Enroll
        Service
    When a customer is authenticated without a challenge, the transaction can be authorized
            either in the same request or in a separate authorization request. Whether authorization
            occurs in the same request or a separate request, the values from the check enrollment
            response must be passed to the authorization request to qualify for a liability shift.
            This section provides information on how to process a transaction combined with
            authentication of the cardholder that does not require additional authentication.
For more information about Payer Authentication, see the 
Payer Authentication Developer Guide
. Endpoint
			Production: 
POST 
https://api.cybersource.com
/pts/v2/paymentsTest:
					POST 
https://apitest.cybersource.com
/pts/v2/paymentsREST Example: Processing a Sale with Payer Authetication
    Enroll Service
    Request
{ "clientReferenceInformation": { "code": "4f967fde-8bf1-46d6-9a75-3b3485514cc6", "applicationName": "REST API", "applicationVersion": "1.0" }, "processingInformation": { "capture": "true", "actionList": ["CONSUMER_AUTHENTICATION"] }, "orderInformation": { "billTo": { "country": "US", "lastName": "Name", "address2": "Address 2", "address1": "1295 Charleston Rd", "postalCode": "94043", "locality": "San Francisco", "administrativeArea": "CA", "firstName": "Noreal", "phoneNumber": "4158880000", "district": "MI", "buildingNumber": "123", "company": "Visa", "email": "null@email.com" }, "amountDetails": { "totalAmount": "25", "currency": "aud" } }, "paymentInformation": { "card": { "expirationYear": "2027", "number": "4000000000005126", "securityCode": "123", "expirationMonth": "12", "type": "070" } }, "consumerAuthenticationInformation": { "deviceChannel": "Browser", "acsWindowSize": "03", "strongAuthentication": { "transactionMode": "S" } }, "deviceInformation": { "userAgentBrowserValue": "chrome", "httpBrowserTimeDifference": "300", "httpBrowserScreenWidth": "100000", "httpBrowserScreenHeight": "100000", "httpBrowserLanguage": "en_us", "httpBrowserJavaScriptEnabled": "Y", "httpBrowserJavaEnabled": "N", "httpAcceptContent": "all", "httpBrowserColorDepth": "24", "ipAddress": "139.130.4.5", "httpAcceptBrowserValue": "test" }, "merchantInformation": { "merchantDescriptor": { "name": "Dusit LakeView Cairo", "administrativeArea": "TX", "country": "US" } } }
Response to a Successful Request
{ "_links": { "void": { "method": "POST", "href": "/pts/v2/payments/7448728340807102712431/voids" }, "self": { "method": "GET", "href": "/pts/v2/payments/7448728340807102712431" } }, "clientReferenceInformation": { "code": "4f967fde-8bf1-46d6-9a75-3b3485514cc6" }, "consumerAuthenticationInformation": { "eciRaw": "05", "authenticationTransactionId": "TmIn2Zebtm42nWjq1YJ1", "strongAuthentication": { "OutageExemptionIndicator": "0" }, "eci": "05", "token": "Axj//wSTk8vfEOjwJ0pvAMEs3aNHDdk4ZtGDhg3YsGTdiyaM2KbWNJ3KJRk2saTuUSEgycRPyhk2/+xcX IKJFCAlJyeXviHR4E6U3gAA2gLd", "cavv": "AJkBBkhgQQAAAE4gSEJydQAAAAA=", "paresStatus": "Y", "acsReferenceNumber": "CardinalACS", "xid": "AJkBBkhgQQAAAE4gSEJydQAAAAA=", "directoryServerTransactionId": "45f774ac-c3f1-4817-88c0-d3b570bf01d5", "veresEnrolled": "Y", "threeDSServerTransactionId": "d0d14efc-0a60-4721-9acd-351348666a70", "acsOperatorID": "MerchantACS", "ecommerceIndicator": "oci", "specificationVersion": "2.1.0", "acsTransactionId": "772b5bef-121c-4af4-9397-e4c4b34eb972" }, "id": "7448728340807102712431", "orderInformation": { "amountDetails": { "totalAmount": "25.00", "authorizedAmount": "25.00", "currency": "aud" } }, "paymentAccountInformation": { "card": { "brandName": "EFTPOS", "type": "070" } }, "paymentInformation": { "tokenizedCard": { "type": "070" }, "card": { "bin": "400000", "type": "070" } }, "processorInformation": { "systemTraceAuditNumber": "408128", "settlementDate": "0417", "retrievalReferenceNumber": "408128535506", "consumerAuthenticationResponse": { "code": "2", "codeRaw": "2" }, "responseCode": "00", "avs": { "code": "2" } }, "reconciliationId": "7448728340807102712431", "status": "AUTHORIZED", "submitTimeUtc": "2025-04-17T06:54:00Z" }
Sale Bundled with Payer Authentication Validate
        Service
    When a customer is authenticated after a challenge, the transaction can be authorized in
            the same request or in a separate authorization request. Whether authorization is
            combined with validation or occurs in a separate request, the values from the validation
            response must be passed to the authorization request to qualify for a liability shift to
            the issuing bank. This section provides information on how to process that type of
            transaction. 
For more details about Payer Authentication, see the 
Payer Authentication Developer Guide
. Endpoint
			Production: 
POST 
https://api.cybersource.com
/pts/v2/paymentsTest:
					POST 
https://apitest.cybersource.com
/pts/v2/paymentsREST Example: Processing a Sale with Bundled Payer
    Authentication Validate Service
    Request
{ "clientReferenceInformation": { "code": "4f967fde-8bf1-46d6-9a75-3b3485514cc6", "applicationName": "RESTAPI", "applicationVersion": "1.0" }, "processingInformation": { "capture": "true", "actionList": ["VALIDATE_CONSUMER_AUTHENTICATION"] }, "orderInformation": { "billTo": { "country": "US", "lastName": "Name", "address2": "Address2", "address1": "1295 Charleston Rd", "postalCode": "94043", "locality": "san francisco", "administrativeArea": "CA", "firstName": "Noreal", "phoneNumber": "4158880000", "district": "MI", "buildingNumber": "123", "company": "Visa", "email": "null@email.com" }, "amountDetails": { "totalAmount": "25", "currency": "aud" } }, "paymentInformation": { "card": { "expirationYear": "2027", "number": "4000000000005290", "securityCode": "123", "expirationMonth": "12", "type": "070" } }, "consumerAuthenticationInformation": { "authenticationTransactionId": "DxPf2DBldd8mHaFWv9d1", "deviceChannel": "Browser" }, "merchantInformation": { "merchantDescriptor": { "name": "DusitLakeViewCairo", "administrativeArea": "TX", "country": "US" } } }
Response to a Successful Request
{ "_links": { "void": { "method": "POST", "href": "/pts/v2/payments/7448733951827103312431/voids" }, "self": { "method": "GET", "href": "/pts/v2/payments/7448733951827103312431" } }, "clientReferenceInformation": { "code": "4f967fde-8bf1-46d6-9a75-3b3485514cc6" }, "consumerAuthenticationInformation": { "indicator": "oci", "eciRaw": "05", "authenticationResult": "0", "strongAuthentication": { "OutageExemptionIndicator": "0" }, "authenticationStatusMsg": "Success", "eci": "05", "token": "Axj//wSTk8vzABpWHeovAMEs3aNHDdmzctWLhk3YsGbNiyaM2KbWNJ3W5Rk2saTutyEg ycRPzhk2/+xcXIKJFCApJyeX5gA0rDvUXgAA/AhZ", "cavv": "AAIBBYNoEwAAACcKhAJkdQAAAAA=", "paresStatus": "Y", "xid": "AAIBBYNoEwAAACcKhAJkdQAAAAA=", "directoryServerTransactionId": "6ed6067c-d76a-4a13-a8f2-b4fa2cb86aef", "threeDSServerTransactionId": "696c3af2-01f5-4211-8427-a927441b3241", "specificationVersion": "2.1.0", "acsTransactionId": "ea0e0dc4-772b-49b9-91d7-ffe259fa876a" }, "id": "7448733951827103312431", "orderInformation": { "amountDetails": { "totalAmount": "25.00", "authorizedAmount": "25.00", "currency": "aud" } }, "paymentAccountInformation": { "card": { "brandName": "EFTPOS", "type": "070" } }, "paymentInformation": { "tokenizedCard": { "type": "070" }, "card": { "bin": "400000", "type": "EFTPOS" } }, "processorInformation": { "systemTraceAuditNumber": "408133", "seblementDate": "0417", "retrievalReferenceNumber": "408133031607", "consumerAuthenticationResponse": { "code": "2", "codeRaw": "2" }, "responseCode": "00", "avs": { "code": "2" } }, "reconciliationId": "7448733951827103312431", "status": "AUTHORIZED", "submitTimeUtc": "2025-04-17T07:03:21Z" }
Follow-On Refunds
    Follow-On 
RefundsThis section provides the information you need in order to process a 
refund
, which is linked to a 
      sale. 
      
    The expiration date is optional for card-not-present refund
      transactions.
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 Processing a Follow-On Refund
    Follow-On 
Refund
Use these required fields for processing a 
refund
.Related Information
			REST Example: Processing a Refund
    Request
{ "clientReferenceInformation" : { "code" : "eftpos1" }, "orderInformation" : { "amountDetails" : { "totalAmount" : "100.00", "currency" : "AUD" } } }
Response to a Successful Request
{ "_links" : { "void" : { "method" : "POST", "href" : "/pts/v2/refunds/7530655864106337303091/voids" }, "self" : { "method" : "GET", "href" : "/pts/v2/refunds/7530655864106337303091" } }, "clientReferenceInformation" : { "code" : "eftpos1" }, "id" : "7530655864106337303091", "orderInformation" : { "amountDetails" : { "currency" : "AUD" } }, "processorInformation" : { "systemTraceAuditNumber" : "188148", "retrievalReferenceNumber" : "188148394602", "settlementDate" : "0721", "responseCode" : "00" }, "reconciliationId" : "7530655864106337303091", "refundAmountDetails" : { "currency" : "AUD", "refundAmount" : "100.00" }, "status" : "PENDING", "submitTimeUtc" : "2025-07-21T02:39:46Z" }
Stand-Alone Credits
    Stand-Alone 
Credits
This section shows you how to process a credit, which
      is not linked to a capture or sale. There is no time limit for requesting a credit.
      
You can process a stand-alone credit, which is not linked to a sale
      transaction. When you request a void for the credit and the credit is voided, if your account
      is enabled for credit authorizations, the credit authorization is also reversed.
The expiration date is optional for card-not-present stand-alone credit
      transactions.
Endpoint
			Production:
					POST 
https://api.cybersource.com
/pts/v2/credits/Test:
					POST 
https://apitest.cybersource.com
/pts/v2/credits/Required Fields for Processing a Credit
    Use these required fields for processing a credit.
REST Example: Processing a Credit
    Request
{ "clientReferenceInformation": { "code": "Refund_A61_120", "partner": { "developerId": "eftPOS", "solu4onId": "CNP" }, "applicationUser": "eftPOS" }, "processingInformation": { "commerceIndicator": "internet", "reconcilia4onId": "222222" }, "orderInformation": { "billTo": { "country": "AU", "lastName": "VDP", "address1": "123 Collins St", "postalCode": "3000", "locality": "Melbourne", "administra4veArea": "VI", "firstName": "CY", "phoneNumber": "3-9657-1234", "district": "VI", "buildingNumber": "123", "company": "Visa", "email": "test@email.com" }, "amountDetails": { "totalAmount": "297.00", "currency": "aud" } }, "paymentInformation": { "card": { "expirationYear": "2025", "number": "4687380100010006", "expirationMonth": "12" } } }
Response to a Successful Request
{ "_links": { "void": { "method": "POST", "href": "/pts/v2/credits/7495205466746998403091/voids" }, "self": { "method": "GET", "href": "/pts/v2/credits/7495205466746998403091" } }, "clientReferenceInformation": { "code": "Refund_A61_120", "partner": { "developerId": "eftPOS", "solutionId": "CNP" }, }, "creditAmountDetails": { "currency": "aud", "creditAmount": "297.00" }, "id": "7495205466746998403091", "orderInformation": { "amountDetails": { "currency": "aud" } }, "paymentAccountInformation": { "card": { "type": "070" } }, "paymentInformation": { "tokenizedCard": { "type": "070" }, "card": { "type": "070" } }, "processorInformation": { "systemTraceAuditNumber": "277367", "retrievalReferenceNumber": "222222", "settlementDate": "0610", "responseCode": "00" }, "reconciliationId": "222222", "status": "PENDING", "submitTimeUtc": "2025-06-10T01:55:46Z" }
Void for a Sale or Stand-Alone Credit
      Transaction
    or Stand-Alone Credit
      Transaction
This section describes how to void a sale that was submitted but not yet processed by the
      processor.
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 Stand-Alone 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 Voiding a Sale 
    
    
REST Example: Voiding a Sale or Stand-Alone Credit
    Transaction
    Request
{ "clientReferenceInformation": { "code": "A61 050", } }
Response to a Successful Request
{ "_links" : { "self" : { "method" : "GET", "href" : "/pts/v2/voids/7495668874846651503091" } }, "clientReferenceInformation" : { "code" : "A61_050" }, "id" : "7495668874846651503091", "orderInformation" : { "amountDetails" : { "currency" : "AUD" } }, "processorInformation" : { "retrievalReferenceNumber" : "277722470514", "settlementDate" : "0611", "responseCode" : "00" }, "status" : "VOIDED", "submitTimeUtc" : "2025-06-10T14:48:10Z", "voidAmountDetails" : { "currency" : "AUD", "voidAmount" : "100.00" } }
Timeout Void for a Sale
            or a Stand-Alone Credit Transaction
    Timeout Void for a Sale
            or a Stand-Alone Credit Transaction
When you do not receive a response message after requesting a capture, sale, 
refund
, or credit
, this
            feature enables you to void the transaction that you requested.Include the 
clientReferenceInformation.transactionId
 field in the original request for a
            capture, sale, refund
, or credit
. The value of the merchant transaction ID must be unique for 180
            days.When the original transaction fails, the response message for the reversal request
            includes these fields:
- voidAmountDetails.originalTransactionAmount
- processorInformation.responseCode
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 Capture, Sale, Refund, or Credit
    Refund
, or Credit
Use these fields to request a timeout void for a refund
:Related Information
            REST Example: Time-Out Void for a Sale or Stand-Alone Credit or
      Refund
    Sale or Stand-Alone Credit or
      Refund
Request
{ "clientReferenceInformation": { "transactionId": "1234231332213112" } }
Response to a Successful Request
{ "_links": { "self": { "method": "GET", "href": "/pts/v2/voids/7171468281307104511992" } }, "clientReferenceInformation": { "code": "CNP Ref1", "transactionId": "1234231332213112" }, "id": "7171468281307104511992", "orderInformation": { "amountDetails": { "currency": "AUD" } }, "processorInformation": { "retrievalReferenceNumber": "296327133309", "settlementDate": "0531", "responseCode": "00" }, "reconciliationId": "7171468121957104411992", "status": "VOIDED", "submitTimeUtc": "2024-05-31T09:13:48Z", "voidAmountDetails": { "currency": "aud", "voidAmount": "101.00" } }