Card Present Connect | Electric Vehicle Charging 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 integrate payment processing for electric vehicle (EV) charging services. These API services are available using the REST API.
Implementing these API services requires software development skills and knowledge of EV charging payment practices. You must write code that uses the REST API request and response fields to integrate the payment services into your existing EV charging payment system.
Related Documentation
Visit the
Cybersource
documentation 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.09.01

Renamed and updated Supported Card Types section to include supported entry modes. See Supported Card Types and Entry Modes.
Globally updated partial reversal description from "partial authorization reversal request" to "automatic, host-generated partial reversal request."
Reorganized Electric Vehicle Charging Payment Services to streamline the use cases. Updated all required fields lists and REST examples.
Replaced the Capture comments field value description in the Flexible Transaction table. See Electric Vehicle Charging Transaction Descriptions.

25.06.01

Updated the transaction scenario workflow diagrams and descriptions in Electric Vehicle Charging Transaction Scenarios.

25.05.01

Initial pilot release.

VISA Platform Connect: Specifications and Conditions for Resellers/Partners

The following are specifications and conditions that apply to a Reseller/Partner enabling its merchants through
Cybersource for
Visa Platform Connect
(“VPC”) processing
. Failure to meet any of the specifications and conditions below is subject to the liability provisions and indemnification obligations under Reseller/Partner’s contract with Visa/Cybersource.
  1. Before boarding merchants for payment processing on a VPC acquirer’s connection, Reseller/Partner and the VPC acquirer must have a contract or other legal agreement that permits Reseller/Partner to enable its merchants to process payments with the acquirer through the dedicated VPC connection and/or traditional connection with such VPC acquirer.
  2. Reseller/Partner is responsible for boarding and enabling its merchants in accordance with the terms of the contract or other legal agreement with the relevant VPC acquirer.
  3. Reseller/Partner acknowledges and agrees that all considerations and fees associated with chargebacks, interchange downgrades, settlement issues, funding delays, and other processing related activities are strictly between Reseller and the relevant VPC acquirer.
  4. Reseller/Partner acknowledges and agrees that the relevant VPC acquirer is responsible for payment processing issues, including but not limited to, transaction declines by network/issuer, decline rates, and interchange qualification, as may be agreed to or outlined in the contract or other legal agreement between Reseller/Partner and such VPC acquirer.
DISCLAIMER: NEITHER VISA NOR CYBERSOURCE WILL BE RESPONSIBLE OR LIABLE FOR ANY ERRORS OR OMISSIONS BY THE
Visa Platform Connect
ACQUIRER IN PROCESSING TRANSACTIONS. NEITHER VISA NOR CYBERSOURCE WILL BE RESPONSIBLE OR LIABLE FOR RESELLER/PARTNER BOARDING MERCHANTS OR ENABLING MERCHANT PROCESSING IN VIOLATION OF THE TERMS AND CONDITIONS IMPOSED BY THE RELEVANT
Visa Platform Connect
ACQUIRER.

Introduction to Electric Vehicle Charging

The
Cybersource
solution for processing electric vehicle (EV) charging transactions is Card Present Connect | Electric Vehicle Charging. This solution is built on global standards established by card schemes to ensure reliable, scalable, and secure processing for card-not-present transactions and EMV contact/contactless card-present transactions. Magnetic stripe processing should be used only as a fallback payment method.

Supported Card Types and Entry Modes

These card types are supported for EV charging transactions:
  • Visa
  • Mastercard
These entry modes are supported for EV charging transactions:
  • Contact
  • Contactless
  • Swiped

Prerequisites

Before integrating
Cybersource
services for EV charging transactions, you must have these items in place:
  • Merchant account with an acquirer that is enabled for processing EV charging transactions on
    Visa Platform Connect
    .
  • Cybersource
    account for payment services.
  • Payment technology provider (PTP) that is integrated with
    Cybersource
    and can perform message-level validation (MLV).
  • EMV Level 1 certified terminals and EMV Level 2 certified software in preparation for EMV Level 3 Certification.

Validation and Certification

Work with your payment technology provider (PTP) to allocate time to complete the message-level validation (MLV) and EMV Level 3 certification with your EV charging processing system. You must pass MLV before beginning EMV Level 3 certification. You must complete validation and certification before your system can go live. For more information, see Prerequisites.

