FILTER BY TAG

Sales with Level III Data

This section shows you how to process a sale transaction with Level III data. These required fields and example are specific to
Visa Platform Connect
.
A sale transaction combines and authorization and a capture into a single transaction.

Endpoint

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

Required Fields for Processing a Sale with Level III Data

Use these required fields to process a sale that includes Level III data.
IMPORTANT
When relaxed requirements for address data and the expiration date are being used, not all fields in this list are required. It is your responsibility to determine whether your account is enabled to use this feature and which fields are required. For details about relaxed requirements, see Relaxed Requirements for Address Data and Expiration Date in Payment Transactions.
orderInformation.amountDetails.currency
orderInformation.amountDetails.nationalTaxIncluded
Set the value to
1
if the sum of all
orderInformation.lineItems[].taxDetails[].amount
values >
0
.
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.postalCode
orderInformation.invoiceDetails.purchaseOrderNumber
Required for purchase/procurement cards only.
orderInformation.invoiceDetails.taxable
Required if the sum of all
orderInformation.lineItems[].taxAmount
values >
0
.
orderInformation.lineItems[].taxAmount
paymentInformation.card.expirationMonth
paymentInformation.card.expirationYear
paymentInformation.card.number
paymentInformation.card.securityCode
Required only for
Visa Platform Connect
.
paymentInformation.card.type
processingInformation.capture
Set field to
true
.
processingInformation.purchaseLevel
Set field to
3
.

Optional Fields for Processing a Sale with Level III Data

You can use these optional fields to include additional information when processing a sale request with Level III data.
buyerInformation.vatRegistrationNumber
merchantInformation.cardAcceptorReferenceNumber
merchantInformation.vatRegistrationNumber
order.vatTaxAmountSign
orderInformation.amountDetails.discountAmount
orderInformation.amountDetails.dutyAmount
orderInformation.amountDetails.freightAmount
orderInformation.amountDetails.taxAppliedAfterDiscount
orderInformation.amountDetails.taxAppliedLevel
orderInformation.amountDetails.taxDetails[].amount
orderInformation.amountDetails.taxDetails[].rate
orderInformation.invoiceDetails.commodityCode
orderInformation.invoiceDetails.purchaseContactName
orderInformation.invoiceDetails.purchaseOrderDate
orderInformation.invoiceDetails.vatInvoiceReferenceNumber
orderInformation.lineItems[].commodityCode
orderInformation.lineItems[].discountAmount
orderInformation.lineItems[].discountRate
orderInformation.lineItems[].invoiceNumber
orderInformation.lineItems[].productCode
orderInformation.lineItems[].productName
orderInformation.lineItems[].quantity
orderInformation.lineItems[].taxAppliedAfterDiscount
orderInformation.lineItems[].taxDetails[].amount
orderInformation.lineItems[].taxRate
orderInformation.lineItems[].taxStatusIndicator
orderInformation.lineItems[].totalAmount
orderInformation.lineItems[].typeOfSupply
orderInformation.lineItems[].unitOfMeasure
orderInformation.lineItems[].unitPrice
orderInformation.shippingDetails.shipFromPostalCode
orderInformation.shipTo.administrativeArea
orderInformation.shipTo.postalCode
senderInformation.vatRegistrationNumber

REST Example: Processing a Sale with Level III Data

Request
{ "processingInformation": { "capture": true, "purchaseLevel": "3" }, "orderInformation" : { "billTo" : { "country" : "US", "lastName" : "VDP", "address1" : "201 S. Division St.", "postalCode" : "48104-2201", "locality" : "Ann Arbor", "administrativeArea" : "MI", "firstName" : "RTS", "email" : "", "lineItems": [ { "productCode": "service", "productName": "TestProduct1", "quantity": "2", "unitPrice": "40.00", "unitOfMeasure": "EA", "totalAmount": "100.00", "taxAmount": "20.00" } ], "invoiceDetails": { "purchaseOrderNumber": "L3PurchaseOrderNo", "purchaseOrderDate": "2024-11-15", "taxable": true } }, "amountDetails" : { "totalAmount" : "200.00", "currency" : "USD" } }, "paymentInformation" : { "card" : { "expirationYear" : "2031", "number" : "4111111111111111", "expirationMonth" : "12", "type" : "001", "securityCode": "999" } } }
Response to a Successful Request
{ "_links": { "void": { "method": "POST", "href": "/pts/v2/payments/7320309047086907404953/voids" }, "self": { "method": "GET", "href": "/pts/v2/payments/7320309047086907404953" } }, "clientReferenceInformation": { "code": "1732030904750" }, "id": "7320309047086907404953", "orderInformation": { "amountDetails": { "totalAmount": "200.00", "authorizedAmount": "200.00", "currency": "USD" } }, "paymentAccountInformation": { "card": { "type": "001" } }, "paymentInformation": { "tokenizedCard": { "type": "001" }, "card": { "type": "001" } }, "processorInformation": { "systemTraceAuditNumber": "528726", "approvalCode": "831000", "cardVerification": { "resultCodeRaw": "M", "resultCode": "M" }, "merchantAdvice": { "code": "01", "codeRaw": "M001" }, "responseDetails": "ABC", "networkTransactionId": "016153570198200", "retrievalReferenceNumber": "432415528726", "consumerAuthenticationResponse": { "code": "2", "codeRaw": "2" }, "transactionId": "016153570198200", "responseCode": "00", "avs": { "code": "Y", "codeRaw": "Y" } }, "reconciliationId": "7320309047086907404953", "status": "AUTHORIZED", "submitTimeUtc": "2024-11-19T15:41:44Z" }