On This Page
Electric Vehicle Charging Payment Services
This section describes EV charging payment services.
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
- Reversal
- Sale
- Void
This table shows which EMV tags are:
- M: required
- P: prohibited
- O: optional
- C: conditional (Send the tag when it is present in the card and terminal.)
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.Use the EV charging transaction descriptions shown in the tables to identify request
message types in the
Business Center
. 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. |
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. |
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. |
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 the European Union
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. When you use a terminal with this setting 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 Flexible Scenario.
Authorization for Pre-Pay Scenario
Use this information to process an authorization for a Pre-Pay transaction. For more
information about this payment service, see Pre-Pay Transaction Scenario.
Endpoint
Production:
POST
https://api.cybersource.com
/pts/v2/paymentsTest:
POST
https://apitest.cybersource.com
/pts/v2/paymentsRequired Fields for an Authorization in Pre-Pay Scenario
- Set the value toPre-Pay Auth.
- Cybersourceprovides the value for this field.
- Cybersourceprovides the value for this field.
- Cybersourceprovides the value for this field.
- Set this value to2.
- A value is required for online PIN transactions.
- A value is required for online PIN transactions.
- A value is required for online PIN transactions.
- This field is required when within project scope. Merchant configuration must support multiple terminal IDs. Otherwise,Cybersourceuses the default terminal ID in the merchant configuration.
- Set the value to0.
- Set the value toretail.
Related Information
REST Example: Authorization for Visa in Pre-Pay
Scenario
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": "9F100706011103A000009F26089302EDF8DC3C6E519F02060000000011009F0306000000000000 9F1A020840950500000000005F2A0208409A031807039C01009F37043444BDD7820200009F360200019F330360B0E8 9F1E04123456789F2701809F6E0420700000 9F7C140000000000000000000000000000000000000000", "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 Pre-Pay EMV Scenario
Use this information to process a capture for a Pre-Pay EMV transaction. 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}
/capturesTest:
POST
https://apitest.cybersource.com
/pts/v2/payments/{id}
/capturesThe is the transaction ID
returned in the authorization response.
{id}
Required Fields for a Capture in Pre-Pay EMV Scenario
- Set the value toPre-Pay Capture.
- Cybersourceprovides the value for this field.
- Cybersourceprovides the value for this field.
- Cybersourceprovides the value for this field.
- This field is required only for contact entry mode.
Related Information
REST Example: Capture for Visa in Pre-Pay EMV
Scenario
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 Post-Pay Scenario
Use this information to process a sale for a Post-Pay transaction. 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/paymentsTest:
POST
https://apitest.cybersource.com
/pts/v2/paymentsRequired Fields for a Sale in Post-Pay Scenario
- Set the value toPost-Pay Sale.
- Cybersourceprovides the value for this field.
- Cybersourceprovides the value for this field.
- Cybersourceprovides the value for this field.
- A value is required for contactless Mastercard transactions.
- Set this value to2.
- A value is required when EMV Tag 5F34 is configured on the ICC/chip.
- A value is required for online PIN transactions.
- A value is required for online PIN transactions.
- A value is required for online PIN transactions.
- A value is required for non-US Mastercard transactions that include track data.
- This field is required when within project scope. Merchant configuration must support multiple terminal IDs. Otherwise,Cybersourceuses the default terminal ID in the merchant configuration.
- Set the value to1.
- Set this value totrue.
- Set the value toretail.
Related Information
REST Example: Sale for Mastercard in Post-Pay Scenario with
Online PIN
Request
{ "clientReferenceInformation": { "code": "test123", "comments": "Post-Pay Sale", "partner": { "developerId": "prodDeveloperId", "thirdPartyCertificationNumber": "prodTPCN", "solutionId": "prodSolutionId" }, "transactionId": "UniqueTranID36963" }, "processingInformation": { "capture": true, "commerceIndicator": "retail", "authorizationOptions": { "authIndicator": "1" } }, "paymentInformation": { "card": { "type": "002" }, "initiationChannel": "00" }, "orderInformation": { "amountDetails": { "totalAmount": "40.00", "currency": "EUR" } }, "merchantInformation": { "transactionLocalDateTime": "20250920145732" }, "pointOfSaleInformation": { "entryMode": "contactless", "catLevel": 2, "terminalCapability": 4, "emv": { "tags": "820279008407A0000000041010950500000480009A032409219C01005F2A0208409F02060000000040009F03060000000000009F10120110A0000F040000000000000000000000FF9F1A0208409F260874ED95E3A297502C9F2701809F3303E0F8C89F34034203009F3501229F360200029F3704A8775702" }, "trackData": ";541333xx89020508=25122010727005691234?", "serviceCode": "201", "terminalPinCapability": 8, "pinBlockEncodingFormat": 0, "encryptedPin": "0CF46107296E1A55", "encryptedKeySerialNumber": "23288800010000200004" } }
Response to a Successful Request
{ "_links": { "void": { "method": "POST", "href": "/pts/v2/payments/7585749109016590303814/voids" }, "self": { "method": "GET", "href": "/pts/v2/payments/7585749109016590303814" } }, "clientReferenceInformation": { "code": "test123", "comments": "Post-Pay Sale", "partner": { "developerId": "prodDeveloperId", "solutionId": "prodSolutionId" }, "transactionId": "UniqueTranID36963" }, "id": "7585749109016590303814", "issuerInformation": { "clearingData": "6700210103F0F7F1031AF1F0F0F0F0F0F0F0F0F1F3F0F0F8F4F0F7F3F9F4F94040404040", "transactionInformation": "2025092207979288844308" }, "orderInformation": { "amountDetails": { "totalAmount": "40.00", "authorizedAmount": "40.00", "currency": "EUR" } }, "paymentAccountInformation": { "card": { "type": "002" } }, "paymentInformation": { "accountFeatures": { "category": "M", "group": "0" }, "tokenizedCard": { "type": "002" }, "card": { "type": "002" } }, "pointOfSaleInformation": { "emv": { "tags": "9F2701809F34034203009F350122910ABD514999106C1F4F0012" } }, "processorInformation": { "systemTraceAuditNumber": "079792", "merchantNumber": "12345678901", "approvalCode": "608844", "networkTransactionId": "0922MCC0000QX", "retrievalReferenceNumber": "526521079792", "transactionId": "0922MCC0000QX", "responseCode": "00", "avs": { "code": "2" } }, "reconciliationId": "7585749109016590303814", "status": "AUTHORIZED", "submitTimeUtc": "2025-09-22T21:01:51Z" }
Authorization for Flexible Scenario
Use this information to process an authorization for a Flexible transaction. For more
information about this payment service, see Flexible Transaction Scenario.
For information about processing an incremental authorization when using the Flexible
transaction scenario, see Incremental Authorization for Flexible Scenario.
Endpoint
Production:
POST
https://api.cybersource.com
/pts/v2/paymentsTest:
POST
https://apitest.cybersource.com
/pts/v2/paymentsRequired Fields for an Authorization in Flexible Scenario
- Set the value toFlexible Auth.
- Cybersourceprovides the value for this field.
- Cybersourceprovides the value for this field.
- Cybersourceprovides the value for this field.
- Set this value to2.
- A value is required for online PIN transactions.
- A value is required for online PIN transactions.
- Set this value tocontact.
- A value is required for online PIN transactions.
- Set this value to4.
- This field is required when within project scope. Merchant configuration must support multiple terminal IDs. Otherwise,Cybersourceuses the default terminal ID in the merchant configuration.
- Set the value to0.
- Set the value toretail.
Related Information
REST Example: Authorization for Visa in Flexible
Scenario
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 Flexible Scenario
Use this information to process an incremental authorization for a Flexible transaction.
You can process multiple incremental authorizations for a single EV charging session.
Use this type of authorization 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 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 the European Union.
Endpoint
Production:
PATCH
https://api.cybersource.com
/pts/v2/payments/{id}
Test:
PATCH
https://apitest.cybersource.com
/pts/v2/payments/{id}
The is the transaction ID returned in the
original authorization response.
{id}
Required Fields for an Incremental Authorization in Flexible Scenario
- Set the value toIncremental Auth.
- Cybersourceprovides the value for this field.
- Cybersourceprovides the value for this field.
- Cybersourceprovides the value for this field.
- orderInformation.amountDetails.additionalAmount
Related Information
REST Example: Incremental Authorization for Visa in Flexible
Scenario
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 Flexible EMV Scenario
Use this information to process a capture for a Flexible EMV transaction. For more
information about this payment service, see Flexible Transaction Scenario.
Endpoint
Production:
POST
https://api.cybersource.com
/pts/v2/payments/{id}
/capturesTest:
POST
https://apitest.cybersource.com
/pts/v2/payments/{id}
/capturesThe is the transaction ID
returned in the authorization response.
{id}
Required Fields for a Capture in Flexible EMV Scenario
- Set the value toFlexible Capture.
- Cybersourceprovides the value for this field.
- Cybersourceprovides the value for this field.
- Cybersourceprovides the value for this field.
- This field is required only for the contact entry mode.
- A value is required for online PIN transactions.
- A value is required for online PIN transactions.
- A value is required for online PIN transactions.
Related Information
REST Example: Capture for Visa in Flexible EMV
Scenario
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" }