Message-Level Validation

Message-level validation (MLV) is a script-based, field-level validation against
Cybersource
specifications.
Your PTP uses amount-based test triggers to send transactions to a test environment and the Visa Certification Management System for decryption. The test results are XML or RESTful output,
Business Center
test transactions, and log prints.
Cybersource
uses these tests to validate the results:
  • Cross edit checks
  • Data element validation
  • Interchange compliance
  • Data mapping validation

EMV Level 3 Certification

This topic is an overview of the Level 3 certification with
Cybersource
and
Visa Platform Connect
. For details on how to design an EMV Level 3 certified payment application, see EMV Book 3 on the EMVCo website: https://www.emvco.com.
Certification
is a formal process that for validating the device and application compliance with card scheme acceptance requirements. The certification team uses a brand test tool and simulator. The consists of these elements:
  • Using a card simulator such as ICC or Fime.
  • Failed case analysis and resolution.
  • For Mastercard certification, your PTP submits results to Mastercard and pays the costs for approved partners that Mastercard uses.
  • For Visa certification,
    Cybersource
    submits results to Visa.
  • Waivers from the card schemes for exceptions.
  • Card scheme responses or Letter of Approval (LOA) to signify acceptance and Level 3 certification.
Although the processes and support for Global Card Present Connect projects and direct merchant and acquirer projects are different, the timelines are essentially the same.

Card-Present Transaction Risk Control Requirements

Card-present transactions are less risky than card-not-present transactions because the customer is present. This reduced risk results in lower transaction fees for card-present transactions. Although the risks are lower, risk-control are still required for card-present transactions.
The acquirer is responsible for monitoring transaction risk and for managing fraud and disputes in keeping with payment network rules, including Global Acquirer Risk Standards. Monitoring and management activities also must comply with these Visa risk compliance programs:
  • Visa Fraud Monitoring Program
  • Visa Dispute Monitoring Program
To comply with risk control requirements, the acquirer must use one of these options:
  • Enable
    Cybersource
    transaction and fraud monitoring tools.
  • Ensure that its payment technology providers (PTPs) implement transaction and fraud monitoring tools.
  • Deploy its own transaction and fraud monitoring tools.
Each option provides fraud and risk controls for direct merchant relationships and payment technology providers with no transaction or fraud monitoring tools.
For more information, see Fraud and Risk Management Solutions.

Electric Vehicle Charging Transaction Scenarios

This section describes the EV charging transaction scenarios supported by
Cybersource
.

Pre-Pay Transaction Scenario

The Pre-Pay transaction scenario for EV charging enables a customer to pay in advance for the electricity they plan to use when charging their electric vehicle. The transaction amount is calculated based on the amount of time or number of kilowatts (kW) the customer chooses at the start of the charging session. When the final cost of the charging session is less than the estimated amount, an automatic, host-generated partial reversal request is sent at the time of capture.

Figure:

Pre-Pay Transaction Workflow
Pre-Pay transaction workflow diagram showing the sequence of events in the
                        transaction process
The Pre-Pay transaction workflow for EV charging typically consists of this sequence of events:
  1. The customer chooses the amount of time or number of kW to charge their electric vehicle and presents a payment method to pre-pay for the EV charging session.
  2. The charging session transaction amount is calculated by the EV charging payment system using the amount of time spent charging or number of kW chosen.
  3. The authorization request is sent to the issuing bank.
  4. The issuing bank approves the transaction and sends an authorization response. A temporary hold for the authorized amount is placed on the customer's payment method.
  5. The EV charging session starts. To add more time or kW, the customer must start a new charging session.
  6. The EV charging session ends when the customer's chosen amount of time or number of kW is reached. If the charging session ends before the chosen amount of charging is achieved, an automatic, host-generated partial reversal request is sent for the unused transaction amount.
  7. A capture request for the final transaction amount is sent to the issuing bank. When the final cost of the charging session is less than the estimated amount, an automatic, host-generated partial reversal request is sent at the time of capture.

Post-Pay Transaction Scenario

The Post-Pay transaction scenario for EV charging enables a customer to pay for the electricity they use to charge their electric vehicle when the charging session ends. The final transaction amount is calculated based on the amount of time or number of kilowatts (kW) used during the EV charging session.

