On This Page 
    Automatic Fueling Payments Developer Guide
    This section describes how to use this guide and where to find further information.
- Audience and Purpose
 - This guide is written for application developers who want to use theVisa Acceptance SolutionsREST APIand theFiserv RapidConnectgateway to integrate payment services for automatic fueling and car washes.Implementing payment services requires software development skills. You must write code that uses the API request and response fields to integrate the payment and token management services for automatic fueling.
 - Customer Support
 - For support information about any service, visit the Support Center:
 
Recent Revisions to This Document
    25.09.01
      This revision contains only editorial changes and no technical updates.
25.04.01
      Initial release.
Introduction to Automatic Fueling and Car Wash Processing
    Visa Acceptance Solutions
 payments provide seamless and successful online and offline
            payment processing for automatic fueling and car washes.Prerequisites
    These actions are required before you can process payments for automatic fueling and car
            washes: 
- The customer adds their payment card details to their mobile app.
 - You process a zero amount authorization that creates the payment token, which is stored in the customer's mobile app wallet.
 
Card Types
    You can process automatic fueling and car wash payments with a Visa consumer or corporate
            card.
Transaction Types
    Visa Acceptance Solutions
 offers these types of transactions for automatic fueling and
            car wash payments: - Automatic fueling
- Authorization
 - Authorization reversal
 - Capture
 - Time-out void for an authorization, authorization reversal, or capture
 
 - Car wash
- Sale
 - Void a sale
 - Time-out void for a sale
 
 
Payment Scenarios
    Automatic fueling and car wash processing consists of these payment scenarios: 
- Automatic fueling with the option to add a car wash, in which you use the authorization and capture services to process the payment.
 - Car wash only, in which you use the sale service to process the payment.
 
Automatic Fueling and Car Wash Processing 
    This section describes how to process automatic fueling  and car wash transactions.
Authorizing an Automatic Fueling Payment
    This section provides the information you need in order to process an automatic fueling
            authorization with or without a car wash. Include the fuel and car wash line items when you capture the authorization. 
Endpoint
			Production:
					POST 
https://api.visaacceptance.com
/pts/v2/paymentsTest:
					POST 
https://apitest.visaacceptance.com
/pts/v2/paymentsRequired Fields for an Automatic Fueling Authorization
    Use these required fields to process an Automatic Fueling authorization.
- clientReferenceInformation.code
 - clientReferenceInformation.reconciliationID
 - merchantInformation.categoryCode
 - merchantInformation.merchantDescriptor.country
 - merchantInformation.merchantDescriptor.customerServicePhoneNumber
 - merchantInformation.merchantDescriptor.name
 - merchantInformation.merchantDescriptor.url
 - orderInformation.amountDetails.currency
 - orderInformation.amountDetails.totalAmount
 - orderInformation.billTo.address1
 - orderInformation.billTo.administrativeArea
 - orderInformation.billTo.country
 - orderInformation.billTo.email
 - orderInformation.billTo.firstName
 - orderInformation.billTo.lastName
 - orderInformation.billTo.locality
 - orderInformation.billTo.phoneNumber
 - orderInformation.billTo.postalCode
 - paymentInformation.card.expirationMonth
 - paymentInformation.card.expirationYear
 - paymentInformation.card.number
 - paymentInformation.card.securityCode
 - paymentInformation.card.type
 - pointOfSaleInformation.laneNumber
 - pointOfSaleInformation.terminalCategory
 - processingInformation.actionList
 - Set the value toTOKEN_CREATE.
 - processingInformation.actionTokenTypes
 - Set to all of these values:
- customer
 - paymnentInstrument
 - shippingAddress
 
 - processingInformation.commerceIndicator
 - Set the value tointernet.
 
