On This Page
Sales with Level III Data
This section shows you how to process a sale transaction with Level III data.
A sale transaction combines and authorization and a capture into a single transaction.
Endpoint
Production:
POST
https://api.cybersource.com
/pts/v2/paymentsTest:
POST
https://apitest.cybersource.com
/pts/v2/paymentsRequired Fields for Processing a Sale with Level III Data Using the REST API
REST
APIThe following fields are required in a request for a sale with Level III data:
- buyerInformation.vatRegistrationNumber
- clientReferenceInformation.code
- merchantInformation.merchantDescriptor.address1
- merchantInformation.merchantDescriptor.country
- Barclayssupports UK-based merchants only. The country code must be set toGB.
- merchantInformation.merchantDescriptor.locality
- merchantInformation.merchantDescriptor.name
- merchantInformation.merchantDescriptor.postalCode
- orderInformation.amountDetails.currency
- Barclayssupports British pound sterling currency only. Set toGBP.
- orderInformation.amountDetails.taxAmount
- orderInformation.amountDetails.totalAmount
- orderInformation.billTo.address1
- orderInformation.billTo.administrativeArea
- orderInformation.billTo.company
- orderInformation.billTo.company.name
- orderInformation.billTo.country
- orderInformation.billTo.email
- orderInformation.billTo.firstName
- orderInformation.billTo.lastName
- orderInformation.billTo.locality
- orderInformation.billTo.postalCode
- orderInformation.invoiceDetails.invoiceDate
- orderInformation.invoiceDetails.supplierOrderReference
- orderInformation.lineItems[].productName
- orderInformation.lineItems[].quantity
- orderInformation.lineItems[].taxAmount
- orderInformation.lineItems[].taxRate
- orderInformation.lineItems[].taxTypeCode
- Set field toS,AA,BB,CC,DD,EorZ.
- orderInformation.lineItems[].totalAmount
- orderInformation.lineItems[].unitOfMeasure
- orderInformation.lineItems[].unitPrice
- orderInformation.shipTo.address1
- Required if anyorderInformation.shipTofields are included.
- orderInformation.shipTo.company
- Required if anyorderInformation.shipTofields are included.
- orderInformation.shipTo.firstName
- Required if anyorderInformation.shipTofields are included.
- orderInformation.shipTo.lastName
- Required if anyorderInformation.shipTofields are included.
- orderInformation.shipTo.postalCode
- Required if anyorderInformation.shipTofields are included.
- paymentInformation.card.expirationMonth
- paymentInformation.card.expirationYear
- paymentInformation.card.number
- paymentInformation.card.type
- processingInformation.capture
- Set field totrue.
- processingInformation.purchaseLevel
- Set field to3.
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.
Optional Fields for Processing a Sale with Level III Data Using the REST API
REST
APIThese fields are optional in a sale request with Level III data:
- buyerInformation.merchantCustomerId
- merchantInformation.merchantDescriptor.contact
- merchantInformation.merchantDescriptor.county
- merchantInformation.vatRegistrationNumber
- orderInformation.billTo.address2
- orderInformation.billTo.address3
- orderInformation.billTo.address4
- orderInformation.invoiceDetails.costCenter
- orderInformation.invoiceDetails.purchaseOrderDate
- orderInformation.invoiceDetails.purchaseOrderNumber
- orderInformation.invoiceDetails.referenceDataNumber
- orderInformation.lineItems.productSku
- orderInformation.lineItems[].commodityCode
- orderInformation.shipTo.address1
- orderInformation.shipTo.address2
- orderInformation.shipTo.address3
- orderInformation.shipTo.address4
- orderInformation.shipTo.country
- orderInformation.shipTo.administrativeArea
- orderInformation.shipTo.firstName
- orderInformation.shipTo.lastName
- orderInformation.shipTo.locality
- orderInformation.shipTo.postalCode
- paymentInformation.card.type
- paymentInformation.method
REST Example: Processing a Sale with Level III Data
Request
{ "clientReferenceInformation": { "code": "Simple Sale Invoice" }, "processingInformation": { "capture": true, "purchaseLevel": "3" }, "paymentInformation": { "card": { "number": "4715320629000001", "expirationMonth": "03", "expirationYear": "2025" } }, "orderInformation": { "amountDetails": { "totalAmount": "112.00", "currency": "GBP", "taxAmount": "18.67" }, "billTo": { "firstName": "Buyer", "lastName": "OfGoods", "company": { "name": "Acme Inc" }, "address1": "1 High Street", "locality": "Belfast", "postalCode": "BT1 2AB", "country": "UK", "email": "a@b.com" }, "lineItems": [ { "productName": "Widgets", "productSku": "WID1", "quantity": "7", "unitPrice": "10.00", "unitOfMeasure": "EA", "totalAmount": "70.00", "taxAmount": "14.00", "taxRate": "20.00", "taxTypeCode": "S" }, { "productName": "Freight", "productSku": "ABC123", "quantity": "1", "unitPrice": "23.33", "unitOfMeasure": "EA", "totalAmount": "23.33", "taxAmount": "4.67", "taxRate": "20.00", "taxTypeCode": "S" } ], "invoiceDetails": { "purchaseOrderNumber": "PO21122", "purchaseOrderDate": "20220601", "costCenter": "WE21122", "invoiceDate": "20220601000000", "supplierOrderReference": "ACME1234" } }, "buyerInformation": { "merchantCustomerId": "TESTBBREFACD21122", "vatRegistrationNumber": "GB123421100" }, "merchantInformation": { "merchantDescriptor": { "name": "Widgets Inc", "contact": "02890491491", "address1": "1 Main Street", "locality": "Belfast", "country": "UK", "postalCode": "BT1 2AB" }, "vatRegistrationNumber": "GB987654321" } }
Successful Response
{ "_links": { "void": { "method": "POST", "href": "/pts/v2/payments/6799459940956367204951/voids" }, "self": { "method": "GET", "href": "/pts/v2/payments/6799459940956367204951" } }, "clientReferenceInformation": { "code": "Simple Sale Invoice" }, "id": "6799459940956367204951", "orderInformation": { "amountDetails": { "totalAmount": "112.00", "authorizedAmount": "112.00", "currency": "GBP" } }, "paymentAccountInformation": { "card": { "type": "001" } }, "paymentInformation": { "tokenizedCard": { "type": "001" }, "card": { "type": "001" } }, "pointOfSaleInformation": { "terminalId": "123456" }, "processorInformation": { "approvalCode": "888888", "networkTransactionId": "123456789619999", "transactionId": "123456789619999", "responseCode": "100", "avs": { "code": "X", "codeRaw": "I1" } }, "reconciliationId": "703866398FM22CBS", "status": "AUTHORIZED", "submitTimeUtc": "2023-03-27T19:39:54Z" }
REST Example: Processing a Cross-Border Sale with Level III Data
Request
{ "clientReferenceInformation": { "code": "Simple Cross Border Sale" }, "processingInformation": { "capture": true, "purchaseLevel": "3" }, "paymentInformation": { "card": { "number": "4715320629000001", "expirationMonth": "03", "expirationYear": "2025" }, "method": "P" }, "orderInformation": { "amountDetails": { "totalAmount": "112.00", "currency": "GBP", "taxAmount": "18.67" }, "billTo": { "firstName": "OverseasBuyer", "lastName": "OfGoods", "company": { "name": "Acme France Inc" }, "address1": "1 Pl. Charles de Gaulle", "locality": "Paris", "postalCode": "75008", "country": "FR", "email": "a@b.com" }, "lineItems": [ { "productName": "Widgets", "productSku": "WID1", "quantity": "7", "unitPrice": "10.00", "unitOfMeasure": "EA", "totalAmount": "70.00", "taxAmount": "14.00", "taxRate": "20.00", "taxTypeCode": "S" }, { "productName": "Freight", "productSku": "ABC123", "quantity": "1", "unitPrice": "23.33", "unitOfMeasure": "EA", "totalAmount": "23.33", "taxAmount": "4.67", "taxRate": "20.00", "taxTypeCode": "S" } ], "invoiceDetails": { "purchaseOrderNumber": "PO21122", "purchaseOrderDate": "20220601", "costCenter": "WE21122", "invoiceDate": "20220601000000", "supplierOrderReference": "ACME1234" } }, "buyerInformation": { "merchantCustomerId": "TESTBBREFACD21106", "vatRegistrationNumber": "FR123421100" }, "merchantInformation": { "merchantDescriptor": { "name": "Widgets Inc", "contact": "02890491491", "address1": "1 Main Street", "locality": "Belfast", "country": "UK", "postalCode": "BT1 2AB" }, "vatRegistrationNumber": "GB987654321" } }
Successful Response
{ "_links": { "void": { "method": "POST", "href": "/pts/v2/payments/6796051688876181303954/voids" }, "self": { "method": "GET", "href": "/pts/v2/payments/6796051688876181303954" } }, "clientReferenceInformation": { "code": "Simple Cross Border Sale" }, "id": "6796051688876181303954", "orderInformation": { "amountDetails": { "totalAmount": "112.00", "authorizedAmount": "112.00", "currency": "GBP" } }, "paymentAccountInformation": { "card": { "type": "001" } }, "paymentInformation": { "tokenizedCard": { "type": "001" }, "card": { "type": "001" } }, "pointOfSaleInformation": { "terminalId": "123456" }, "processorInformation": { "approvalCode": "888888", "networkTransactionId": "123456789619999", "transactionId": "123456789619999", "responseCode": "100", "avs": { "code": "1" } }, "reconciliationId": "64152045IFJYCCTN", "status": "AUTHORIZED", "submitTimeUtc": "2023-03-23T20:59:29Z" }
REST Example: Processing a Tax-Only Sale with Level III Data
Request
{ "clientReferenceInformation": { "code": "Tax Only Sale Invoice" }, "processingInformation": { "capture": true, "purchaseLevel": "3" }, "paymentInformation": { "card": { "number": "4715320629000001", "expirationMonth": "03", "expirationYear": "2025" } }, "orderInformation": { "amountDetails": { "totalAmount": "87.44", "currency": "GBP", "taxAmount": "14.57" }, "billTo": { "firstName": "Buyer", "lastName": "OfGoods", "company": { "name": "Acme Inc" }, "address1": "1 High Street", "locality": "Belfast", "postalCode": "BT1 2AB", "country": "UK", "email": "a@b.com" }, "lineItems": [ { "productName": "Goods", "productSku": "ABC123", "quantity": "1", "unitPrice": "72.87", "unitOfMeasure": "EA", "totalAmount": "72.87", "taxAmount": "14.57", "taxRate": "20.00", "taxTypeCode": "S" } ], "invoiceDetails": { "purchaseOrderNumber": "PO21122", "purchaseOrderDate": "20220601", "costCenter": "WE21122", "invoiceDate": "20220601000000", "supplierOrderReference": "ACME1234" } }, "buyerInformation": { "merchantCustomerId": "TESTBBREFACD21122", "vatRegistrationNumber": "GB123421100" }, "merchantInformation": { "merchantDescriptor": { "name": "Widgets Inc", "contact": "02890491491", "address1": "1 Main Street", "locality": "Belfast", "country": "UK", "postalCode": "BT1 2AB" }, "vatRegistrationNumber": "GB987654321" } }
Successful Response
{ "_links": { "void": { "method": "POST", "href": "/pts/v2/payments/6796055770126475803955/voids" }, "self": { "method": "GET", "href": "/pts/v2/payments/6796055770126475803955" } }, "clientReferenceInformation": { "code": "Tax Only Sale Invoice" }, "id": "6796055770126475803955", "orderInformation": { "amountDetails": { "totalAmount": "87.44", "authorizedAmount": "87.44", "currency": "GBP" } }, "paymentAccountInformation": { "card": { "type": "001" } }, "paymentInformation": { "tokenizedCard": { "type": "001" }, "card": { "type": "001" } }, "pointOfSaleInformation": { "terminalId": "123456" }, "processorInformation": { "approvalCode": "888888", "networkTransactionId": "123456789619999", "transactionId": "123456789619999", "responseCode": "100", "avs": { "code": "X", "codeRaw": "I1" } }, "reconciliationId": "64151905JFJYC5DS", "status": "AUTHORIZED", "submitTimeUtc": "2023-03-23T21:06:17Z" }
REST Example: Processing a Sale with Multiple Tax Rates with Level III Data
Request
{ "clientReferenceInformation": { "code": "Simple Invoice" }, "processingInformation": { "capture": true, "purchaseLevel": "3" }, "paymentInformation": { "card": { "number": "4715320629000001", "expirationMonth": "03", "expirationYear": "2025" } }, "orderInformation": { "amountDetails": { "totalAmount": "180.88", "currency": "GBP", "taxAmount": "17.24" }, "billTo": { "firstName": "Buyer", "lastName": "OfGoods", "company": { "name": "Acme Inc" }, "address1": "1 High Street", "locality": "Belfast", "postalCode": "BT1 2AB", "country": "UK", "email": "a@b.com" }, "lineItems": [ { "productName": "Widgets", "productSku": "WID1", "quantity": "3", "unitPrice": "23.23", "unitOfMeasure": "EA", "totalAmount": "69.69", "taxAmount": "13.94", "taxRate": "20.00", "taxTypeCode": "S" }, { "productName": "Children's Clothes", "productSku": "ABC123", "quantity": "6", "unitPrice": "10.99", "unitOfMeasure": "EA", "totalAmount": "65.94", "taxAmount": "3.30", "taxRate": "5.00", "taxTypeCode": "AA" }, { "productName": "Spanner", "productSku": "XYZ123", "quantity": "5", "unitPrice": "4.99", "unitOfMeasure": "EA", "totalAmount": "24.95", "taxAmount": "0.00", "taxRate": "0.00", "taxTypeCode": "E" }, { "productName": "Wrech", "productSku": "DEF321", "quantity": "3", "unitPrice": "1.02", "unitOfMeasure": "EA", "totalAmount": "3.06", "taxAmount": "0.00", "taxRate": "0.00", "taxTypeCode": "Z" }, { "productName": "Freestuff", "productSku": "GHI456", "quantity": "4", "unitPrice": "0.00", "unitOfMeasure": "FOC", "totalAmount": "0.00", "taxAmount": "0.00", "taxRate": "0.00", "taxTypeCode": "E" } ], "invoiceDetails": { "purchaseOrderNumber": "PO21122", "purchaseOrderDate": "20220601", "costCenter": "WE21122", "invoiceDate": "20220601000000", "supplierOrderReference": "ACME1234" } }, "buyerInformation": { "merchantCustomerId": "TESTBBREFACD21122", "vatRegistrationNumber": "GB123421100" }, "merchantInformation": { "merchantDescriptor": { "name": "Widgets Inc", "contact": "02890491491", "address1": "1 Main Street", "locality": "Belfast", "country": "UK", "postalCode": "BT1 2AB" }, "vatRegistrationNumber": "GB987654321" } }
Successful Response
{ "_links": { "void": { "method": "POST", "href": "/pts/v2/payments/6796055429906230103954/voids" }, "self": { "method": "GET", "href": "/pts/v2/payments/6796055429906230103954" } }, "clientReferenceInformation": { "code": "Simple Invoice" }, "id": "6796055429906230103954", "orderInformation": { "amountDetails": { "totalAmount": "180.88", "authorizedAmount": "180.88", "currency": "GBP" } }, "paymentAccountInformation": { "card": { "type": "001" } }, "paymentInformation": { "tokenizedCard": { "type": "001" }, "card": { "type": "001" } }, "pointOfSaleInformation": { "terminalId": "123456" }, "processorInformation": { "approvalCode": "888888", "networkTransactionId": "123456789619999", "transactionId": "123456789619999", "responseCode": "100", "avs": { "code": "X", "codeRaw": "I1" } }, "reconciliationId": "64152053IFJYCCU7", "status": "AUTHORIZED", "submitTimeUtc": "2023-03-23T21:05:43Z" }