Figure:

Post-Pay Transaction Workflow
Post-Pay transaction workflow diagram showing the sequence of events in the
                        transaction process
The Post-Pay transaction workflow for EV charging typically consists of this sequence of events:
  1. The customer can choose a specific amount of time or the number of kilowatts (kW) to charge their electric vehicle or can start a charging session for an unspecified amount.
  2. The customer presents a payment method to pay for the EV charging session.
  3. The EV charging session starts.
  4. The EV charging session ends when the customer's chosen amount of time or number of kW is reached, the battery is fully charged, or the customer manually stops the charging session.
  5. The charging session transaction amount is calculated by the EV charging payment system using the amount of time spent charging or the number of kW consumed.
  6. A sale request is sent to the issuing bank.

Flexible Transaction Scenario

The Flexible transaction scenario for EV charging enables an efficient and customer- and merchant-friendly solution for EV charging transactions. The transaction amount is calculated based on the amount of time or number of kilowatts (kW) used during the EV charging session. This transaction scenario has implementation prerequisites. For more information, see Prerequisites for the Flexible Transaction Scenario.
The Flexible transaction scenario offers these features and benefits:
  • Real-time adjustments to the EV charging session cost. For more information about this key feature, see the description of
    dynamic adjustment capability
    below.
  • Accommodation of variations in charging time and energy consumption.
  • Customers benefit from more accurate billing based on actual usage.
  • Merchants benefit from receiving accurate payments for the energy provided and reduce the risk of unpaid balances or excessive refunds.
A key features of the Flexible transaction scenario is the
dynamic adjustment capability
. When the EV charging session costs more than the initially estimated amount, an incremental authorization request is sent to obtain the additional transaction amount. A merchant can send multiple incremental authorization requests during the charging sessions to increase the charging transaction amount. When the final cost of the charging session, including incremental authorizations, is less than the estimated amount, an automatic, host-generated partial reversal request is sent at the time of capture.

Figure:

Flexible Transaction Workflow
Flexible transaction workflow diagram showing the sequence of events in the
                        transaction process
The Flexible transaction workflow for EV charging typically consists of this sequence of events:
  1. The customer presents a payment method to start a charging session at an EV charging station.
  2. The charging session transaction amount is calculated using the amount of time spent charging or number of kW chosen.
  3. The authorization request is sent to the issuing bank.
  4. The issuing bank approves the transaction and sends an authorization response. A temporary hold for the authorized amount is placed on the customer's payment method.
  5. The EV charging session starts.
  6. The final transaction amount is calculated by the EV charging payment system based on the charging time or kW consumed. When the transaction amount is more than the initially authorized amount, an incremental authorization is sent to the issuing bank for the difference between the two amounts.
  7. The issuing bank approves incremental authorization request, when applicable.
  8. The EV charging session ends when the battery is fully charged or when the customer manually stops the charging session.
  9. A capture request for the final transaction amount is sent to the issuing bank. When the final cost of the charging session, including any incremental authorizations, is less than the estimated amount, an automatic, host-generated partial reversal request is sent at the time of capture.

Prerequisites for the Flexible Transaction Scenario

In order to implement the Flexible transaction scenario for EV charging, your payment system must have these prerequisite capabilities:
  • Calculates initial estimated EV charging cost based on average charging duration and energy consumption.
  • Monitors real-time EV charging progress.
  • Performs incremental authorizations.
  • Communicates with payment systems to perform adjustments.

Electric Vehicle Charging Payment Services

This section describes how to process EV charging transactions.

Electric Vehicle Charging EMV and Card Data

You can request these payment services for EV charging with EMV and card data:
  • Authorization
  • Incremental authorization
  • Capture
  • Sale
This table shows which EMV tags are:
  • M: mandatory
  • P: prohibited
  • O: optional
  • C: conditional (Send the tag when it is present in card and terminal.)