REST Example: Automatic Fueling Authorization
    Request
{ "clientReferenceInformation": { "code": "123456789010", "reconciliationId": "000000050000775" }, "pointOfSaleInformation": { "terminalCategory": "AFD", "laneNumber": "1234" }, "processingInformation": { "actionList": [ "TOKEN_CREATE" ], "actionTokenTypes": [ "customer", "paymentInstrument", "shippingAddress" ], "commerceIndicator": "INTERNET" }, "orderInformation": { "billTo": { "country": "US", "firstName": "John", "lastName": "Smith", "phoneNumber": "650-965-6111", "address1": "600 Morgan Falls Road", "postalCode": "94566-1234", "locality": "Atlanta", "administrativeArea": "MI", "email": "" }, "amountDetails": { "totalAmount": "10", "currency": "USD" } }, "merchantInformation": { "categoryCode": 1234, "merchantDescriptor": { "country": "US", "name": "Fast Gas", "customerServicePhoneNumber": "1234567890", "url": "www.example.com" } }, "paymentInformation": { "card": { "expirationYear": "2030", "number": "4111111111111111", "securityCode": "123", "expirationMonth": "2", "type": "001" } } }
Response to a Successful Request
{ "embeddedActions": { "TOKEN_CREATE": { "status": "SUCCESS" } }, "paymentInformation": { "bin": "411111", "issuer": "CONOTOXIA SP. Z O.O", "binCountry": "PL", "accountType": "Visa Classic", "cardBrand": "VISA", "cardType": "001" }, "submitTimeUtc": "2021-12-15T15:03:52Z", "processorInformation": { "approvalCode": "OK1272", "responseCodeSource": "4", "networkTransactionId": "0014239537635196CN", "responseCode": "000" }, "_links": { "capture": { "href": "/pts/v2/payments/7418004527693232235535/captures", "method": "POST" }, "reversal": { "href": "/pts/v2/payments/7418004527693232235535/reversals", "method": "POST" }, "self": { "method": "GET", "href": "/pts/v2/payments/7418004527693232235535" } }, "consumerAuthenticationResponse": { "systemTraceAuditNumber": "500041", "merchantNumber": "RCTST1000107085" }, "orderInformation": { "amountDetails": { "authorizedAmount": "10.00" } }, "message": "Successful transaction.", "clientReferenceInformation": { "code": "123456789010" }, "reconciliationId": "000000050000775", "pointOfSaleInformation": { "terminalId": "00000001" }, "id": "7418004527693232235535", "status": "AUTHORIZED", "tokenInformation": { "instrumentIdentifierNew": false, "customer": { "id": "302984DDBE8DFA5EE0634136CF0A945E" }, "instrumentIdentifier": { "id": "7018759999957811111", "state": "ACTIVE" }, "paymentInstrument": { "id": "302984DDBE96FA5EE0634136CF0A945E" }, "shippingAddress": { "id": "302984DDBE99FA5EE0634136CF0A945E" } } }
Authorization Reversal for Automatic Fueling
    This section provides the information you need in order to process an authorization reversal. 
Reversing an authorization releases the hold on the customer’s payment card funds that the
      issuing bank placed when processing the authorization. 
Endpoint
			Production:
					POST 
https://api.visaacceptance.com
/pts/v2/payments/{id}
/reversalsTest:
					POST 
https://apitest.visaacceptance.com
/pts/v2/payments/{id}
/reversalsThe  is the transaction ID returned in the
					authorization response.
{id}
Required Fields for an Authorization Reversal
    - clientReferenceInformation.code
 - clientReferenceInformation.reconciliationId
 - reversalInformation.amountDetails.currency
 - reversalInformation.amountDetails.totalAmount
 
REST Example: Authorization Reversal
    Request
{ "clientReferenceInformation": { "code": "TC_GSAP_AR_BASIC-2", "reconciliationId": "000000050000777" }, "reversalInformation": { "amountDetails": { "currency": "USD", "totalAmount": "10" } } }
Response to a Successful Request
{ "submitTimeUtc": "2025-03-12T17:54:37Z", "processorInformation": { "approvalCode": "OK1272", "responseCode": "000" }, "consumerAuthenticationResponse": { "systemTraceAuditNumber": "500044" }, "orderInformation": { "amountDetails": { "authorizedAmount": "10.00" } }, "message": "Successful transaction.", "clientReferenceInformation": { "code": "123456789010" }, "reconciliationId": "000000050000777", "id": "7418020779133232235535", "status": "REVERSED" }
Capturing an Automatic Fueling Payment
    This section provides the information you need in order to capture an automatic fueling
            authorization with or without a car wash. Include separate line items for the fuel and
            car wash.
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 an Automatic Fueling Capture
    - clientReferenceInformation.code
 - clientReferenceInformation.reconciliationID
 - orderInformation.amountDetails.currency
 - orderInformation.amountDetails.totalAmount
 - orderInformation.lineItems[].measurement
 - orderInformation.lineItems[].referenceDataCode
 - orderInformation.lineItems[].referenceDataNumber
 - orderInformation.lineItems[].totalAmount
 - orderInformation.lineItems[].unitOfMeasure
 - orderInformation.lineItems[].unitPrice
 
