On This Page
Card Present Connect | Parking 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 parking services. These API services are available using the REST API. Implementing these API services requires software development skills and knowledge of parking payment practices. You must write code that uses the REST API request and response fields to integrate the payment services into your existing parking payment system.
- Conventions
- This special statement is used in this document:IMPORTANTAnImportantstatement contains information essential to successfully completing a task or learning a concept.
- Customer Support
- For support information about any service, visit the Support Center:
Recent Revisions to This Document
26.05.01
Initial release.
Introduction to Parking
Card Present Connect | Parking supports multiple payment models for the parking industry.
This solution accommodates various attended and unattended parking operation models,
from street meters to gated facilities, with transaction types tailored to each
model.
Use this guide to:
- Understand supported parking payment services.
- Map transaction types to your parking operations.
- Implement the payment flows that are applicable to your business.
The parking payment services described in this guide are supported by information already
published in the
Card Present Connect | Retail Integration
Guide. The guide contains detailed payload examples and field‑level
specifications that support the parking transaction flows discussed here.
Supported Card Types and Entry Modes for Parking
These card types are supported for parking transactions:
- Mastercard
- Visa
These card entry modes are supported for parking transactions:
- EMV contact and contactless
- Magnetic stripe swipe
Enabling a Solution on the Card Present Connect Platform
Before you can implement card-present payment services, you must enable the Card
Present Connect platform and complete the required account, integration, and
certification activities.
Follow these steps to complete required activities and enable the Card Present
Connect platform:
- Set up aVisa Acceptance Solutionsmerchant account. To get started, contact your sales engineer, alliance partner, or technical account manager.
- Integrate theVisa Acceptance SolutionsAPIs for use on the Card Present Connect platform.
- Integrate your terminal’s key management encryption and decryption with the Card Present Connect platform.
- Complete message-level validation (MLV) and Level 3 (L3) device certification. To get started, contact your sales engineer, alliance partner, or technical account manager.
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.
Message-Level Validation
Message-level validation (MLV) is a script-based, field-level validation against
Visa Acceptance Solutions
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.Visa Acceptance Solutions
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
Visa Acceptance Solutions
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 process includes 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,Visa Acceptance Solutionssubmits 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.
Parking Payment Models
The Parking solution supports various parking payment models on attended and unattended
devices. These typical parking payment models are discussed in this guide:
- On-street parking meter
- Kiosk
- Booth
- Tap and Go
The list does not include all types of parking payment models.
On-Street Parking Meter Payment Model
This section is an overview of a typical on-street parking meter payment model.
- Terminal Types
- Unattended payment devices.
- Typical Implementation Patterns
- Pre-authorize for the maximum parking time, capture the actual amount charged, and reverse any unused funds.
- Request an incremental authorization when the driver extends the parking time.
- Payment Services
- For information about payment services supported for unattended devices, see Unattended Parking Payment Services.
Kiosk or Booth Parking Payment Model
This section is an overview of a typical parking kiosk or booth payment model. Payment
terminals used in this model can be attended or unattended. Typically, booths are
attended and kiosks are unattended.
- Terminal Types
- Attended or unattended payment devices.
- Typical Implementation Patterns
- Process a sale transaction for the calculated parking fee.
- Issue a refund for payment errors or cancellations.
- Payment Services
- For information about supported payment services for attended devices, see Attended Parking Payment Services. For information about payment services for unattended devices, see Unattended Parking Payment Services.
Tap and Go Parking Payment Model
This section is an overview of a typical tap-and-go parking payment model.
- Terminal Types
- Unattended payment devices.
- Typical Implementation Patterns
- Pre-authorize on entry and capture the actual parking fee on exit.
- Send an account verification request (AVR) before entry to validate the payment card.
- Request an incremental authorization when the driver extends the parking time.
- Payment Services
- For information about payment services supported for unattended devices, see Unattended Parking Payment Services.
Parking Payment Services
The Parking solution provides various REST API payment services for attended and
unattended parking devices. Supported services are documented by device type first.
Details about payment services that use the same request and response fields follow.
Examples include Incremental Authorization on Parking Devices and Capture on Parking Devices.
IMPORTANT
The parking payment services described in this guide are supported by information
published in the Card Present Connect | Retail Integration
Guide. The guide contains detailed payload examples and field‑level
specifications that support the parking transaction flows discussed here.
Parking Transaction Descriptions
This table lists the valid values for the
clientReferenceInformation.comments
REST API field used in
Parking payment services.Service | Field Value | Description |
|---|---|---|
Authorization | Parking AVR | Zero-dollar account verification
request (AVR) |
Authorization | Parking
Authorization | Request to place a hold on cardholder’s
account. Capture or reversal required. |
Incremental authorization | Parking Incremental
Auth | Request for an incremental
authorization when final amount is higher than the estimated
amount. |
Reversal | REVERSAL | Reverse an authorization request,
including incremental authorization. |
Reversal | REVERSAL
Timeout | Reverse an authorization that did not
receive a response. Use
clientReferenceInformation.transactionId
value from the original transaction. |
Capture | Parking
Capture | Captures final amount. |
Capture | Parking Capture Less Than
Auth | Captures of a final amount less than
the initial authorization amount. Automatic, host-generated partial
reversal request is sent for the unused amount. |
Sale | Parking Sale | Combined authorization and capture.
Final amount known. |
Refund | REFUND Capture | Credit of a previous capture
transaction. Used when a capture cannot be voided. |
Refund | REFUND Payment | Credit of a previous sale transaction.
Used when a sale cannot be voided. |
Credit | Parking Standalone
Credit | Credit with no reference to a previous
transaction. |
Void | VOID Capture | Void capture. Prior to merchant
configured TC33 file generation time. Typically same day. |
Void | VOID Payment | Void sale. Prior to merchant configured
TC33 file generation time. Typically same day. |
Void | VOID Refund | Void refund. Prior to merchant
configured TC33 file generation time. Typically same day. |
Void | VOID Credit | Void credit. Prior to merchant
configured TC33 file generation time. Typically same day. |
Void Timeout | VOID Timeout | Void a capture, sale, refund or credit
that did not receive a response. Use the
clientReferenceInformation.transactionId
value from original transaction. |
EMV and Card Data for Parking Payment Services
You can request these parking payment services with EMV and card data:
- Authorization: standard and incremental
- Capture
- Credit
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.)
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 |
Attended Parking Payment Services
This section provides information about Parking REST API payment services for attended
devices, including fixed payment terminals and mobile point-of-sale (mPOS) devices.
Details about payment services that use the same request and response fields for
attended and unattended devices follow the device-type sections. Examples: Incremental Authorization on Parking Devices and Capture on Parking Devices.
Attended devices
are payment terminals operated by staff or located in
environments where assistance is available. These devices support transaction types
optimized for attended operations, which are discussed in this section.Apply these implementation considerations when configuring parking payment services for
attended devices:
- Attended mPOS devices payment requests must include thepointOfSaleInformation.catLevel.
- Pre-authorization requests for EMV contact transactions must include EMV tags in follow-on capture requests.
- When the capture amount is less than the authorization amount, the host sends an automatic partial reversal for the unused amount. Automatic partial reversals are supported for attended and unattended payment services.
- Both stand-alone and linked refunds are supported for attended operations.
Sale on mPOS Attended Parking Devices
This section describes how to process a mobile point-of-sale (mPOS) sale on attended
parking devices.
Endpoint
Production:
POST
https://api.visaacceptance.com
/pts/v2/paymentsTest:
POST
https://apitest.visaacceptance.com
/pts/v2/paymentsRequired Fields for a Sale on mPOS Attended Parking Devices
IMPORTANT
Sale requests on mPOS attended devices must include the
pointOfSaleInformation.catLevel
field to identify the
terminal as attended.- clientReferenceInformation.code
- clientReferenceInformation.comments
- Set the value toParking Sale.
- clientReferenceInformation.partner.developerId
- Visa Acceptance Solutionsprovides the value for this field.
- clientReferenceInformation.partner.solutionId
- Visa Acceptance Solutionsprovides the value for this field.
- clientReferenceInformation.partner.thirdPartyCertificationNumber
- Visa Acceptance Solutionsprovides the value for this field.
- clientReferenceInformation.transactionId
- merchantInformation.transactionLocalDateTime
- orderInformation.amountDetails.currency
- rderInformation.amountDetails.totalAmount
- paymentInformation.card.type
- paymentInformation.initiationChannel
- pointOfSaleInformation.catLevel
- Set the value to6.
- pointOfSaleInformation.emv.cardSequenceNumber
- pointOfSaleInformation.emv.tags
- pointOfSaleInformation.entryMode
- pointOfSaleInformation.isDedicatedHardwareTerminal
- A value is required for Mastercard transactions.
- pointOfSaleInformation.serviceCode
- pointOfSaleInformation.terminalCapability
- pointOfSaleInformation.terminalPinCapability
- pointOfSaleInformation.trackData
- processingInformation.authorizationOptions.authIndicator
- Set the value to0.
- processingInformation.capture
- Set the value totrue.
- processingInformation.commerceIndicator
- Set the value toretail.
REST Example: Sale for Mastercard on mPOS Attended Parking
Devices
Request
{ "clientReferenceInformation": { "code": "test123", "comments": "Parking Sale", "partner": { "developerId": "prodDeveloperId", "thirdPartyCertificationNumber": "prodTPCN", "solutionId": "prodSolutionId" }, "transactionId": "UniqueTranID" }, "processingInformation": { "commerceIndicator": "retail", "capture": true, "authorizationOptions": { "authIndicator": 1 } }, "paymentInformation": { "card": { "type": "002" }, "initiationChannel": "00" }, "orderInformation": { "amountDetails": { "totalAmount": "20.00", "currency": "EUR" } }, "pointOfSaleInformation": { "entryMode": "contactless", "catLevel": 6, "isDedicatedHardwareTerminal": "0", "terminalPinCapability": 0, "emv": { "cardSequenceNumber": "01", "tags": "9A032203259C01005F2A0206049F1A0206049F02060000000080009F03060000000000005F3401019F3602000282021B808407A0000000041010950500200080019F10120110A0000F040000000000000000000000FF9F260843C74BCF90E3126C9F2701809F33036008089F34033F00029F37044D65B4D89F6E0700560000303000" }, "trackData": ";541333xx89700042=49122010123456789?", "terminalCapability": 4, "serviceCode": "201" }, "merchantInformation": { "transactionLocalDateTime": "20260225115959" } }
Response to a Successful Request
{ "_links": { "void": { "method": "POST", "href": "/pts/v2/payments/7720615545406407503813/voids" }, "self": { "method": "GET", "href": "/pts/v2/payments/7720615545406407503813" } }, "clientReferenceInformation": { "code": "test123", "comments": "Parking Sale", "partner": { "developerId": "prodDeveloperId", "solutionId": "prodSolutionId" }, "transactionId": "UniqueTranID" }, "id": "7720615545406407503813", "issuerInformation": { "clearingData": "6700210103F0F7F2031AF0F0F0F0F0F0F4F0F0F9F3F0F0F8F4F0F7F3F9F4F94040404040", "transactionInformation": "LWkYd_0-Z4XIhyufsEssq2" }, "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": "050630", "merchantNumber": "12345678901", "approvalCode": "552642", "networkTransactionId": "0225MCC0000OA", "retrievalReferenceNumber": "605623050630", "transactionId": "0225MCC0000OA", "responseCode": "00", "avs": { "code": "2" } }, "reconciliationId": "7720615545406407503813", "status": "AUTHORIZED", "submitTimeUtc": "2026-02-25T23:19:15Z" }
Pre-Authorization on Attended Parking Devices
Use this information to process a pre-authorization on attended parking devices.
Endpoint
Production:
POST
https://api.visaacceptance.com
/pts/v2/paymentsTest:
POST
https://apitest.visaacceptance.com
/pts/v2/paymentsRequired Fields for a Pre-Authorization on Attended Parking Devices
- clientReferenceInformation.code
- clientReferenceInformation.comments
- Set the value to.Parking Auth
- clientReferenceInformation.partner.developerId
- Visa Acceptance Solutionsprovides the value for this field.
- clientReferenceInformation.partner.solutionId
- Visa Acceptance Solutionsprovides the value for this field.
- clientReferenceInformation.partner.thirdPartyCertificationNumber
- Visa Acceptance Solutionsprovides the value for this field.
- clientReferenceInformation.transactionId
- merchantInformation.transactionLocalDateTime
- orderInformation.amountDetails.currency
- orderInformation.amountDetails.totalAmount
- paymentInformation.card.type
- pointOfSaleInformation.emv.cardSequenceNumber
- pointOfSaleInformation.emv.tags
- pointOfSaleInformation.entryMode
- pointOfSaleInformation.terminalCapability
- pointOfSaleInformation.terminalPinCapability
- pointOfSaleInformation.trackData
- processingInformation.authorizationOptions.authIndicator
- Set the value to0.
- processingInformation.commerceIndicator
- Set the value toretail.
REST Example: Pre-Authorization for Visa on Attended
Parking Devices
Request
{ "clientReferenceInformation": { "code": "test123", "comments": "Parking 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": { "entryMode": "contactless", "terminalCapability": 4, "terminalPinCapability": 0, "emv": { "tags": "9F100706011103A000009F26089302EDF8DC3C6E519F02060000000011009F03060000000000009F1A020840950500000000005F2A0208409A031807039C01009F37043444BDD7820200009F360200019F330360B0E89F1E04123456789F2701809F6E04207000009F7C140000000000000000000000000000000000000000", "cardSequenceNumber": "01" }, "trackData": ";4761739xx1010135=28122011758928889?" }, "merchantInformation": { "transactionLocalDateTime": "20260225115959" } }
Response to a Successful Request
{ "_links": { "authReversal": { "method": "POST", "href": "/pts/v2/payments/7720595927166430303812/reversals" }, "self": { "method": "GET", "href": "/pts/v2/payments/7720595927166430303812" }, "capture": { "method": "POST", "href": "/pts/v2/payments/7720595927166430303812/captures" } }, "clientReferenceInformation": { "code": "test123", "comments": "Parking Auth", "partner": { "developerId": "prodDeveloperId", "solutionId": "prodSolutionId" }, "transactionId": "UniqueTranID" }, "id": "7720595927166430303812", "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": "035730", "paymentAccountReferenceNumber": "V0010013018036783719331133719", "merchantNumber": "123456789023", "approvalCode": "012317", "networkTransactionId": "306056819920688", "settlementDate": "6061", "retrievalReferenceNumber": "605622035730", "transactionId": "306056819920688", "responseCode": "00", "avs": { "code": "2" } }, "reconciliationId": "7720595927166430303812", "status": "AUTHORIZED", "submitTimeUtc": "2026-02-25T22:46:32Z" }
Unattended Parking Payment Services
This section provides information about Parking REST API payment services for unattended
devices. Details about payment services that use the same request and response fields
for attended and unattended devices follow the device-type sections. Examples include
Incremental Authorization on Parking Devices and Capture on Parking Devices.
Unattended devices
are payment terminals that operate without staff assistance.
These devices include parking meters, automated kiosks, and entry/exit gate systems.Processing payments on unattended devices requires the use of specific API fields and
transaction types, which are discussed in this section.
Apply these implementation considerations when configuring parking payment services for
your devices:
- Pre-authorization requests for EMV contact transactions must include EMV tags in follow-on capture requests.
- Unattended sale and pre-authorization requests must include thepointOfSaleInformation.catLevelfield to identify the terminal as unattended.
- Account verification requests (AVRs) validate payment cards without authorizing funds.
- Incremental authorizations support extended parking sessions.
- When the capture amount is less than the authorization amount, the host sends an automatic partial reversal for the unused amount. Automatic partial reversals are supported for attended and unattended payment services.
Sale on Unattended Parking Devices
Use this information to process a sale on unattended devices. A sale combines an
authorization and a capture into a single transaction.
Endpoint
Production:
POST
https://api.visaacceptance.com
/pts/v2/paymentsTest:
POST
https://apitest.visaacceptance.com
/pts/v2/paymentsRequired Fields for a Sale on Unattended Parking Devices
IMPORTANT
Sale requests on unattended devices must include the
pointOfSaleInformation.catLevel
field to identify the
terminal as unattended.- clientReferenceInformation.code
- clientReferenceInformation.comments
- Set the value toParking Sale.
- clientReferenceInformation.partner.developerId
- Visa Acceptance Solutionsprovides the value for this field.
- clientReferenceInformation.partner.solutionId
- Visa Acceptance Solutionsprovides the value for this field.
- clientReferenceInformation.partner.thirdPartyCertificationNumber
- Visa Acceptance Solutionsprovides the value for this field.
- clientReferenceInformation.transactionId
- merchantInformation.transactionLocalDateTime
- orderInformation.amountDetails.currency
- orderInformation.amountDetails.totalAmount
- paymentInformation.card.type
- pointOfSaleInformation.catLevel
- Set this value to2.
- pointOfSaleInformation.emv.cardSequenceNumber
- A value is required when EMV Tag 5F34 is configured on the ICC/chip.
- pointOfSaleInformation.emv.tags
- pointOfSaleInformation.entryMode
- pointOfSaleInformation.terminalCapability
- pointOfSaleInformation.terminalPinCapability
- pointOfSaleInformation.trackData
- processingInformation.authorizationOptions.authIndicator
- Set the value to1.
- processingInformation.capture
- Set this value totrue.
- processingInformation.commerceIndicator
- Set the value toretail.
REST Example: Sale for Visa on Unattended Parking
Devices
Request
{ "clientReferenceInformation": { "code": "test123", "comments": "Parking Sale", "partner": { "developerId": "prodDeveloperId", "thirdPartyCertificationNumber": "prodTPCN", "solutionId": "prodSolutionId" }, "transactionId": "UniqueTranID" }, "processingInformation": { "capture": true, "commerceIndicator": "retail", "authorizationOptions": { "authIndicator": 1 } }, "paymentInformation": { "card": { "type": "001" } }, "orderInformation": { "amountDetails": { "totalAmount": "20.00", "currency": "USD" } }, "pointOfSaleInformation": { "catLevel": 2, "entryMode": "contact", "terminalCapability": 4, "terminalPinCapability": 0, "emv": { "tags": "9F100706011103A000009F26089302EDF8DC3C6E519F02060000000011009F03060000000000009F1A020840950500000000005F2A0208409A031807039C01009F37043444BDD7820200009F360200019F330360B0E89F1E04123456789F2701809F6E04207000009F7C140000000000000000000000000000000000000000", "cardSequenceNumber": "01" }, "trackData": ";4761739xx1010135=28122011758928889?" }, "merchantInformation": { "transactionLocalDateTime": "20260225115959" } }
Response to a Successful Request
{ "_links": { "void": { "method": "POST", "href": "/pts/v2/payments/7720609780516677203814/voids" }, "self": { "method": "GET", "href": "/pts/v2/payments/7720609780516677203814" } }, "clientReferenceInformation": { "code": "test123", "comments": "Parking Sale", "partner": { "developerId": "prodDeveloperId", "solutionId": "prodSolutionId" }, "transactionId": "UniqueTranID" }, "id": "7720609780516677203814", "orderInformation": { "amountDetails": { "totalAmount": "20.00", "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": "035756", "paymentAccountReferenceNumber": "V0010013018036783719331133719", "merchantNumber": "123456789023", "approvalCode": "073453", "networkTransactionId": "306056833783948", "settlementDate": "6061", "retrievalReferenceNumber": "605623035756", "transactionId": "306056833783948", "responseCode": "00", "avs": { "code": "2" } }, "reconciliationId": "7720609780516677203814", "status": "AUTHORIZED", "submitTimeUtc": "2026-02-25T23:09:38Z" }
Pre-Authorization on Unattended Parking Devices
Use this information to process a pre-authorization on unattended parking devices.
Endpoint
Production:
POST
https://api.visaacceptance.com
/pts/v2/paymentsTest:
POST
https://apitest.visaacceptance.com
/pts/v2/paymentsRequired Fields for a Pre-Authorization on Unattended Parking Devices
IMPORTANT
Pre-authorization requests on unattended devices must include
the
pointOfSaleInformation.catLevel
field to identify the
terminal as unattended.- clientReferenceInformation.code
- clientReferenceInformation.comments
- Set the value toParking Auth.
- clientReferenceInformation.partner.developerId
- Visa Acceptance Solutionsprovides the value for this field.
- clientReferenceInformation.partner.solutionId
- Visa Acceptance Solutionsprovides the value for this field.
- clientReferenceInformation.partner.thirdPartyCertificationNumber
- Visa Acceptance Solutionsprovides the value for this field.
- clientReferenceInformation.transactionId
- merchantInformation.transactionLocalDateTime
- orderInformation.amountDetails.currency
- orderInformation.amountDetails.totalAmount
- paymentInformation.card.type
- pointOfSaleInformation.catLevel
- Set the value to2.
- pointOfSaleInformation.emv.cardSequenceNumber
- pointOfSaleInformation.emv.tags
- pointOfSaleInformation.entryMode
- pointOfSaleInformation.terminalCapability
- pointOfSaleInformation.terminalPinCapability
- pointOfSaleInformation.trackData
- processingInformation.authorizationOptions.authIndicator
- Set the value to0.
- processingInformation.commerceIndicator
- Set the value toretail.
REST Example: Pre-Authorization for Visa on Unattended
Parking Devices
Request
{ "clientReferenceInformation": { "code": "test123", "comments": "Parking Auth", "partner": { "developerId": "prodDeveloperId", "thirdPartyCertificationNumber": "prodTPCN", "solutionId": "prodSolutionId" }, "transactionId": "UniqueTranID3" }, "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, "emv": { "tags": "9F100706011103A000009F26089302EDF8DC3C6E519F02060000000011009F03060000000000009F1A020840950500000000005F2A0208409A031807039C01009F37043444BDD7820200009F360200019F330360B0E89F1E04123456789F2701809F6E04207000009F7C140000000000000000000000000000000000000000", "cardSequenceNumber": "01" }, "trackData": ";4761739xx1010135=28122011758928889?" }, "merchantInformation": { "transactionLocalDateTime": "20260225115959" } }
Response to a Successful Request
{ "_links": { "authReversal": { "method": "POST", "href": "/pts/v2/payments/7768803589646057404807/reversals" }, "self": { "method": "GET", "href": "/pts/v2/payments/7768803589646057404807" }, "capture": { "method": "POST", "href": "/pts/v2/payments/7768803589646057404807/captures" } }, "clearingInformation": { "accountfundingSource": "D" }, "clientReferenceInformation": { "code": "test123", "comments": "Parking Auth", "partner": { "developerId": "prodDeveloperId", "solutionId": "prodSolutionId" }, "transactionId": "UniqueTranID3" }, "id": "7768803589646057404807", "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": "015657", "paymentAccountReferenceNumber": "V0010013018036783719331133719", "merchantNumber": "123456789012", "approvalCode": "093477", "networkTransactionId": "306112643598142", "settlementDate": "6117", "retrievalReferenceNumber": "611217015657", "transactionId": "306112643598142", "responseCode": "00", "avs": { "code": "2" } }, "reconciliationId": "7768803589646057404807", "status": "AUTHORIZED", "submitTimeUtc": "2026-04-22T17:52:39Z" }
Incremental Authorization on Parking Devices
Use this information to process an incremental authorization on attended or unattended
parking devices. You can process multiple incremental authorizations for a single
parking session.
Process an incremental authorization when the final transaction amount of the parking
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.
Endpoint
Production:
PATCH
https://api.visaacceptance.com
/pts/v2/payments/{id}
Test:
PATCH
https://apitest.visaacceptance.com
/pts/v2/payments/{id}
The is the transaction ID returned in the
original authorization response.
{id}
Required Fields for an Incremental Authorization on Parking Devices
- clientReferenceInformation.code
- clientReferenceInformation.comments
- Set the value toParking Incremental Auth.
- clientReferenceInformation.partner.developerId
- Visa Acceptance Solutionsprovides the value for this field.
- clientReferenceInformation.partner.solutionId
- Visa Acceptance Solutionsprovides the value for this field.
- clientReferenceInformation.partner.thirdPartyCertificationNumber
- Visa Acceptance Solutionsprovides the value for this field.
- merchantInformation.transactionLocalDateTime
- orderInformation.amountDetails.currency
- orderInformation.amountDetails.totalAmount
- processingInformation.authorizationOptions.initiator.storedCredentialUsed
- Set the value totrue.
REST Example: Incremental Authorization for Visa on Parking
Devices
Request
{ "clientReferenceInformation": { "code": "test123", "comments": "Parking Incremental Auth", "partner": { "developerId": "prodDeveloperId", "thirdPartyCertificationNumber": "prodTPCN", "solutionId": "prodSolutionId" } }, "processingInformation": { "authorizationOptions": { "initiator": { "storedCredentialUsed": true } } }, "orderInformation": { "amountDetails": { "totalAmount": "10.00", "currency": "USD" } }, "merchantInformation": { "transactionLocalDateTime": "20260225115959" } }
Response to a Successful Request
{ "_links": { "authReversal": { "method": "POST", "href": "/pts/v2/payments/7720595927166430303812/reversals" }, "self": { "method": "GET", "href": "/pts/v2/payments/7720598519496636603812" }, "capture": { "method": "POST", "href": "/pts/v2/payments/7720595927166430303812/captures" } }, "clientReferenceInformation": { "comments": "Parking Incremental Auth", "code": "test123", "partner": { "developerId": "prodDeveloperId", "solutionId": "prodSolutionId" } }, "id": "7720598519496636603812", "orderInformation": { "amountDetails": { "totalAmount": "30.00", "authorizedAmount": "10.00", "currency": "USD" } }, "paymentInformation": { "accountFeatures": { "category": "F" } }, "processorInformation": { "systemTraceAuditNumber": "035730", "approvalCode": "097617", "transactionId": "306056819920688", "responseCode": "00" }, "reconciliationId": "7720595927166430303812", "status": "AUTHORIZED", "submitTimeUtc": "2026-02-25T22:50:52Z" }
Capture on Parking Devices
Use this information to process a capture on attended or unattended parking devices.
Endpoint
Production:
POST
https://api.visaacceptance.com
/pts/v2/payments/{id}
/capturesTest:
POST
https://apitest.visaacceptance.com
/pts/v2/payments/{id}
/capturesThe is the transaction ID
returned in the authorization response.
{id}
Required Fields for a Capture on Parking Devices
IMPORTANT
For pre-authorized EMV contact transactions, the follow-on
capture requests must include EMV tags.
- clientReferenceInformation.code
- clientReferenceInformation.comments
- Set the value toParking Capture.
- clientReferenceInformation.partner.developerId
- Visa Acceptance Solutionsprovides the value for this field.
- clientReferenceInformation.partner.solutionId
- Visa Acceptance Solutionsprovides the value for this field.
- clientReferenceInformation.partner.thirdPartyCertificationNumber
- Visa Acceptance Solutionsprovides the value for this field.
- orderInformation.amountDetails.currency
- orderInformation.amountDetails.totalAmount
- pointOfSaleInformation.emv.tags
- This field is required for contact entry mode only.
REST Example: Capture for Visa on Parking Devices
Request
{ "clientReferenceInformation": { "code": "test123", "comments": "Parking 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/7720607252186978303813/voids" }, "self": { "method": "GET", "href": "/pts/v2/captures/7720607252186978303813" } }, "clientReferenceInformation": { "comments": "Parking Capture", "code": "test123", "partner": { "developerId": "prodDeveloperId", "solutionId": "prodSolutionId" } }, "id": "7720607252186978303813", "orderInformation": { "amountDetails": { "totalAmount": "30.00", "currency": "USD" } }, "reconciliationId": "7720606726016948703813", "status": "PENDING", "submitTimeUtc": "2026-02-25T23:05:25Z" }