EMV Data Elements and Tags
Data Element
EMV Tag
Mastercard
Visa
Transaction Date
9A
M
M
Transaction Type
9C
M
M
Transaction Currency Code
5F2A
M
M
Terminal Country Code
9F1A
M
M
Amount Authorized
9F02
M
M
Amount Other
9F03
M
M
Application PAN Sequence Number
5F34
C
O
Application Transaction Counter (ATC)
9F36
M
M
Application Interchange Profile (AIP)
82
M
M
Dedicated File (DF) Name
84
M
M
Terminal Verification Results (TVR)
95
M
M
Issuer Application Data
9F10
M
M
Application Cryptogram
9F26
M
M
Cryptogram Information Data (CID)
9F27
M
O
Terminal Capabilities
9F33
M
M
Cardholder Verification Method (CVM) Results
9F34
M
O
Unpredictable Number (UN)
9F37
M
M
Form Factor Indicator
9F6E
O (Authorization)
P (Refund)
C
Mastercard Authenticated Application Data
9F60
O
Does not apply
Mastercard Kernel Identifier‐Terminal
96
O
Does not apply

Electric Vehicle Charging Transaction Descriptions

Cybersource
recommends that you include a description of the card-present EV charging transaction type in each transaction request. The descriptions appear in the
Business Center
and in your transaction reports.
Include the EV charging description in the comments request field,
clientReferenceInformation.comments
.
Add this enhancement at your next opportunity and test the field before live deployment. Making this change does not affect your L3 or MLV status, provided that no other changes are made.
Contact customer support if you would like
Cybersource
to review tests that you performed in a test environment after adding the comments request field.
Using the EV charging transaction descriptions shown in these tables can help you identify types of request messages in the
Business Center
when your EV charging transactions are live.
Pre-Pay Transactions
Service
Card Present (CP) or Card Not Present (CNP)
Comments Field Value
Description
Authorization
CP
Pre-Pay Auth
Authorizes specific amount or duration to start the EV charging session.
Capture
CP
Pre-Pay Capture
Captures final amount for the charging session.
Capture
CP
Pre-Pay Capture Less Than Auth
Captures final amount for the EV charging session when less than the authorization amount. Sends automatic, host-generated partial reversal request for the unused amount when the charging session expires.
Post-Pay Transactions
Service
Card Present (CP) or Card Not Present (CNP)
Comments Field Value
Description
Sale
CP
Post-Pay Sale
Sale for the amount used during the EV charging session when the customer pays after the charging session.
Flexible Transactions
Service
Card Present (CP) or Card Not Present (CNP)
Comments Field Value
Description
Authorization
CP
Flexible Auth
Authorizes specific amount or duration to start the EV charging session.
Capture
CP
Flexible Capture
Captures final amount for the charging session.
Capture
CP
Flexible Capture Less Than Auth
Captures final amount for the EV charging session when less than the authorization amount. Sends automatic, host-generated partial reversal request for the unused amount when the charging session expires.
Incremental authorization
CP
Flexible Incremental Auth
Requests incremental authorization when final amount is higher than estimated amount.
Error Transactions
Service
Card Present (CP) or Card Not Present (CNP)
Comments Field Value
Description
Reversal
CP
Error REVERSAL Timeout
Reverses previous authorization request for which a response was not received. Reversal not used for sale.
Reversal
CP
Error REVERSAL
Reverses previous authorization request. Reversal not used for sale.
Void
CP
Error VOID Timeout
Voids previous sale or capture request for which a response was not received.
Void
CP
Error VOID Payment
Voids previous payment (sale) within the same day.
Void
CP
Error VOID Capture
Voids previous capture within the same day.

Authentication Requirements for Incremental Authorizations in Europe

In order to meet the customer authentication regulatory requirements for incremental authorizations in the European Union (EU), the recommendation is to set the floor limit on the terminal to a very low value or to
0
. When you use a terminal that has one of these settings to perform a card-present authorization, the Customer Verification Method (CVM) workflow is initiated. The Strong Customer Authentication (SCA) workflow is not initiated for incremental authorizations when you use the recommended floor limits on the terminal.
For more information about processing incremental authorizations, see Incremental Authorization for Visa Flexible.

Authorization for Visa Pre-Pay

Use the information in this section to process an authorization for Visa Pre-Pay. For more information about using this payment service, see Pre-Pay Transaction Scenario.

Endpoint

Production:
POST
https://api.cybersource.com
/pts/v2/payments
Test:
POST
https://apitest.cybersource.com
/pts/v2/payments