REST Example: Automatic Fueling Capture
    Request
{ "clientReferenceInformation": { "code": "123456789012", "reconciliationId": "000000050000775" }, "orderInformation": { "lineItems": [ { "unitPrice": "20", "totalAmount": "200", "unitOfMeasure": "case", "referenceDataNumber": "01-02-00", "referenceDataCode": "nacs", "measurement": 1 }, { "unitPrice": "20", "totalAmount": "200", "unitOfMeasure": "Gallon", "referenceDataNumber": "01-03-00", "referenceDataCode": "nacs", "measurement": 1 }, { "unitPrice": "20", "totalAmount": "200", "unitOfMeasure": "Liter", "referenceDataNumber": "01-05-00", "referenceDataCode": "nacs", "measurement": 1 } ], "amountDetails": { "totalAmount": "10", "currency": "USD" } } }
Response to a Successful Request
{ "submitTimeUtc": "2025-03-12T17:30:42Z", "_links": { "refund": { "href": "/pts/v2/payments/7418006421273232235535/refunds", "method": "POST" }, "void": { "href": "/pts/v2/payments/7418006421273232235535/voids", "method": "POST" }, "self": { "method": "GET", "href": "/pts/v2/payments/7418006421273232235535" } }, "processorInformation": { "approvalCode": "OK1272", "responseCode": "000" }, "consumerAuthenticationResponse": { "systemTraceAuditNumber": "500042", "merchantNumber": "RCTST1000107085" }, "orderInformation": { "amountDetails": { "authorizedAmount": "10.00" } }, "message": "Successful transaction.", "clientReferenceInformation": { "code": "123456789010" }, "reconciliationId": "000000050000775", "pointOfSaleInformation": { "terminalId": "00000001" }, "id": "7418006421273232235535", "status": "COMPLETED" }
Sale for a Car Wash
    This section provides the information you need in order to process a sale transaction.
A sale combines an authorization and a capture into a single transaction.
Endpoint
			Production: 
POST 
https://api.visaacceptance.com
/pts/v2/paymentsTest:
					POST 
https://apitest.visaacceptance.com
/pts/v2/paymentsRequired Fields for a Sale for a Car Wash
    - clientReferenceInformation.code
 - clientReferenceInformation.reconciliationId
 - orderInformation.amountDetails.currency
 - orderInformation.amountDetails.totalAmount
 - orderInformation.billTo.address1
 - orderInformation.billTo.administrativeArea
 - orderInformation.billTo.country
 - orderInformation.billTo.email
 - orderInformation.billTo.firstName
 - orderInformation.billTo.lastName
 - orderInformation.billTo.locality
 - orderInformation.billTo.phoneNumber
 - orderInformation.billTo.postalCode
 - orderInformation.lineItems[].measurement
 - orderInformation.lineItems[].referenceDataCode
 - orderInformation.lineItems[].referenceDataNumber
 - orderInformation.lineItems[].totalAmount
 - orderInformation.lineItems[].unitOfMeasure
 - orderInformation.lineItems[].unitPrice
 - paymentInformation.card.expirationMonth
 - paymentInformation.card.expirationYear
 - paymentInformation.instrumentIdentifier.id
 - processingInformation.capture
 - Set the value totrue.
 - processingInformation.commerceIndicator
 - Set the value tointernet.
 
REST Example: Sale for a Car Wash
    Request
"{ "clientReferenceInformation": { "code": "123456789012". "reconciliationId": "000000050000764" }, "processingInformation": { "commerceIndicator": "INTERNET", "capture": true }, "orderInformation": { "lineItems": [ { "unitPrice": "20", "totalAmount": "200", "unitOfMeasure": "case", "referenceDataNumber": "25-03-00", "referenceDataCode": "carwash", "measurement": 1 }, { "unitPrice": "20", "totalAmount": "200", "unitOfMeasure": "Gallon", "referenceDataNumber": "01-03-00", "referenceDataCode": "nacs", "measurement": 1 } ], "billTo": { "country": "US", "firstName": "John", "lastName": "Smith", "phoneNumber": "650-965-6111", "address1": "600 Morgan Falls Road", "postalCode": "94566-1234", "locality": "Atlanta", "administrativeArea": "MI", "email": "" }, "amountDetails": { "totalAmount": "110", "currency": "USD" } }, "merchantInformation": { "merchantDescriptor": { "name": "Fast Gas" } }, "paymentInformation": { "card": { "expirationYear": "2030", "expirationMonth": "02" }, "instrumentIdentifier": { "id": "7018759999957811111" } } }"
Response to a Successful Request
{ "paymentInformation": { "bin": "411111", "issuer": "CONOTOXIA SP. Z O.O", "binCountry": "PL", "accountType": "Visa Classic", "cardBrand": "VISA", "cardType": "001", "instrumentIdentifier": { "id": "7018759999957811111", "state": "ACTIVE" } }, "submitTimeUtc": "2025-03-10T20:51:26Z", "_links": { "refund": { "href": "/pts/v2/payments/7416398860323232235535/refunds", "method": "POST" }, "void": { "href": "/pts/v2/payments/7416398860323232235535/voids", "method": "POST" }, "self": { "method": "GET", "href": "/pts/v2/payments/7416398860323232235535" } }, "processorInformation": { "approvalCode": "OK1272", "consumerAuthenticationResponse": { "code": "1", "codeRaw": "1" }, "responseCodeSource": "4", "networkTransactionId": "0014239537635196CN", "responseCode": "000" }, "consumerAuthenticationResponse": { "systemTraceAuditNumber": "500027", "merchantNumber": "RCTST1000107085" }, "clientReferenceInformation": { "code": "123456789012" }, "pointOfSaleInformation": { "terminalId": "00000001" }, "id": "7416398860323232235535", "orderInformation": { "amountDetails": { "authorizedAmount": "110.00" } }, "message": "Successful transaction.", "reconciliationId": "000000050000764", "status": "COMPLETED", "tokenInformation": { "instrumentIdentifierNew": false, "instrumentIdentifier": { "id": "7018759999957811111", "state": "ACTIVE" } }, "embeddedActions": { "TOKEN_RETRIEVE": { "status": "SUCCESS" } } }
Void for a Car Wash Sale
    This section describes how to void a sale that was submitted but not yet processed by the
      processor.