REST Example: Authorization for Visa Pre-Pay

Request
{ "clientReferenceInformation": { "code": "test123", "comments": "Pre-Pay Auth", "partner": { "developerId": "prodDeveloperId", "thirdPartyCertificationNumber": "prodTPCN", "solutionId": "prodSolutionId" }, "transactionId": "UniqueTranID" }, "processingInformation": { "commerceIndicator": "retail", "authorizationOptions": { "authIndicator": 0 } }, "paymentInformation": { "card": { "type": "001" } }, "orderInformation": { "amountDetails": { "totalAmount": "20.00", "currency": "USD" } }, "pointOfSaleInformation": { "catLevel": 2, "entryMode": "contact", "terminalCapability": 4, "terminalPinCapability": 0, "terminalId": "87654321", "emv": { "tags": "9F100706011103A000009F26089302EDF8DC3C6E519F02060000000011009F03060000000000009F1A020840950500000000005F2A0208409A031807039C01009F37043444BDD7820200009F360200019F330360B0E89F1E04123456789F2701809F6E04207000009F7C140000000000000000000000000000000000000000", "cardSequenceNumber": "01" }, "trackData": ";4761739xx1010135=28122011758928889?" }, "merchantInformation": { "transactionLocalDateTime": "20250516115959" } }
Response to a Successful Request
{ "_links": { "authReversal": { "method": "POST", "href": "/pts/v2/payments/7474186405046592803814/reversals" }, "self": { "method": "GET", "href": "/pts/v2/payments/7474186405046592803814" }, "capture": { "method": "POST", "href": "/pts/v2/payments/7474186405046592803814/captures" } }, "clientReferenceInformation": { "code": "test123", "comments": "Pre-Pay Auth", "partner": { "developerId": "prodDeveloperId", "solutionId": "prodSolutionId" }, "transactionId": "UniqueTranID" }, "id": "7474186405046592803814", "orderInformation": { "amountDetails": { "authorizedAmount": "20.00", "currency": "USD" } }, "paymentAccountInformation": { "card": { "type": "001" } }, "paymentInformation": { "accountFeatures": { "category": "F", "group": "0" }, "tokenizedCard": { "type": "001" }, "card": { "type": "001" } }, "pointOfSaleInformation": { "emv": { "tags": "9F36020001910A7D517A9478FA6AD53030" } }, "processorInformation": { "systemTraceAuditNumber": "067278", "paymentAccountReferenceNumber": "V0010013018036783719331133719", "approvalCode": "057619", "networkTransactionId": "305136650405819", "settlementDate": "5141", "retrievalReferenceNumber": "513618067278", "transactionId": "305136650405819", "responseCode": "00", "avs": { "code": "2" } }, "reconciliationId": "7474186405046592803814", "status": "AUTHORIZED", "submitTimeUtc": "2025-05-16T18:04:01Z" }

Capture for Visa Pre-Pay EMV

Use the information in this section to process a capture for Visa Pre-Pay EMV. For more information about the Pre-Pay transaction scenario, see Pre-Pay Transaction Scenario.

Endpoint

Production:
POST
https://api.cybersource.com
/pts/v2/payments/
{id}
/captures
Test:
POST
https://apitest.cybersource.com
/pts/v2/payments/
{id}
/captures
The
{id}
is the transaction ID returned in the authorization response.

Required Fields for Capture for Visa Pre-Pay EMV

REST Example: Capture for Visa Pre-Pay EMV

Request
{ "clientReferenceInformation": { "code": "test123", "comments": "Pre-Pay Capture", "partner": { "developerId": "prodDeveloperId", "thirdPartyCertificationNumber": "prodTPCN", "solutionId": "prodSolutionId" } }, "orderInformation": { "amountDetails": { "totalAmount": "20.00", "currency": "USD" } }, "pointOfSaleInformation": { "emv": { "tags": "9F100706011103A000009F26089302EDF8DC3C6E519F02060000000011009F03060000000000009F1A020840950500000000005F2A0208409A031807039C01009F37043444BDD7820200009F360200019F330360B0E89F1E04123456789F2701809F6E04207000009F7C140000000000000000000000000000000000000000" } } }
Response to a Successful Request
{ "_links": { "void": { "method": "POST", "href": "/pts/v2/captures/7474188291686245403812/voids" }, "self": { "method": "GET", "href": "/pts/v2/captures/7474188291686245403812" } }, "clientReferenceInformation": { "comments": "Pre-Pay Capture", "code": "test123", "partner": { "developerId": "prodDeveloperId", "solutionId": "prodSolutionId" } }, "id": "7474188291686245403812", "orderInformation": { "amountDetails": { "totalAmount": "20.00", "currency": "USD" } }, "reconciliationId": "7474186405046592803814", "status": "PENDING", "submitTimeUtc": "2025-05-16T18:07:09Z" }

Sale for Mastercard Post-Pay

Use the information in this section to process a sale for Mastercard Post-Pay. A sale combines an authorization and a capture into a single transaction. For more information about this payment service, see Post-Pay Transaction Scenario.

Endpoint

Production:
POST
https://api.cybersource.com
/pts/v2/payments
Test:
POST
https://apitest.cybersource.com
/pts/v2/payments

Required Fields for Sale for Mastercard Post-Pay

Set the value to
Post-Pay Sale
.
Cybersource
provides the value for this field.
Cybersource
provides the value for this field.
Cybersource
provides the value for this field.
Set this value to
2
.
Set this value to
contact
.
Set this value to
contact
.
Set this value to
4
.
This field is required when within project scope. Merchant configuration must support multiple terminal IDs. Otherwise,
Cybersource
uses the default terminal ID in the merchant configuration.
Set this value to 0.
Set the value to
1
.
Set this value to
true
.
Set the value to
retail
.

REST Example: Sale for Mastercard Post-Pay

Request
{ "clientReferenceInformation": { "code": "test123", "comments": "Post-Pay Sale", "partner": { "developerId": "prodDeveloperId", "thirdPartyCertificationNumber": "prodTPCN", "solutionId": "prodSolutionId" }, "transactionId": "UniqueTranID" }, "processingInformation": { "commerceIndicator": "retail", "capture": true, "authorizationOptions": { "authIndicator": 0 } }, "paymentInformation": { "card": { "type": "002" }, "initiationChannel": "00" }, "orderInformation": { "amountDetails": { "totalAmount": "20.00", "currency": "EUR" } }, "pointOfSaleInformation": { "entryMode": "contactless", "catLevel": 2, "terminalId": "87654321", "terminalPinCapability": 0, "emv": { "cardSequenceNumber": "01", "tags": "9A032203259C01005F2A0206049F1A0206049F02060000000080009F03060000000000005F3401019F3602000282021B808407A0000000041010950500200080019F10120110A0000F040000000000000000000000FF9F260843C74BCF90E3126C9F2701809F33036008089F34033F00029F37044D65B4D89F6E0700560000303000" }, "trackData": ";541333xx89700042=49122010123456789?", "terminalCapability": 4, "serviceCode": "201" }, "merchantInformation": { "transactionLocalDateTime": "20250516115959" } }
Response to a Successful Request
{ "_links": { "void": { "method": "POST", "href": "/pts/v2/payments/7474215262016201303812/voids" }, "self": { "method": "GET", "href": "/pts/v2/payments/7474215262016201303812" } }, "clientReferenceInformation": { "code": "test123", "comments": "Post-Pay Sale", "partner": { "developerId": "prodDeveloperId", "solutionId": "prodSolutionId" }, "transactionId": "UniqueTranID" }, "id": "7474215262016201303812", "issuerInformation": { "clearingData": "6700210103F0F7F2031AF1F0F0F0F0F0F4F0F0F2F3F0F0F8F4F0F7F3F9F4F94040404040" }, "orderInformation": { "amountDetails": { "totalAmount": "20.00", "authorizedAmount": "20.00", "currency": "EUR" } }, "paymentAccountInformation": { "card": { "type": "002" } }, "paymentInformation": { "accountFeatures": { "category": "M", "group": "0" }, "tokenizedCard": { "type": "002" }, "card": { "type": "002" } }, "pointOfSaleInformation": { "emv": { "tags": "5F3401019F2701809F34033F0002" } }, "processorInformation": { "systemTraceAuditNumber": "067373", "approvalCode": "248221", "networkTransactionId": "0516MCC0000KA", "settlementDate": "5141", "retrievalReferenceNumber": "513618067373", "transactionId": "0516MCC0000KA", "responseCode": "00", "avs": { "code": "2" } }, "reconciliationId": "7474215262016201303812", "status": "AUTHORIZED", "submitTimeUtc": "2025-05-16T18:52:06Z" }