Endpoint
			
			Production:
					POST 
https://api.visaacceptance.com
/pts/v2/payments/{id}
/voidsTest:
					POST 
https://apitest.visaacceptance.com
/pts/v2/payments/{id}
/voidsThe  is the transaction ID returned in the
					sale response.
{id}
Required Fields for Voiding a Sale for a Car Wash
    - clientReferenceInformation.code
 - clientReferenceInformation.reconciliationId
 - orderInformation.amountDetails.currency
 - orderInformation.amountDetails.totalAmount
 
REST Example: Voiding a Sale for a Car Wash
    Request
{ "clientReferenceInformation": { "code": "123456789012", "reconciliationId": "000000050000771" }, "orderInformation": { "amountDetails": { "totalAmount": "110", "currency": "USD" } } }
Response to a Successful Request
{ "submitTimeUtc": "2025-03-11T16:39:30Z", "processorInformation": { "approvalCode": "OK1272", "responseCode": "000" }, "consumerAuthenticationResponse": { "systemTraceAuditNumber": "500036" }, "orderInformation": { "amountDetails": { "authorizedAmount": "110.00" } }, "message": "Successful transaction.", "clientReferenceInformation": { "code": "123456789012" }, "reconciliationId": "000000050000771", "id": "7417111702443232235535", "_links": { "self": { "method": "GET", "href": "/pts/v2/voids/7417111702443232235535" } }, "status": "VOIDED" }
Time-Out Void for an Authorization, Authorization Reversal,
        Capture, or Sale
    When you do not receive a response message after requesting an authorization,
            authorization reversal, capture, or sale, this feature enables you to void the
            transaction that you requested.
Include the 
clientReferenceInformation.transactionId
 field in the
            original request for an authorization, authorization reversal, capture, or sale. The
            value of the merchant transaction ID must be unique for 180 days.When the original transaction fails, the response message for the reversal request
            includes these fields:
- voidAmountDetails.originalTransactionAmount
 - processorInformation.responseCode
 
Endpoint
			Production:
					POST 
https://api.visaacceptance.com
/pts/v2/voids/Test:
					POST 
https://apitest.visaacceptance.com
/pts/v2/voids/Required Fields for a Time-Out Void for an Authorization, Authorization Reversal, or
        Capture
    - clientReferenceInformation.code
 - clientReferenceInformation.reconciliationId
 - clientReferenceInformation.transactionId
 - orderInformation.amountDetails.currency
 - orderInformation.amountDetails.totalAmount
 
REST Example: Time-Out Void for an Authorization,
        Authorization Reversal, or Capture
    Request
{ "clientReferenceInformation": { "code": "123456789012", "reconciliationId": "000000050000772" "transactionId": "987654321" }, "orderInformation": { "amountDetails": { "totalAmount": "100", "currency": "USD" } } }
Response to a Successful Request
{ "submitTimeUtc": "2025-03-11T16:57:19Z", "processorInformation": { "approvalCode": "OK1272", "responseCode": "000" }, "consumerAuthenticationResponse": { "systemTraceAuditNumber": "500039" }, "orderInformation": { "amountDetails": { "authorizedAmount": "110.00" } }, "message": "Successful transaction.", "clientReferenceInformation": { "code": "123456789012" }, "reconciliationId": "000000050000772", "id": "7417122396283232235535", "_links": { "self": { "method": "GET", "href": "/pts/v2/voids/7417122396283232235535" } }, "status": "VOIDED" }