Authorization for Visa Flexible

Use the information in this section to process an authorization for Visa Flexible. For more information about using this payment service, see Flexible Transaction Scenario.
You can also process incremental authorizations when using the Flexible transaction scenario. For more information, see Incremental Authorization for Visa Flexible.

Endpoint

Production:
POST
https://api.cybersource.com
/pts/v2/payments
Test:
POST
https://apitest.cybersource.com
/pts/v2/payments

Required Fields for Authorization for Visa Flexible

Set the value to
Flexible Auth
.
Cybersource
provides the value for this field.
Cybersource
provides the value for this field.
Cybersource
provides the value for this field.
Set this value to
2
.
Set this value to
contact
.
Set this value to
4
.
This field is required when within project scope. Merchant configuration must support multiple terminal IDs. Otherwise,
Cybersource
uses the default terminal ID in the merchant configuration.
Set this value to
0
.
Set the value to
1
.
Set the value to
retail
.

REST Example: Authorization for Visa Flexible

Request
{ "clientReferenceInformation": { "code": "test123", "comments": "Flexible Auth", "partner": { "developerId": "prodDeveloperId", "thirdPartyCertificationNumber": "prodTPCN", "solutionId": "prodSolutionId" }, "transactionId": "UniqueTranID" }, "processingInformation": { "commerceIndicator": "retail", "authorizationOptions": { "authIndicator": 0 } }, "paymentInformation": { "card": { "type": "001" } }, "orderInformation": { "amountDetails": { "totalAmount": "20.00", "currency": "USD" } }, "pointOfSaleInformation": { "catLevel": 2, "entryMode": "contactless", "terminalCapability": 4, "terminalPinCapability": 0, "terminalId": "87654321", "emv": { "tags": "9F100706011103A000009F26089302EDF8DC3C6E519F02060000000011009F03060000000000009F1A020840950500000000005F2A0208409A031807039C01009F37043444BDD7820200009F360200019F330360B0E89F1E04123456789F2701809F6E04207000009F7C140000000000000000000000000000000000000000", "cardSequenceNumber": "01" }, "trackData": ";4761739xx1010135=28122011758928889?" }, "merchantInformation": { "transactionLocalDateTime": "20250516115959" } }
Response to a Successful Request
{ "_links": { "authReversal": { "method": "POST", "href": "/pts/v2/payments/7474221808366131703814/reversals" }, "self": { "method": "GET", "href": "/pts/v2/payments/7474221808366131703814" }, "capture": { "method": "POST", "href": "/pts/v2/payments/7474221808366131703814/captures" } }, "clientReferenceInformation": { "code": "test123", "comments": "Flexible Auth", "partner": { "developerId": "prodDeveloperId", "solutionId": "prodSolutionId" }, "transactionId": "UniqueTranID" }, "id": "7474221808366131703814", "orderInformation": { "amountDetails": { "authorizedAmount": "20.00", "currency": "USD" } }, "paymentAccountInformation": { "card": { "type": "001" } }, "paymentInformation": { "accountFeatures": { "category": "F", "group": "0" }, "tokenizedCard": { "type": "001" }, "card": { "type": "001" } }, "pointOfSaleInformation": { "emv": { "tags": "9F36020001910A7D517A9478FA6AD53030" } }, "processorInformation": { "systemTraceAuditNumber": "067388", "paymentAccountReferenceNumber": "V0010013018036783719331133719", "approvalCode": "033470", "networkTransactionId": "305136685813069", "settlementDate": "5141", "retrievalReferenceNumber": "513619067388", "transactionId": "305136685813069", "responseCode": "00", "avs": { "code": "2" } }, "reconciliationId": "7474221808366131703814", "status": "AUTHORIZED", "submitTimeUtc": "2025-05-16T19:03:01Z" }

Incremental Authorization for Visa Flexible

Use the information in this section to process an incremental authorization for Visa Flexible. You can process multiple incremental authorizations for a single EV charging session. This type of authorization is appropriate when the final transaction amount of the charging session is more than the amount of the initial authorization. When the final transaction amount is less than the total authorized amount, an automatic, host-generated partial reversal request is sent.
For more information about using this payment service, see Flexible Transaction Scenario.
IMPORTANT
You must meet authentication requirements when processing incremental authorizations in the EU. For more information, see Authentication Requirements for Incremental Authorizations in Europe.

Endpoint

Production:
PATCH
https://api.cybersource.com
/pts/v2/payments/
{id}
Test:
PATCH
https://apitest.cybersource.com
/pts/v2/payments/
{id}
The
{id}
is the transaction ID returned in the original authorization response.

Required Fields for Incremental Authorization for Visa Flexible

REST Example: Incremental Authorization for Visa Flexible

Request
{ "clientReferenceInformation": { "code": "test123", "comments": "Flexible Incremental Auth", "partner": { "developerId": "prodDeveloperId", "thirdPartyCertificationNumber": "prodTPCN", "solutionId": "prodSolutionId" } }, "processingInformation": { "authorizationOptions": { "initiator": { "storedCredentialUsed": true } } }, "orderInformation": { "amountDetails": { "additionalAmount": "10.00", "currency": "USD" } }, "merchantInformation": { "transactionLocalDateTime": 20191002080000 } }
Response to a Successful Request
{ "_links": { "authReversal": { "method": "POST", "href": "/pts/v2/payments/7474221808366131703814/reversals" }, "self": { "method": "GET", "href": "/pts/v2/payments/7474222613396289103814" }, "capture": { "method": "POST", "href": "/pts/v2/payments/7474221808366131703814/captures" } }, "clientReferenceInformation": { "comments": "Flexible Incremental Auth", "code": "test123", "partner": { "developerId": "prodDeveloperId", "solutionId": "prodSolutionId" } }, "id": "7474222613396289103814", "orderInformation": { "amountDetails": { "totalAmount": "30.00", "authorizedAmount": "10.00", "currency": "USD" } }, "paymentInformation": { "accountFeatures": { "category": "F" } }, "processorInformation": { "systemTraceAuditNumber": "067388", "approvalCode": "033470", "transactionId": "305136685813069", "responseCode": "00" }, "reconciliationId": "7474221808366131703814", "status": "AUTHORIZED", "submitTimeUtc": "2025-05-16T19:04:21Z" }

Capture for Visa Flexible EMV

Use the information in this section to process a capture for Visa Flexible. For more information about using this payment service, see Flexible Transaction Scenario.

Endpoint

Production:
POST
https://api.cybersource.com
/pts/v2/payments/
{id}
/captures
Test:
POST
https://apitest.cybersource.com
/pts/v2/payments/
{id}
/captures
The
{id}
is the transaction ID returned in the authorization response.

Required Fields for Capture for Visa Flexible EMV

Set the value to
Flexible Capture
.
Cybersource
provides the value for this field.
Cybersource
provides the value for this field.
Cybersource
provides the value for this field.
This field is required only for the contact entry mode.

REST Example: Capture for Visa Flexible EMV

Request
{ "clientReferenceInformation": { "code": "test123", "comments": "Flexible Capture", "partner": { "developerId": "prodDeveloperId", "thirdPartyCertificationNumber": "prodTPCN", "solutionId": "prodSolutionId" } }, "orderInformation": { "amountDetails": { "totalAmount": "30.00", "currency": "USD" } } }
Response to a Successful Request
{ "_links": { "void": { "method": "POST", "href": "/pts/v2/captures/7574535623316268303813/voids" }, "self": { "method": "GET", "href": "/pts/v2/captures/7574535623316268303813" } }, "clientReferenceInformation": { "comments": "Flexible Capture", "code": "test123", "partner": { "developerId": "prodDeveloperId", "solutionId": "prodSolutionId" } }, "id": "7574535623316268303813", "orderInformation": { "amountDetails": { "totalAmount": "30.00", "currency": "USD" } }, "reconciliationId": "7474221808366131703814", "status": "PENDING", "submitTimeUtc": "2025-05-16T20:04:21Z" }