On This Page
Processing Apple Pay Transactions
VDC NAB
supports these payment services for Apple Pay:
Authorization, Sale, Authorization Reversal, and Capture.
This section of the guide contains tasks that show you how to use those services
to process Apple Pay transactions:- Authorize an Apple Pay payment withVDC NABdecryption
- Authorize an Apple Pay payment with merchant decryption
- Process an Apple Pay sale withVDC NABdecryption
- Process an Apple Pay sale with merchant decryption
- Reverse the authorization of an Apple Pay payment
- Capture an authorized Apple Pay payment
For each task in this section,
the example request message includes the
API field set to
processingInformation. paymentSolution
REST
001
.
This value identifies Apple Pay as the digital payment solution.IMPORTANT
In response to your successful payment authorization request,
Apple Pay returns an encrypted payload that contains sensitive payment
information. The method you use to extract and decrypt the payment data depends
on how you integrated Apple Pay into your system.
For high-level descriptions of the
VDC NAB
decryption method and the merchant decryption method,
see Integration Options.Authorization Service
This section provides the steps for requesting the authorization service using these methods,
which determine the request fields that are required to request the authorization service.
In addition, different request fields are required in order to request the authorization service.
The type of card used to process the transaction determines which request fields are used.
To request the authorization service, use the endpoint specified below.
After you send the request, verify the response messages to make sure that the request was
successful.
A 200-level HTTP response code indicates
success.
For information about response codes, see
Transaction Response Codes
.Endpoint
Production:
POST
https://nabgateway-api.nab.com.au
/pts/v2/paymentsTest:
POST
https://nabgateway-api-test.nab.com.au
/pts/v2/paymentsAuthorizations Using National Australia Bank Decryption for JCB
National Australia Bank
Decryption for JCBThis section shows you how to process an authorization using
National Australia Bank
decryption for JCB.Required Fields for Authorizing a Payment Using National Australia Bank Decryption for JCB
National Australia Bank
Decryption for JCB- clientReferenceInformation.code
- 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.postalCode
- paymentInformation.card.type
- paymentInformation.fluidData.descriptor
- Set this field toRklEPUNPTU1PTi5BUFBMRS5JTkFQUC5QQVlNRU5U.
- paymentInformaton.fluidData.value
- Set this field to the Base64-encoded value obtained from thepaymentDataproperty of thePKPaymentTokenobject.
- paymentInformation.tokenizedCard.transactionType
- Set this field to1.
- processingInformation.paymentSolution
- Set this field to001.
Optional Fields for Authorizing a Payment for Apple Pay Transactions
You can include these optional fields in a request for an authorization:
- paymentInformation.tokenizedCard.assuranceMethod
- Set this field to the tokenization confidence level specified by the method used to verify the account or authenticate the cardholder. The value is assigned by the token service provider.
REST Example: National Australia Bank Decryption and JCB
National Australia Bank
Decryption and JCBEndpoint:
- Production:POSThttps://nabgateway-api.nab.com.au/pts/v2/payments
- Test:POSThttps://nabgateway-api-test.nab.com.au/pts/v2/payments
Request
{ "clientReferenceInformation": { "code": "1234567890" }, "processingInformation": { "paymentSolution": "001" }, "paymentInformation": { "fluidData": { "value"="eyJkYXRhW5FINWZqVjfkak1NdVNSaE96dWF2ZGVyb2c9PSJ9", "descriptor": "RklEPUNPTU1PTi5BUFBMRS5JTkFQUC5QQVlNRU5U", "encoding": "Base64", }, "tokenizedCard": { "type": "007", "transactionType": "1", } }, "orderInformation": { "amountDetails": { "totalAmount": "100.00", "currency": "USD" }, "billTo": { "firstName": "Maya", "lastName": "Lee", "address1": "123 Main St", "locality": "SomeCity", "administrativeArea": "CA", "postalCode": "94404", "country": "US", "email": "[email protected]" } } }
Response for a Successful Request
{ "_links": { "authReversal": { "method": "POST", "href": "/pts/v2/payments/6234236182176225003004/reversals" }, "self": { "method": "GET", "href": "/pts/v2/payments/6234236182176225003004" }, "capture": { "method": "POST", "href": "/pts/v2/payments/6234236182176225003004/captures" } }, "clientReferenceInformation": { "code": "1234567890" }, "id": "6234236182176225003004", "orderInformation": { "amountDetails": { "authorizedAmount": "100.00", "currency": "USD" } }, "paymentInformation": { "tokenizedCard": { "expirationYear": "2031", "prefix": "128945", "expirationMonth": "12", "suffix": "2398", "type": "007" }, "card": { "type": "007" } }, "pointOfSaleInformation": { "terminalId": "111111" }, "processingInformation": { "paymentSolution": "001" }, "processorInformation": { "approvalCode": "888888", "networkTransactionId": "123456789619999", "transactionId": "123456789619999", "responseCode": "100", "avs": { "code": "X", "codeRaw": "I1" } }, "reconciliationId": "75729760OPN67ZFV", "status": "AUTHORIZED", "submitTimeUtc": "2021-06-11T15:00:18Z" }
Authorizations Using National Australia Bank Decryption for Mastercard
National Australia Bank
Decryption for MastercardThis section shows you how to process an authorization using
National Australia Bank
decryption for Mastercard.Required Fields for Authorizing a Payment Using National Australia Bank Decryption for Mastercard
National Australia Bank
Decryption for Mastercard- clientReferenceInformation.code
- 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.postalCode
- paymentInformation.card.type
- paymentInformation.fluidData.descriptor
- Set this field toRklEPUNPTU1PTi5BUFBMRS5JTkFQUC5QQVlNRU5U.
- paymentInformaton.fluidData.value
- Set this field to the Base64-encoded value obtained from thepaymentDataproperty of thePKPaymentTokenobject.
- paymentInformation.tokenizedCard.transactionType
- Set this field to1.
- processingInformation.paymentSolution
- Set this field to001.
Example: National Australia Bank Decryption and
Mastercard
National Australia Bank
Decryption and
MastercardEndpoint:
- Production:POSThttps://nabgateway-api.nab.com.au/pts/v2/payments
- Test:POSThttps://nabgateway-api-test.nab.com.au/pts/v2/payments
Request
{ "clientReferenceInformation": { "code": "1234567890" }, "processingInformation": { "paymentSolution": "001" }, "paymentInformation": { "fluidData": { "value"="eyJkYXRhW5FINWZqVjfkak1NdVNSaE96dWF2ZGVyb2c9PSJ9", "descriptor": "RklEPUNPTU1PTi5BUFBMRS5JTkFQUC5QQVlNRU5U", "encoding": "Base64", }, "tokenizedCard": { "type": "002", "transactionType": "1","requestorId": "987654321plokijuhygtfrdeswa"} }, "orderInformation": { "amountDetails": { "totalAmount": "100.00", "currency": "USD" }, "billTo": { "firstName": "Maya", "lastName": "Lee", "address1": "123 Main St", "locality": "SomeCity", "administrativeArea": "CA", "postalCode": "94404", "country": "US", "email": "[email protected]" } } }
Response for a Successful Request
{ "_links": { "authReversal": { "method": "POST", "href": "/pts/v2/payments/6234236182176225003004/reversals" }, "self": { "method": "GET", "href": "/pts/v2/payments/6234236182176225003004" }, "capture": { "method": "POST", "href": "/pts/v2/payments/6234236182176225003004/captures" } }, "clientReferenceInformation": { "code": "1234567890" }, "id": "6234236182176225003004", "orderInformation": { "amountDetails": { "authorizedAmount": "100.00", "currency": "USD" } }, "paymentInformation": { "tokenizedCard": { "expirationYear": "2031", "prefix": "128945", "expirationMonth": "12", "suffix": "2398", "type": "002" }, "card": { "type": "002" } }, "pointOfSaleInformation": { "terminalId": "111111" }, "processingInformation": { "paymentSolution": "001" }, "processorInformation": { "approvalCode": "888888", "networkTransactionId": "123456789619999", "transactionId": "123456789619999", "responseCode": "100", "avs": { "code": "X", "codeRaw": "I1" } }, "reconciliationId": "75729760OPN67ZFV", "status": "AUTHORIZED", "submitTimeUtc": "2021-06-11T15:00:18Z" }
Authorizations Using National Australia Bank Decryption for Visa
National Australia Bank
Decryption for VisaThis section shows you how to process an authorization using
National Australia Bank
decryption for Visa.Required Fields for Authorizing a Payment Using National Australia Bank Decryption for Visa
National Australia Bank
Decryption for Visa- clientReferenceInformation.code
- 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.postalCode
- paymentInformation.card.type
- paymentInformation.fluidData.descriptor
- Set this field toRklEPUNPTU1PTi5BUFBMRS5JTkFQUC5QQVlNRU5U.
- paymentInformaton.fluidData.value
- Set this field to the Base64-encoded value obtained from thepaymentDataproperty of thePKPaymentTokenobject.
- paymentInformation.tokenizedCard.transactionType
- Set this field to1.
- processingInformation.paymentSolution
- Set this field to001.
REST Example: National Australia Bank Decryption for Visa
National Australia Bank
Decryption for VisaEndpoint:
- Production:POSThttps://nabgateway-api.nab.com.au/pts/v2/payments
- Test:POSThttps://nabgateway-api-test.nab.com.au/pts/v2/payments
Request
{ "clientReferenceInformation": { "code": "1234567890" }, "processingInformation": { "paymentSolution": "001" }, "paymentInformation": { "fluidData": { "value"="eyJkYXRhW5FINWZqVjfkak1NdVNSaE96dWF2ZGVyb2c9PSJ9", "descriptor": "RklEPUNPTU1PTi5BUFBMRS5JTkFQUC5QQVlNRU5U", "encoding": "Base64", }, "tokenizedCard": { "type": "001", "transactionType": "1","requestorId": "987654321plokijuhygtfrdeswa"} }, "orderInformation": { "amountDetails": { "totalAmount": "100.00", "currency": "USD" }, "billTo": { "firstName": "Maya", "lastName": "Lee", "address1": "123 Main St", "locality": "SomeCity", "administrativeArea": "CA", "postalCode": "94404", "country": "US", "email": "[email protected]" } } }
Response for a Successful Request
{ "_links": { "authReversal": { "method": "POST", "href": "/pts/v2/payments/6234236182176225003004/reversals" }, "self": { "method": "GET", "href": "/pts/v2/payments/6234236182176225003004" }, "capture": { "method": "POST", "href": "/pts/v2/payments/6234236182176225003004/captures" } }, "clientReferenceInformation": { "code": "1234567890" }, "id": "6234236182176225003004", "orderInformation": { "amountDetails": { "authorizedAmount": "100.00", "currency": "USD" } }, "paymentInformation": { "tokenizedCard": { "expirationYear": "2031", "prefix": "411111", "expirationMonth": "12", "suffix": "1111", "type": "001" }, "card": { "type": "001" } }, "pointOfSaleInformation": { "terminalId": "111111" }, "processingInformation": { "paymentSolution": "001" }, "processorInformation": { "approvalCode": "888888", "networkTransactionId": "123456789619999", "transactionId": "123456789619999", "responseCode": "100", "avs": { "code": "X", "codeRaw": "I1" } }, "reconciliationId": "75729760OPN67ZFV", "status": "AUTHORIZED", "submitTimeUtc": "2021-06-11T15:00:18Z" }
Authorizations Using Merchant Decryption for JCB
This section shows you how to process an authorization using merchant decryption for JCB.
Required Fields for Authorizing a Payment Using Merchant Decryption for JCB
- clientReferenceInformation.code
- consumerAuthenticationInformation.cavv
- For a transaction that uses 3-D Secure, set this field to the 3-D Secure cryptogram.
- consumerAuthenticationInformation.ecommerceIndicator
- For a transaction that does not use 3-D Secure, set this field to the ECI value contained in the Apple Pay response payload.
- For a transaction that uses 3-D Secure, set this field tojs.
- 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.postalCode
- paymentInformation.tokenizedCard.cryptogram
- Set this field to the network token cryptogram.
- paymentInformation.tokenizedCard.expirationMonth
- Set this field to the value from the payment network token expiration month.
- paymentInformation.tokenizedCard.expirationYear
- Set this field to the value from the payment network token expiration year.
- paymentInformation.tokenizedCard.number
- Set this field to the payment network token value.
- paymentInformation.tokenizedCard.transactionType
- Set this field to1.
- processingInformation.paymentSolution
- Set this field to001.
REST Example: Merchant Decryption and JCB
Endpoint:
- Production:POSThttps://nabgateway-api.nab.com.au/pts/v2/payments
- Test:POSThttps://nabgateway-api-test.nab.com.au/pts/v2/payments
Request
{ "clientReferenceInformation": { "code": "1234567890" }, "processingInformation": { "paymentSolution": "001" }, "paymentInformation": { "tokenizedCard": { "number": "128945xxxxxx2398", "expirationMonth": "12", "expirationYear": "2031", "cryptogram": "AceY+igABPs3jdwNaDg3MAACAAA=", "transactionType": "1" "type": "003" } }, "orderInformation": { "amountDetails": { "totalAmount": "100.00", "currency": "USD" }, "billTo": { "firstName": "Maya", "lastName": "Lee", "address1": "123 Main St", "locality": "SomeCity", "administrativeArea": "CA", "postalCode": "94404", "country": "US", "email": "[email protected]" } }, "consumerAuthenticationInformation": { "cavv": "AceY+igABPs3jdwNaDg3MAACAAA=" } }
Response for a Successful Request
{ "_links": { "authReversal": { "method": "POST", "href": "/pts/v2/payments/6234236182176225003004/reversals" }, "self": { "method": "GET", "href": "/pts/v2/payments/6234236182176225003004" }, "capture": { "method": "POST", "href": "/pts/v2/payments/6234236182176225003004/captures" } }, "clientReferenceInformation": { "code": "1234567890" }, "id": "6234236182176225003004", "orderInformation": { "amountDetails": { "authorizedAmount": "100.00", "currency": "USD" } }, "paymentInformation": { "tokenizedCard": { "expirationYear": "2031", "prefix": "128945", "expirationMonth": "12", "suffix": "2398", "type": "003" }, "card": { "type": "003" } }, "pointOfSaleInformation": { "terminalId": "111111" }, "processingInformation": { "paymentSolution": "001" }, "processorInformation": { "approvalCode": "888888", "networkTransactionId": "123456789619999", "transactionId": "123456789619999", "responseCode": "100", "avs": { "code": "X", "codeRaw": "I1" } }, "reconciliationId": "75729760OPN67ZFV", "status": "AUTHORIZED", "submitTimeUtc": "2021-06-11T15:00:18Z" }
Authorizations Using Merchant Decryption for Mastercard
This section shows you how to process an authorization using merchant decryption for
Mastercard.
Required Fields for Authorizing a Payment Using Merchant Decryption for
Mastercard
- clientReferenceInformation.code
- consumerAuthenticationInformation.ecommerceIndicator
- For a transaction that does not use 3-D Secure, set this field tointernet.
- For a transaction that uses 3-D Secure, set this field tospa.
- consumerAuthenticationInformation.ucafAuthenticationData
- For a transaction that uses 3-D Secure, set this field to the 3-D Secure cryptogram.
- consumerAuthenticationInformation.ucafCollectionIndicator
- Set this field to2.
- 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.postalCode
- paymentInformation.tokenizedCard.cryptogram
- Set this field to the network token cryptogram.
- paymentInformation.tokenizedCard.expirationMonth
- Set this field to the value from the payment network token expiration month.
- paymentInformation.tokenizedCard.expirationYear
- Set this field to the value from the payment network token expiration year.
- paymentInformation.tokenizedCard.number
- Set this field to the payment network token value.
- paymentInformation.tokenizedCard.requestorId
- Set this field to your token requestor id.
- paymentInformation.tokenizedCard.transactionType
- Set this field to1.
- processingInformation.paymentSolution
- Set this field to001.
REST Example: Merchant Decryption and Mastercard
Endpoint:
- Production:POSThttps://nabgateway-api.nab.com.au/pts/v2/payments
- Test:POSThttps://nabgateway-api-test.nab.com.au/pts/v2/payments
Request
{ "clientReferenceInformation": { "code": "1234567890" }, "processingInformation": { "paymentSolution": "001", "commerceIndicator": "spa" }, "paymentInformation": { "tokenizedCard": { "number": "5432543254325432", "expirationMonth": "12", "expirationYear": "2031", "cryptogram": "ABCDEFabcdefABCDEFabcdef0987654321234567",requestorId": "987654321plokijuhygtfrdeswa","transactionType": "1", "type": "002" } }, "orderInformation": { "amountDetails": { "totalAmount": "100.00", "currency": "USD" }, "billTo": { "firstName": "Maya", "lastName": "Lee", "address1": "123 Main St", "locality": "SomeCity", "administrativeArea": "CA", "postalCode": "94404", "country": "US", "email": "[email protected]" } }, "consumerAuthenticationInformation": { "ucafAuthenticationData": "ABCDEFabcdefABCDEFabcdef0987654321234567", "ucafCollectionIndicator": "2" } }
Response for a Successful Request
{ "_links": { "authReversal": { "method": "POST", "href": "/pts/v2/payments/6234236182176225003004/reversals" }, "self": { "method": "GET", "href": "/pts/v2/payments/6234236182176225003004" }, "capture": { "method": "POST", "href": "/pts/v2/payments/6234236182176225003004/captures" } }, "clientReferenceInformation": { "code": "1234567890" }, "id": "6234236182176225003004", "orderInformation": { "amountDetails": { "authorizedAmount": "100.00", "currency": "USD" } }, "paymentInformation": { "tokenizedCard": { "expirationYear": "2031", "prefix": "543254", "expirationMonth": "12", "suffix": "5432", "type": "002" }, "card": { "type": "002" } }, "pointOfSaleInformation": { "terminalId": "111111" }, "processingInformation": { "paymentSolution": "001" }, "processorInformation": { "approvalCode": "888888", "networkTransactionId": "123456789619999", "transactionId": "123456789619999", "responseCode": "100", "avs": { "code": "X", "codeRaw": "I1" } }, "reconciliationId": "75729760OPN67ZFV", "status": "AUTHORIZED", "submitTimeUtc": "2021-06-11T15:00:18Z" }
Authorizations Using Merchant Decryption for Visa
This section shows you how to process an authorization using merchant decryption for Visa.
Required Fields for Authorizing a Payment Using Merchant Decryption for Visa
- clientReferenceInformation.code
- consumerAuthenticationInformation.cavv
- For a transaction that uses 3-D Secure, set this field to the 3-D Secure cryptogram.
- consumerAuthenticationInformation.ecommerceIndicator
- For a transaction that does not use 3-D Secure, set this field to the ECI value contained in the Apple Pay response payload.
- For a transaction that uses 3-D Secure, set this field to5(vbv).
- 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.postalCode
- paymentInformation.tokenizedCard.cryptogram
- Set this field to the network token cryptogram.
- paymentInformation.tokenizedCard.expirationMonth
- Set this field to the value from the payment network token expiration month.
- paymentInformation.tokenizedCard.expirationYear
- Set this field to the value from the payment network token expiration year.
- paymentInformation.tokenizedCard.number
- Set this field to the payment network token value.
- paymentInformation.tokenizedCard.requestorId
- Set this field to your token requestor id.
- paymentInformation.tokenizedCard.transactionType
- Set this field to1.
- processingInformation.paymentSolution
- Set this field to001.
REST Example: Merchant Decryption and Visa
Endpoint:
- Production:POSThttps://nabgateway-api.nab.com.au/pts/v2/payments
- Test:POSThttps://nabgateway-api-test.nab.com.au/pts/v2/payments
Request
{ "clientReferenceInformation": { "code": "1234567890" }, "processingInformation": { "paymentSolution": "001", "commerceIndicator": "internet" }, "paymentInformation": { "tokenizedCard": { "number": "4111111111111111", "expirationMonth": "12", "expirationYear": "2031", "cryptogram": "AceY+igABPs3jdwNaDg3MAACAAA=", "transactionType": "1" "type": "001", "requestorId": "987654321plokijuhygtfrdeswa"} }, "orderInformation": { "amountDetails": { "totalAmount": "100.00", "currency": "USD" }, "billTo": { "firstName": "Maya", "lastName": "Lee", "address1": "123 Main St", "locality": "SomeCity", "administrativeArea": "CA", "postalCode": "94404", "country": "US", "email": "[email protected]" } }, "consumerAuthenticationInformation": { "cavv": "AceY+igABPs3jdwNaDg3MAACAAA=" } }
Response for a Successful Request
{ "_links": { "authReversal": { "method": "POST", "href": "/pts/v2/payments/6234236182176225003004/reversals" }, "self": { "method": "GET", "href": "/pts/v2/payments/6234236182176225003004" }, "capture": { "method": "POST", "href": "/pts/v2/payments/6234236182176225003004/captures" } }, "clientReferenceInformation": { "code": "1234567890" }, "id": "6234236182176225003004", "orderInformation": { "amountDetails": { "authorizedAmount": "100.00", "currency": "USD" } }, "paymentInformation": { "tokenizedCard": { "expirationYear": "2031", "prefix": "411111", "expirationMonth": "12",requestorId": "987654321plokijuhygtfrdeswa","suffix": "1111", "type": "001" }, "card": { "type": "001" } }, "pointOfSaleInformation": { "terminalId": "111111" }, "processingInformation": { "paymentSolution": "001" }, "processorInformation": { "approvalCode": "888888", "networkTransactionId": "123456789619999", "transactionId": "123456789619999", "responseCode": "100", "avs": { "code": "X", "codeRaw": "I1" } }, "reconciliationId": "75729760OPN67ZFV", "status": "AUTHORIZED", "submitTimeUtc": "2021-06-11T15:00:18Z" }
Follow-on Services
This section provides information about and procedures for requesting these follow-on
services:
- Authorization Reversal:A follow-on service that uses the request ID returned from the previous authorization. An authorization reversal releases the hold that the authorization placed on the customer’s credit card funds. Use this service to reverse an unnecessary or undesired authorization.
- Capture:A follow-on service that uses the request ID returned from the previous authorization. The request ID links the capture to the authorization. This service transfers funds from the customer’s account to your bank and usually takes two to four days to complete.
- Sale:A sale is a bundled authorization and capture. Request the authorization and capture services at the same time.National Australia Bankprocesses the capture immediately.
Authorization Reversal
This section describes how 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://nabgateway-api.nab.com.au
/pts/v2/payments/{id}/reversalsTest:
POST
https://nabgateway-api-test.nab.com.au
/pts/v2/payments/{id}/reversalsThe
{id}
is the transaction ID returned in the authorization response.Required Fields for Processing an Authorization Reversal
- id
- Set theidURL parameter to the transaction ID that was included in the authorization response message.
- clientReferenceInformation.code
- clientReferenceInformation.partner.thirdPartyCertificationNumber
- National Australia Bankprovides the value for this field.
- orderInformation.amountDetails.currency
- reversalInformation.amountDetails.totalAmount
- The amount of the reversal must be the same as the authorization amount that was included in the authorization response message. Do not use the amount that was requested in the authorization request message.
REST Example: Processing an Authorization Reversal
Endpoint
Production:
POST
https://nabgateway-api.nab.com.au
/pts/v2/payments/{id}/reversalsTest:
POST
https://nabgateway-api-test.nab.com.au
/pts/v2/payments/{id}/reversalsFor this example, the
{id}
portion of the URL is set to the transaction ID included in the authorization you want to void:
6869458685866438003955
Request
{ "clientReferenceInformation": { "code": "test123", "partner": { "thirdPartyCertificationNumber": "testTPCN" } } "orderInformation" : { "amountDetails" : { "currency" : "USD" } }, "reversalInformation" : { "amountDetails" : { "totalAmount" : "100.00" } } }
Response to a Successful Request
{ "_links" : { "self" : { "method" : "GET", "href" : "/pts/v2/reversals/6869460219566537303955" } }, "clientReferenceInformation" : { "code" : "RTS-Auth-Reversal" }, "id" : "6869460219566537303955", "orderInformation" : { "amountDetails" : { "currency" : "USD" } }, "processorInformation" : { "responseCode" : "200" }, "reconciliationId" : "82kBK3qDNtls", "reversalAmountDetails" : { "reversedAmount" : "100.00", "currency" : "USD" }, "status" : "REVERSED", "submitTimeUtc" : "2023-06-16T20:07:02Z" }
Capture
This section describes how to capture an authorized transaction.
Endpoint
Production:
POST
https://nabgateway-api.nab.com.au
/pts/v2/payments/{id}
/capturesTest:
POST
https://nabgateway-api-test.nab.com.au
/pts/v2/payments/{id}
/capturesThe
{id}
is the transaction ID returned in the authorization response.Required Fields for Capturing an Authorization
- clientReferenceInformation.code
- Field value maps from the original authorization, sale, or credit transaction.
- clientReferenceInformation.partner.thirdPartyCertificationNumber
- National Australia Bankprovides the value for this field.
- orderInformation.amountDetails.currency
- orderInformation.amountDetails.totalAmount
REST Example: Capturing an Authorization
Endpoint:
- Production:POSThttps://nabgateway-api.nab.com.au/pts/v2/payments/{id}/captures
- Test:POSThttps://nabgateway-api-test.nab.com.au/pts/v2/payments/{id}/captures
Request
{ "clientReferenceInformation": { "code": "ABC123", "partner": { "thirdPartyCertificationNumber": "123456789012" } }, "orderInformation": { "amountDetails": { "totalAmount": "100.00", "currency": "EUR" } }
Response to a Successful Request
{ "_links": { "void": { "method": "POST", "href": "/pts/v2/captures/6662994431376681303954/voids" }, "self": { "method": "GET", "href": "/pts/v2/captures/6662994431376681303954" } }, "clientReferenceInformation": { "code": "1666299443215" }, "id": "6662994431376681303954", "orderInformation": { "amountDetails": { "totalAmount": "100.00", "currency": "EUR" } }, "reconciliationId": "66535942B9CGT52U", "status": "PENDING", "submitTimeUtc": "2022-10-20T20:57:23Z" }
Sales
This section shows you how to process a sale transaction.
A sale transaction combines an authorization and a capture into a single transaction.
Endpoint
Production:
POST
https://nabgateway-api.nab.com.au
/pts/v2/paymentsTest:
POST
https://nabgateway-api-test.nab.com.au
/pts/v2/paymentsRequired Fields for Processing a Sale
Use these required fields for processing a sale.
- 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.postalCode
- paymentInformation.card.expirationMonth
- paymentInformation.card.expirationYear
- paymentInformation.card.number
- paymentInformation.card.securityCode
- Required only forVDC National Australia Bank Ltd.
- paymentInformation.card.type
- processingInformation.capture
- Set totrue.
REST Example: Processing a Sale
Endpoint:
- Production:POSThttps://nabgateway-api.nab.com.au/pts/v2/payments
- Test:POSThttps://nabgateway-api-test.nab.com.au/pts/v2/payments
Request
{ "processingInformation": { "capture": true }, "orderInformation" : { "billTo" : { "country" : "US", "lastName" : "VDP", "address1" : "201 S. Division St.", "postalCode" : "48104-2201", "locality" : "Ann Arbor", "administrativeArea" : "MI", "firstName" : "RTS", "email" : "" }, "amountDetails" : { "totalAmount" : "100.00", "currency" : "usd" } }, "paymentInformation" : { "card" : { "expirationYear" : "2031", "number" : "4111111111111111", "expirationMonth" : "12", "type" : "001","securityCode": "999" <!-- Required only for} } }VDC National Australia Bank Ltd. -->
Response to a Successful Request
{ "_links" : { "void" : { "method" : "POST", "href" : "/pts/v2/payments/6485004068966546103093/voids" }, "self" : { "method" : "GET", "href" : "/pts/v2/payments/6485004068966546103093" } }, "clientReferenceInformation" : { "code" : "RTS-Auth" }, "id" : "6485004068966546103093", "orderInformation" : { "amountDetails" : { "totalAmount" : "100.00", "authorizedAmount" : "100.00", "currency" : "usd" } }, "paymentAccountInformation" : { "card" : { "type" : "001" } }, "paymentInformation" : { "tokenizedCard" : { "type" : "001" }, "card" : { "type" : "001" } }, "processorInformation" : { "systemTraceAuditNumber" : "841109", "approvalCode" : "831000", "merchantAdvice" : { "code" : "01", "codeRaw" : "M001" }, "responseDetails" : "ABC", "networkTransactionId" : "016153570198200", "retrievalReferenceNumber" : "208720841109", "consumerAuthenticationResponse" : { "code" : "2", "codeRaw" : "2" }, "transactionId" : "016153570198200", "responseCode" : "00", "avs" : { "code" : "Y", "codeRaw" : "Y" } }, "reconciliationId" : "6485004068966546103093", "status" : "AUTHORIZED", "submitTimeUtc" : "2022-03-28T20:46:47Z" }
Authorizations Using National Australia Bank Decryption for JCB
National Australia Bank
Decryption for JCBThis section provides the information you need in order to process an authorization using
National Australia Bank
decryption for JCB.Required Fields for Authorizing a Payment Using National Australia Bank Decryption for JCB
National Australia Bank
Decryption for JCB- clientReferenceInformation.code
- 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.postalCode
- paymentInformation.card.type
- paymentInformation.fluidData.descriptor
- Set this field toRklEPUNPTU1PTi5BUFBMRS5JTkFQUC5QQVlNRU5U.
- paymentInformaton.fluidData.value
- Set this field to the Base64-encoded value obtained from thepaymentDataproperty of thePKPaymentTokenobject.
- paymentInformation.tokenizedCard.transactionType
- Set this field to1.
- paymentInformation.tokenizedCard.requestorId
- Set this field to your token requestor id.
- Required forVDC National Australia Bank Ltd.
- processingInformation.paymentSolution
- Set this field to001.
Optional Fields for Authorizing a Payment for Apple Pay Transactions
You can include these optional fields in a request for an authorization:
- paymentInformation.tokenizedCard.assuranceMethod
- Set this field to the tokenization confidence level specified by the method used to verify the account or authenticate the cardholder. The value is assigned by the token service provider.
REST Example: National Australia Bank Decryption and JCB
National Australia Bank
Decryption and JCBEndpoint:
- Production:POSThttps://nabgateway-api.nab.com.au/pts/v2/payments
- Test:POSThttps://nabgateway-api-test.nab.com.au/pts/v2/payments
Request
{ "clientReferenceInformation": { "code": "1234567890" }, "processingInformation": { "paymentSolution": "001" }, "paymentInformation": { "fluidData": { "value"="eyJkYXRhW5FINWZqVjfkak1NdVNSaE96dWF2ZGVyb2c9PSJ9", "descriptor": "RklEPUNPTU1PTi5BUFBMRS5JTkFQUC5QQVlNRU5U", "encoding": "Base64", }, "tokenizedCard": { "type": "007", "transactionType": "1", } }, "orderInformation": { "amountDetails": { "totalAmount": "100.00", "currency": "USD" }, "billTo": { "firstName": "Maya", "lastName": "Lee", "address1": "123 Main St", "locality": "SomeCity", "administrativeArea": "CA", "postalCode": "94404", "country": "US", "email": "[email protected]" } } }
Response to a Successful Request
{ "_links": { "authReversal": { "method": "POST", "href": "/pts/v2/payments/6234236182176225003004/reversals" }, "self": { "method": "GET", "href": "/pts/v2/payments/6234236182176225003004" }, "capture": { "method": "POST", "href": "/pts/v2/payments/6234236182176225003004/captures" } }, "clientReferenceInformation": { "code": "1234567890" }, "id": "6234236182176225003004", "orderInformation": { "amountDetails": { "authorizedAmount": "100.00", "currency": "USD" } }, "paymentInformation": { "tokenizedCard": { "expirationYear": "2031", "prefix": "128945", "expirationMonth": "12", "suffix": "2398", "type": "007" }, "card": { "type": "007" } }, "pointOfSaleInformation": { "terminalId": "111111" }, "processingInformation": { "paymentSolution": "001" }, "processorInformation": { "approvalCode": "888888", "networkTransactionId": "123456789619999", "transactionId": "123456789619999", "responseCode": "100", "avs": { "code": "X", "codeRaw": "I1" } }, "reconciliationId": "75729760OPN67ZFV", "status": "AUTHORIZED", "submitTimeUtc": "2021-06-11T15:00:18Z" }
Authorizations Using National Australia Bank Decryption for mada
National Australia Bank
Decryption for madaThis section provides the information you need in order to process an authorization using
National Australia Bank
decryption for mada debit cards and mada prepaid cards issued in the Kingdom of Saudi Arabia.
Apple Pay transactions on these cards are supported on the mada Pay mobile app and for VDC National Australia Bank Ltd
only.Required Fields for Authorizing a Payment Using National Australia Bank Decryption for mada
National Australia Bank
Decryption for mada- clientReferenceInformation.code
- 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.postalCode
- paymentInformation.card.cardType
- Set this field to060.
- paymentInformation.card.type
- paymentInformation.fluidData.descriptor
- Set this field toRklEPUNPTU1PTi5BUFBMRS5JTkFQUC5QQVlNRU5U.
- paymentInformaton.fluidData.value
- Set this field to the Base64-encoded value obtained from thepaymentDataproperty of thePKPaymentTokenobject.
- paymentInformation.tokenizedCard.transactionType
- Set this field to1.
- processingInformation.paymentSolution
- Set this field to001.
REST Example: National Australia Bank Decryption for mada
National Australia Bank
Decryption for madaEndpoint:
- Production:POSThttps://nabgateway-api.nab.com.au/pts/v2/payments
- Test:POSThttps://nabgateway-api-test.nab.com.au/pts/v2/payments
Request
{ "clientReferenceInformation": { "code": "1234567890" }, "processingInformation": { "paymentSolution": "001" }, "paymentInformation": { "card": { "cardType": "060" }, "fluidData": { "value"="eyJkYXRhW5FINWZqVjfkak1NdVNSaE96dWF2ZGVyb2c9PSJ9", "descriptor": "RklEPUNPTU1PTi5BUFBMRS5JTkFQUC5QQVlNRU5U", "encoding": "Base64", }, "tokenizedCard": { "type": "002", "transactionType": "1", "requestorId": "987654321plokijuhygtfrdeswa" } }, "orderInformation": { "amountDetails": { "totalAmount": "100.00", "currency": "USD" }, "billTo": { "firstName": "Maya", "lastName": "Lee", "address1": "123 Main St", "locality": "SomeCity", "administrativeArea": "CA", "postalCode": "94404", "country": "US", "email": "[email protected]" } } }
Response to a Successful Request
{ "_links": { "authReversal": { "method": "POST", "href": "/pts/v2/payments/6234236182176225003004/reversals" }, "self": { "method": "GET", "href": "/pts/v2/payments/6234236182176225003004" }, "capture": { "method": "POST", "href": "/pts/v2/payments/6234236182176225003004/captures" } }, "clientReferenceInformation": { "code": "1234567890" }, "id": "6234236182176225003004", "orderInformation": { "amountDetails": { "authorizedAmount": "100.00", "currency": "USD" } }, "paymentInformation": { "tokenizedCard": { "expirationYear": "2031", "prefix": "411111", "expirationMonth": "12", "suffix": "1111", "type": "001" }, "card": { "type": "001" } }, "pointOfSaleInformation": { "terminalId": "111111" }, "processingInformation": { "paymentSolution": "001" }, "processorInformation": { "approvalCode": "888888", "networkTransactionId": "123456789619999", "transactionId": "123456789619999", "responseCode": "100", "avs": { "code": "X", "codeRaw": "I1" } }, "reconciliationId": "75729760OPN67ZFV", "status": "AUTHORIZED", "submitTimeUtc": "2021-06-11T15:00:18Z" }
Authorizations Using National Australia Bank Decryption for Mastercard
National Australia Bank
Decryption for MastercardThis section provides the information you need in order to process an authorization using
National Australia Bank
decryption for Mastercard.Required Fields for Authorizing a Payment Using National Australia Bank Decryption for Mastercard
National Australia Bank
Decryption for Mastercard- clientReferenceInformation.code
- 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.postalCode
- paymentInformation.card.type
- paymentInformation.fluidData.descriptor
- Set this field toRklEPUNPTU1PTi5BUFBMRS5JTkFQUC5QQVlNRU5U.
- paymentInformaton.fluidData.value
- Set this field to the Base64-encoded value obtained from thepaymentDataproperty of thePKPaymentTokenobject.
- paymentInformation.tokenizedCard.transactionType
- Set this field to1.
- paymentInformation.tokenizedCard.requestorId
- Set this field to your token requestor id.
- Required forVDC National Australia Bank Ltd.
- processingInformation.paymentSolution
- Set this field to001.
Example: National Australia Bank Decryption and
Mastercard
National Australia Bank
Decryption and
MastercardEndpoint:
- Production:POSThttps://nabgateway-api.nab.com.au/pts/v2/payments
- Test:POSThttps://nabgateway-api-test.nab.com.au/pts/v2/payments
Request
{ "clientReferenceInformation": { "code": "1234567890" }, "processingInformation": { "paymentSolution": "001" }, "paymentInformation": { "fluidData": { "value"="eyJkYXRhW5FINWZqVjfkak1NdVNSaE96dWF2ZGVyb2c9PSJ9", "descriptor": "RklEPUNPTU1PTi5BUFBMRS5JTkFQUC5QQVlNRU5U", "encoding": "Base64", }, "tokenizedCard": { "type": "002", "transactionType": "1" } }, "orderInformation": { "amountDetails": { "totalAmount": "100.00", "currency": "USD" }, "billTo": { "firstName": "Maya", "lastName": "Lee", "address1": "123 Main St", "locality": "SomeCity", "administrativeArea": "CA", "postalCode": "94404", "country": "US", "email": "[email protected]" } } }
Response to a Successful Request
{ "_links": { "authReversal": { "method": "POST", "href": "/pts/v2/payments/6234236182176225003004/reversals" }, "self": { "method": "GET", "href": "/pts/v2/payments/6234236182176225003004" }, "capture": { "method": "POST", "href": "/pts/v2/payments/6234236182176225003004/captures" } }, "clientReferenceInformation": { "code": "1234567890" }, "id": "6234236182176225003004", "orderInformation": { "amountDetails": { "authorizedAmount": "100.00", "currency": "USD" } }, "paymentInformation": { "tokenizedCard": { "expirationYear": "2031", "prefix": "128945", "expirationMonth": "12", "suffix": "2398", "type": "002" }, "card": { "type": "002" } }, "pointOfSaleInformation": { "terminalId": "111111" }, "processingInformation": { "paymentSolution": "001" }, "processorInformation": { "approvalCode": "888888", "networkTransactionId": "123456789619999", "transactionId": "123456789619999", "responseCode": "100", "avs": { "code": "X", "codeRaw": "I1" } }, "reconciliationId": "75729760OPN67ZFV", "status": "AUTHORIZED", "submitTimeUtc": "2021-06-11T15:00:18Z" }
Authorizations Using National Australia Bank Decryption for Visa
National Australia Bank
Decryption for VisaThis section provides the information you need in order to process an authorization using
National Australia Bank
decryption for Visa.Required Fields for Authorizing a Payment Using National Australia Bank Decryption for Visa
National Australia Bank
Decryption for Visa- clientReferenceInformation.code
- 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.postalCode
- paymentInformation.card.type
- paymentInformation.fluidData.descriptor
- Set this field toRklEPUNPTU1PTi5BUFBMRS5JTkFQUC5QQVlNRU5U.
- paymentInformaton.fluidData.value
- Set this field to the Base64-encoded value obtained from thepaymentDataproperty of thePKPaymentTokenobject.
- paymentInformation.tokenizedCard.transactionType
- Set this field to1.
- paymentInformation.tokenizedCard.requestorId
- Set this field to your token requestor id.
- Required forVDC National Australia Bank Ltd.
- processingInformation.paymentSolution
- Set this field to001.
REST Example: National Australia Bank Decryption for Visa
National Australia Bank
Decryption for VisaEndpoint:
- Production:POSThttps://nabgateway-api.nab.com.au/pts/v2/payments
- Test:POSThttps://nabgateway-api-test.nab.com.au/pts/v2/payments
Request
{ "clientReferenceInformation": { "code": "1234567890" }, "processingInformation": { "paymentSolution": "001" }, "paymentInformation": { "fluidData": { "value"="eyJkYXRhW5FINWZqVjfkak1NdVNSaE96dWF2ZGVyb2c9PSJ9", "descriptor": "RklEPUNPTU1PTi5BUFBMRS5JTkFQUC5QQVlNRU5U", "encoding": "Base64", }, "tokenizedCard": { "type": "001", "transactionType": "1", "requestorId": "987654321plokijuhygtfrdeswa"} }, "orderInformation": { "amountDetails": { "totalAmount": "100.00", "currency": "USD" }, "billTo": { "firstName": "Maya", "lastName": "Lee", "address1": "123 Main St", "locality": "SomeCity", "administrativeArea": "CA", "postalCode": "94404", "country": "US", "email": "[email protected]" } } }
Response to a Successful Request
{ "_links": { "authReversal": { "method": "POST", "href": "/pts/v2/payments/6234236182176225003004/reversals" }, "self": { "method": "GET", "href": "/pts/v2/payments/6234236182176225003004" }, "capture": { "method": "POST", "href": "/pts/v2/payments/6234236182176225003004/captures" } }, "clientReferenceInformation": { "code": "1234567890" }, "id": "6234236182176225003004", "orderInformation": { "amountDetails": { "authorizedAmount": "100.00", "currency": "USD" } }, "paymentInformation": { "tokenizedCard": { "expirationYear": "2031", "prefix": "411111", "expirationMonth": "12", "suffix": "1111", "type": "001" }, "card": { "type": "001" } }, "pointOfSaleInformation": { "terminalId": "111111" }, "processingInformation": { "paymentSolution": "001" }, "processorInformation": { "approvalCode": "888888", "networkTransactionId": "123456789619999", "transactionId": "123456789619999", "responseCode": "100", "avs": { "code": "X", "codeRaw": "I1" } }, "reconciliationId": "75729760OPN67ZFV", "status": "AUTHORIZED", "submitTimeUtc": "2021-06-11T15:00:18Z" }
Authorizations Using Merchant Decryption for JCB
This section provides the information you need in order to process an authorization using
merchant decryption for JCB.
Required Fields for Authorizing a Payment Using Merchant Decryption for JCB
- clientReferenceInformation.code
- consumerAuthenticationInformation.cavv
- Set this field to the network token cryptogram.
- consumerAuthenticationInformation.ecommerceIndicator
- Set this field to the ECI value contained in the Apple Pay response payload.
- 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.postalCode
- paymentInformation.tokenizedCard.cryptogram
- Set this field to the network token cryptogram.
- paymentInformation.tokenizedCard.expirationMonth
- Set this field to the value from the payment network token expiration month.
- paymentInformation.tokenizedCard.expirationYear
- Set this field to the value from the payment network token expiration year.
- paymentInformation.tokenizedCard.number
- Set this field to the payment network token value.
- paymentInformation.tokenizedCard.transactionType
- Set this field to1.
- processingInformation.paymentSolution
- Set this field to001.
REST Example: Merchant Decryption and JCB
Endpoint:
- Production:POSThttps://nabgateway-api.nab.com.au/pts/v2/payments
- Test:POSThttps://nabgateway-api-test.nab.com.au/pts/v2/payments
Request
{ "clientReferenceInformation": { "code": "1234567890" }, "processingInformation": { "paymentSolution": "001" }, "paymentInformation": { "tokenizedCard": { "number": "128945xxxxxx2398", "expirationMonth": "12", "expirationYear": "2031", "cryptogram": "AceY+igABPs3jdwNaDg3MAACAAA=", "transactionType": "1" "type": "003" } }, "orderInformation": { "amountDetails": { "totalAmount": "100.00", "currency": "USD" }, "billTo": { "firstName": "Maya", "lastName": "Lee", "address1": "123 Main St", "locality": "SomeCity", "administrativeArea": "CA", "postalCode": "94404", "country": "US", "email": "[email protected]" } }, "consumerAuthenticationInformation": { "cavv": "AceY+igABPs3jdwNaDg3MAACAAA=" } }
Response to a Successful Request
{ "_links": { "authReversal": { "method": "POST", "href": "/pts/v2/payments/6234236182176225003004/reversals" }, "self": { "method": "GET", "href": "/pts/v2/payments/6234236182176225003004" }, "capture": { "method": "POST", "href": "/pts/v2/payments/6234236182176225003004/captures" } }, "clientReferenceInformation": { "code": "1234567890" }, "id": "6234236182176225003004", "orderInformation": { "amountDetails": { "authorizedAmount": "100.00", "currency": "USD" } }, "paymentInformation": { "tokenizedCard": { "expirationYear": "2031", "prefix": "128945", "expirationMonth": "12", "suffix": "2398", "type": "003" }, "card": { "type": "003" } }, "pointOfSaleInformation": { "terminalId": "111111" }, "processingInformation": { "paymentSolution": "001" }, "processorInformation": { "approvalCode": "888888", "networkTransactionId": "123456789619999", "transactionId": "123456789619999", "responseCode": "100", "avs": { "code": "X", "codeRaw": "I1" } }, "reconciliationId": "75729760OPN67ZFV", "status": "AUTHORIZED", "submitTimeUtc": "2021-06-11T15:00:18Z" }
Authorizations Using Merchant Decryption for mada
This section provides the information you need in order to process an authorization using
merchant decryption for mada debit cards and mada prepaid cards issued in the Kingdom of Saudi Arabia.
Apple Pay transactions on these cards are supported on the mada Pay mobile app and for
VDC National Australia Bank Ltd
only.Required Fields for Authorizing a Payment Using Merchant Decryption for mada
- clientReferenceInformation.code
- consumerAuthenticationInformation.cavv
- Set this field to the network token cryptogram.
- consumerAuthenticationInformation.ecommerceIndicator
- This value should reflect the ECI value returned in the Apple Pay response payload.
- 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.postalCode
- paymentInformation.card.cardType
- Set this field to060.
- paymentInformation.tokenizedCard.cryptogram
- Set this field to the network token cryptogram.
- paymentInformation.tokenizedCard.expirationMonth
- Set this field to the value from the payment network token expiration month.
- paymentInformation.tokenizedCard.expirationYear
- Set this field to the value from the payment network token expiration year.
- paymentInformation.tokenizedCard.number
- Set this field to the payment network token value.
- paymentInformation.tokenizedCard.requestorId
- Set this field to your token requestor id.
- Required forVDC National Australia Bank Ltd.
- paymentInformation.tokenizedCard.transactionType
- Set this field to1.
- processingInformation.paymentSolution
- Set this field to001.
REST Example: Merchant Decryption and mada
Endpoint:
- Production:POSThttps://nabgateway-api.nab.com.au/pts/v2/payments
- Test:POSThttps://nabgateway-api-test.nab.com.au/pts/v2/payments
Request
{ "clientReferenceInformation": { "code": "1234567890" }, "processingInformation": { "paymentSolution": "001", "commerceIndicator": "internet" }, "paymentInformation": { "card": { "cardType": "060" }, "tokenizedCard": { "number": "4111111111111111", "expirationMonth": "12", "expirationYear": "2031", "cryptogram": "AceY+igABPs3jdwNaDg3MAACAAA=", "transactionType": "1" "type": "060", "requestorId": "987654321plokijuhygtfrdeswa" } }, "orderInformation": { "amountDetails": { "totalAmount": "100.00", "currency": "USD" }, "billTo": { "firstName": "Maya", "lastName": "Lee", "address1": "123 Main St", "locality": "SomeCity", "administrativeArea": "CA", "postalCode": "94404", "country": "US", "email": "[email protected]" } }, "consumerAuthenticationInformation": { "cavv": "AceY+igABPs3jdwNaDg3MAACAAA=" } }
Response to a Successful Request
{ "_links": { "authReversal": { "method": "POST", "href": "/pts/v2/payments/6234236182176225003004/reversals" }, "self": { "method": "GET", "href": "/pts/v2/payments/6234236182176225003004" }, "capture": { "method": "POST", "href": "/pts/v2/payments/6234236182176225003004/captures" } }, "clientReferenceInformation": { "code": "1234567890" }, "id": "6234236182176225003004", "orderInformation": { "amountDetails": { "authorizedAmount": "100.00", "currency": "USD" } }, "paymentInformation": { "tokenizedCard": { "expirationYear": "2031", "prefix": "411111", "expirationMonth": "12", "requestorId": "987654321plokijuhygtfrdeswa", "suffix": "1111", "type": "001" }, "card": { "type": "001" } }, "pointOfSaleInformation": { "terminalId": "111111" }, "processingInformation": { "paymentSolution": "001" }, "processorInformation": { "approvalCode": "888888", "networkTransactionId": "123456789619999", "transactionId": "123456789619999", "responseCode": "100", "avs": { "code": "X", "codeRaw": "I1" } }, "reconciliationId": "75729760OPN67ZFV", "status": "AUTHORIZED", "submitTimeUtc": "2021-06-11T15:00:18Z" }
Authorizations Using Merchant Decryption for Mastercard
This section provides the information you need in order to process an authorization using
merchant decryption for Mastercard.
Required Fields for Authorizing a Payment Using Merchant Decryption for
Mastercard
- clientReferenceInformation.code
- consumerAuthenticationInformation.ecommerceIndicator
- Set this field tointernet.
- consumerAuthenticationInformation.ucafAuthenticationData
- Set this field to the network token cryptogram.
- consumerAuthenticationInformation.ucafCollectionIndicator
- Set this field to2.
- 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.postalCode
- paymentInformation.tokenizedCard.cryptogram
- Set this field to the network token cryptogram.
- paymentInformation.tokenizedCard.expirationMonth
- Set this field to the value from the payment network token expiration month.
- paymentInformation.tokenizedCard.expirationYear
- Set this field to the value from the payment network token expiration year.
- paymentInformation.tokenizedCard.number
- Set this field to the payment network token value.
- paymentInformation.tokenizedCard.requestorId
- Set this field to your token requestor id.
- Required forVDC National Australia Bank Ltd.
- paymentInformation.tokenizedCard.transactionType
- Set this field to1.
- processingInformation.paymentSolution
- Set this field to001.
REST Example: Merchant Decryption and Mastercard
Endpoint:
- Production:POSThttps://nabgateway-api.nab.com.au/pts/v2/payments
- Test:POSThttps://nabgateway-api-test.nab.com.au/pts/v2/payments
Request
{ "clientReferenceInformation": { "code": "1234567890" }, "processingInformation": { "paymentSolution": "001", "commerceIndicator": "spa" }, "paymentInformation": { "tokenizedCard": { "number": "5432543254325432", "expirationMonth": "12", "expirationYear": "2031", "cryptogram": "ABCDEFabcdefABCDEFabcdef0987654321234567","requestorId": "987654321plokijuhygtfrdeswa","transactionType": "1", "type": "002" } }, "orderInformation": { "amountDetails": { "totalAmount": "100.00", "currency": "USD" }, "billTo": { "firstName": "Maya", "lastName": "Lee", "address1": "123 Main St", "locality": "SomeCity", "administrativeArea": "CA", "postalCode": "94404", "country": "US", "email": "[email protected]" } }, "consumerAuthenticationInformation": { "ucafAuthenticationData": "ABCDEFabcdefABCDEFabcdef0987654321234567", "ucafCollectionIndicator": "2" } }
Response to a Successful Request
{ "_links": { "authReversal": { "method": "POST", "href": "/pts/v2/payments/6234236182176225003004/reversals" }, "self": { "method": "GET", "href": "/pts/v2/payments/6234236182176225003004" }, "capture": { "method": "POST", "href": "/pts/v2/payments/6234236182176225003004/captures" } }, "clientReferenceInformation": { "code": "1234567890" }, "id": "6234236182176225003004", "orderInformation": { "amountDetails": { "authorizedAmount": "100.00", "currency": "USD" } }, "paymentInformation": { "tokenizedCard": { "expirationYear": "2031", "prefix": "543254", "expirationMonth": "12", "suffix": "5432", "type": "002" }, "card": { "type": "002" } }, "pointOfSaleInformation": { "terminalId": "111111" }, "processingInformation": { "paymentSolution": "001" }, "processorInformation": { "approvalCode": "888888", "networkTransactionId": "123456789619999", "transactionId": "123456789619999", "responseCode": "100", "avs": { "code": "X", "codeRaw": "I1" } }, "reconciliationId": "75729760OPN67ZFV", "status": "AUTHORIZED", "submitTimeUtc": "2021-06-11T15:00:18Z" }
Authorizations Using Merchant Decryption for Visa
This section provides the information you need in order to process an authorization using
merchant decryption for Visa.
Required Fields for Authorizing a Payment Using Merchant Decryption for Visa
- clientReferenceInformation.code
- consumerAuthenticationInformation.cavv
- Set this field to the network token cryptogram.
- consumerAuthenticationInformation.ecommerceIndicator
- Set this field to the ECI value contained in the Apple Pay response payload.
- 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.postalCode
- paymentInformation.tokenizedCard.cryptogram
- Set this field to the network token cryptogram.
- paymentInformation.tokenizedCard.requestorID
- Required only forVDC National Australia Bank Ltd.
- paymentInformation.tokenizedCard.expirationMonth
- Set this field to the value from the payment network token expiration month.
- paymentInformation.tokenizedCard.expirationYear
- Set this field to the value from the payment network token expiration year.
- paymentInformation.tokenizedCard.number
- Set this field to the payment network token value.
- paymentInformation.tokenizedCard.requestorId
- Set this field to your token requestor id.
- Required forVDC National Australia Bank Ltd.
- paymentInformation.tokenizedCard.transactionType
- Set this field to1.
- processingInformation.paymentSolution
- Set this field to001.
REST Example: Merchant Decryption and Visa
Endpoint:
- Production:POSThttps://nabgateway-api.nab.com.au/pts/v2/payments
- Test:POSThttps://nabgateway-api-test.nab.com.au/pts/v2/payments
Request
{ "clientReferenceInformation": { "code": "1234567890" }, "processingInformation": { "paymentSolution": "001", "commerceIndicator": "internet" }, "paymentInformation": { "tokenizedCard": { "number": "4111111111111111", "expirationMonth": "12", "expirationYear": "2031", "cryptogram": "AceY+igABPs3jdwNaDg3MAACAAA=", "transactionType": "1" "type": "001", "requestorId": "987654321plokijuhygtfrdeswa"} }, "orderInformation": { "amountDetails": { "totalAmount": "100.00", "currency": "USD" }, "billTo": { "firstName": "Maya", "lastName": "Lee", "address1": "123 Main St", "locality": "SomeCity", "administrativeArea": "CA", "postalCode": "94404", "country": "US", "email": "[email protected]" } }, "consumerAuthenticationInformation": { "cavv": "AceY+igABPs3jdwNaDg3MAACAAA=" } }
Response to a Successful Request
{ "_links": { "authReversal": { "method": "POST", "href": "/pts/v2/payments/6234236182176225003004/reversals" }, "self": { "method": "GET", "href": "/pts/v2/payments/6234236182176225003004" }, "capture": { "method": "POST", "href": "/pts/v2/payments/6234236182176225003004/captures" } }, "clientReferenceInformation": { "code": "1234567890" }, "id": "6234236182176225003004", "orderInformation": { "amountDetails": { "authorizedAmount": "100.00", "currency": "USD" } }, "paymentInformation": { "tokenizedCard": { "expirationYear": "2031", "prefix": "411111", "expirationMonth": "12",requestorId": "987654321plokijuhygtfrdeswa","suffix": "1111", "type": "001" }, "card": { "type": "001" } }, "pointOfSaleInformation": { "terminalId": "111111" }, "processingInformation": { "paymentSolution": "001" }, "processorInformation": { "approvalCode": "888888", "networkTransactionId": "123456789619999", "transactionId": "123456789619999", "responseCode": "100", "avs": { "code": "X", "codeRaw": "I1" } }, "reconciliationId": "75729760OPN67ZFV", "status": "AUTHORIZED", "submitTimeUtc": "2021-06-11T15:00:18Z" }
Authorization Reversals
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://nabgateway-api.nab.com.au
/pts/v2/payments/{id}/reversalsTest:
POST
https://nabgateway-api-test.nab.com.au
/pts/v2/payments/{id}/reversalsThe
{id}
is the transaction ID returned in the authorization response.Required Fields for Processing an Authorization Reversal
- clientReferenceInformation.code
- clientReferenceInformation.partner.thirdPartyCertificationNumber
- National Australia Bankprovides the value for this field.
- id
- Set theidURL parameter to the transaction ID that was included in the authorization response message.
- orderInformation.amountDetails.currency
- reversalInformation.amountDetails.totalAmount
- The amount of the reversal must be the same as the authorization amount that was included in the authorization response message. Do not use the amount that was requested in the authorization request message.
REST Example: Processing an Authorization Reversal
Endpoint
Production:
POST
https://nabgateway-api.nab.com.au
/pts/v2/payments/{id}/reversalsTest:
POST
https://nabgateway-api-test.nab.com.au
/pts/v2/payments/{id}/reversalsFor this example, the
{id}
portion of the URL is set to the transaction ID included in the authorization you want to void:
6869458685866438003955
Request
{ "clientReferenceInformation": { "code": "test123", "partner": { "thirdPartyCertificationNumber": "testTPCN" } } "orderInformation" : { "amountDetails" : { "currency" : "USD" } }, "reversalInformation" : { "amountDetails" : { "totalAmount" : "100.00" } } }
Response to a Successful Request
{ "_links" : { "self" : { "method" : "GET", "href" : "/pts/v2/reversals/6869460219566537303955" } }, "clientReferenceInformation" : { "code" : "RTS-Auth-Reversal" }, "id" : "6869460219566537303955", "orderInformation" : { "amountDetails" : { "currency" : "USD" } }, "processorInformation" : { "responseCode" : "200" }, "reconciliationId" : "82kBK3qDNtls", "reversalAmountDetails" : { "reversedAmount" : "100.00", "currency" : "USD" }, "status" : "REVERSED", "submitTimeUtc" : "2023-06-16T20:07:02Z" }
Captures
This section provides the information you need in order to capture an authorized
transaction.
Endpoint
Production:
POST
https://nabgateway-api.nab.com.au
/pts/v2/payments/{id}
/capturesTest:
POST
https://nabgateway-api-test.nab.com.au
/pts/v2/payments/{id}
/capturesThe
{id}
is the transaction ID returned in the authorization response.REST Example: Capturing an Authorization
Endpoint:
- Production:POSThttps://nabgateway-api.nab.com.au/pts/v2/payments/{id}/captures
- Test:POSThttps://nabgateway-api-test.nab.com.au/pts/v2/payments/{id}/captures
Request
{ "clientReferenceInformation": { "code": "ABC123", "partner": { "thirdPartyCertificationNumber": "123456789012" } }, "orderInformation": { "amountDetails": { "totalAmount": "100.00", "currency": "EUR" } }
Response to a Successful Request
{ "_links": { "void": { "method": "POST", "href": "/pts/v2/captures/6662994431376681303954/voids" }, "self": { "method": "GET", "href": "/pts/v2/captures/6662994431376681303954" } }, "clientReferenceInformation": { "code": "1666299443215" }, "id": "6662994431376681303954", "orderInformation": { "amountDetails": { "totalAmount": "100.00", "currency": "EUR" } }, "reconciliationId": "66535942B9CGT52U", "status": "PENDING", "submitTimeUtc": "2022-10-20T20:57:23Z" }
Required Fields for Capturing an Authorization
- clientReferenceInformation.code
- Field value maps from the original authorization, sale, or credit transaction.
- clientReferenceInformation.partner.thirdPartyCertificationNumber
- National Australia Bankprovides the value for this field.
- orderInformation.amountDetails.currency
- orderInformation.amountDetails.totalAmount
Sale
This section provides the information you need in order to process a sale
transaction.
A sale transaction combines an authorization and a capture into a single transaction.
Endpoint
Production:
POST
https://nabgateway-api.nab.com.au
/pts/v2/paymentsTest:
POST
https://nabgateway-api-test.nab.com.au
/pts/v2/paymentsREST Example: Processing a Sale
Endpoint:
- Production:POSThttps://nabgateway-api.nab.com.au/pts/v2/payments
- Test:POSThttps://nabgateway-api-test.nab.com.au/pts/v2/payments
Response to a Successful Request
{ "_links" : { "void" : { "method" : "POST", "href" : "/pts/v2/payments/6485004068966546103093/voids" }, "self" : { "method" : "GET", "href" : "/pts/v2/payments/6485004068966546103093" } }, "clientReferenceInformation" : { "code" : "RTS-Auth" }, "id" : "6485004068966546103093", "orderInformation" : { "amountDetails" : { "totalAmount" : "100.00", "authorizedAmount" : "100.00", "currency" : "usd" } }, "paymentAccountInformation" : { "card" : { "type" : "001" } }, "paymentInformation" : { "tokenizedCard" : { "type" : "001" }, "card" : { "type" : "001" } }, "processorInformation" : { "systemTraceAuditNumber" : "841109", "approvalCode" : "831000", "merchantAdvice" : { "code" : "01", "codeRaw" : "M001" }, "responseDetails" : "ABC", "networkTransactionId" : "016153570198200", "retrievalReferenceNumber" : "208720841109", "consumerAuthenticationResponse" : { "code" : "2", "codeRaw" : "2" }, "transactionId" : "016153570198200", "responseCode" : "00", "avs" : { "code" : "Y", "codeRaw" : "Y" } }, "reconciliationId" : "6485004068966546103093", "status" : "AUTHORIZED", "submitTimeUtc" : "2022-03-28T20:46:47Z" }
Required Fields for Processing a Sale
- 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.postalCode
- paymentInformation.card.expirationMonth
- paymentInformation.card.expirationYear
- paymentInformation.card.number
- paymentInformation.card.securityCode
- paymentInformation.card.type
- processingInformation.capture
- Set totrue.
Authorize an Apple Pay Payment with VDC NAB Decryption
VDC NAB
DecryptionThe topics in this section shows you how to authorize an Apple Pay payment transaction
with the implementation of Apple Pay.
VDC NAB
decryptionIMPORTANT
In the example, the payment being authorized
was made using a .
Visa card
,
and the processor is
VDC National Australia Bank Ltd
For information about cards, see
Cards Supported for Apple Pay on VDC National Australia Bank Ltd.
National Australia Bank
supports the VDC National Australia Bank Ltd
processor.For general information about basic authorizations, see the "Standard
Payments Processing" section of the .
Basic Steps: Authorizing a Payment with VDC NAB Decryption
VDC NAB
DecryptionFollow these steps to request an Apple Pay payment authorization with
VDC NAB
decryption:- Create the request message with the requiredRESTAPI fields.
- Use the API fields listed in Fields Required to Authorize a Payment with VDC NAB Decryption.
- Refer to the example in REST Example: Authorize a Payment with VDC NAB Decryption.
- Send the message to one of these endpoints:
- Production:POSThttps://nabgateway-api.nab.com.au/pts/v2/payments
- Test:POSThttps://nabgateway-api-test.nab.com.au/pts/v2/payments
- Verify the response messages to make sure that the request was successful.
ADDITIONAL INFORMATION
A 200-level HTTP response code indicates success. See the .
Fields Required to Authorize a Payment with VDC NAB Decryption
VDC NAB
DecryptionAs a best practice,
include these
REST API
fields
in your request for an authorization transaction with the
VDC NAB
decryption implementation of Apple Pay.Depending on your processor, your geographic location, and whether
the relaxed address verification system (RAVS) is enabled for your account,
some of these fields might not be required.
It is your responsibility to determine whether an API field can be omitted
from the transaction you are requesting.
For information about tbe relaxed requirements for address data and expiration
dates in payment transactions, see the .- clientReferenceInformation.code
- 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.postalCode
- paymentInformation.fluidData.descriptor
- Format of the encrypted payment data.
- Set the value toRklEPUNPTU1PTi5BUFBMRS5JTkFQUC5QQVlNRU5Ufor Apple Pay.
- paymentInformation.fluidData.encoding
- Encoding method used to encrypt the payment data.
- Set the value toBase64for Apple Pay.
- paymentInformation.fluidData.value
- Set the value to the encrypted payment data value returned by the Full Wallet request.
- processingInformation.paymentSolution
- Set the value to001to identify Apple Pay as the digital payment solution.
REST Example: Authorize a Payment with VDC
NAB Decryption
VDC
NAB
DecryptionAuthorize an Apple Pay Payment with Merchant Decryption
The topics in this section shows you how to authorize an Apple Pay payment transaction
with the
merchant decryption
implementation of Apple Pay.IMPORTANT
In the example, the payment being authorized
was made using a .
Visa card
,
and the processor is
VDC National Australia Bank Ltd
For information about cards, see
Cards Supported for Apple Pay on VDC National Australia Bank Ltd.
National Australia Bank
supports the VDC National Australia Bank Ltd
processor.For general information about basic authorizations, see the "Standard
Payments Processing" section of the .
Basic Steps: Authorizing a Payment with Merchant Decryption
- Follow these steps to request an Apple Pay payment authorization with merchant decryption:
- Create the request message with the requiredRESTAPI fields.
- Use the API fields listed in Fields Required to Authorize a Payment with Merchant Decryption.
- Refer to the example in REST Example: Authorize a Payment with Merchant Decryption.
- Send the message to one of these endpoints:
- Production:POSThttps://nabgateway-api.nab.com.au/pts/v2/payments
- Test:POSThttps://nabgateway-api-test.nab.com.au/pts/v2/payments
- Verify the response messages to make sure that the request was successful.
ADDITIONAL INFORMATION
A 200-level HTTP response code indicates success. See the .
Fields Required to Authorize a Payment with Merchant Decryption
As a best practice,
include these
REST API
fields
in your request for an authorization transaction with the
VDC NAB
decryption implementation of Apple Pay.Depending on your processor, your geographic location, and whether
the relaxed address verification system (RAVS) is enabled for your account,
some of these fields might not be required.
It is your responsibility to determine whether an API field can be omitted
from the transaction you are requesting.
For information about tbe relaxed requirements for address data and expiration
dates in payment transactions, see the .- clientReferenceInformation.code
- 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.postalCode
- paymentInformation.tokenizedCard.cryptogram
- Token authentication verification value cryptogram.
- The value for this field must be a 28-character, Base64-encoded string (the encoding method for Apple Pay transactions).
- paymentInformation.tokenizedCard.expirationMonth
- Set the value to month in which the token expires. Format:MMPossible values:01through12.
- paymentInformation.tokenizedCard.expirationYear
- Set the value to the year in which the token expires. Format:yyyy.
- paymentInformation.tokenizedCard.number
- Set the value to customer's payment network token value that contains the customer's credit card number.
- ForVDC National Australia Bank Ltd, set this field to the value that indicates the type of transaction that provided the payment network token data. Possible values:
- 1: In-app transaction.
- 2: Near-field communication (NFC) transaction. The customer’s mobile device provided the token data for a contactless EMV transaction.
- 3: A transaction using stored customer credentials onVDC National Australia Bank Ltd, whether for merchant-initiated transactions (MITs) or customer-initiated transactions (CITs).
- IMPORTANTThis value does not specify the token service provider. It specifies the entity that provided you with information about the token.
- paymentInformation.tokenizedCard.type
- Three-digit value that indicates the card type. Possible values:
- 001: Visa
- 002: Mastercard
- 003: American Express
- 004: Discover
- 005: Diners Club
- 007: JCB
- 062: China UnionPay
- processingInformation.commerceIndicator
- Type of transaction. Some payment card companies use this information when determining discount rates. Possible values:
- aesk: American Express SafeKey authentication.
- dipb: Discover card type.
- internet: Default value for authorizations. E-commerce order placed from a website.
- js: JCB J/Secure authentication.
- spa: Mastercard Identity Check authentication.
- vbv: Visa Secure authentication
- processingInformation.paymentSolution
- Set the value to001to identify Apple Pay as the digital payment solution.
REST Example: Authorize a Payment with Merchant
Decryption
Request
{ "clientReferenceInformation": { "code": "TC_1231223" }, "processingInformation": { "commerceIndicator": "internet", "paymentSolution": "001" }, "paymentInformation": { "tokenizedCard": { "number": "4111111111111111", "expirationMonth": "12", "expirationYear": "2031", "cryptogram": "AceY+igABPs3jdwNaDg3MAACAAA=", "transactionType": "1", "type": "001" } }, "orderInformation": { "amountDetails": { "totalAmount": "10", "currency": "AUD" }, "billTo": { "firstName": "John", "lastName": "Doe", "address1": "901 Metro Center Blvd", "locality": "Foster City", "administrativeArea": "CA", "postalCode": "94404", "country": "US", "email": "[email protected]" } } }
Response to a Successful Request
{ "_links": { "authReversal": { "method": "POST", "href": "/pts/v2/payments/7359621903916966603954/reversals" }, "self": { "method": "GET", "href": "/pts/v2/payments/7359621903916966603954" }, "capture": { "method": "POST", "href": "/pts/v2/payments/7359621903916966603954/captures" } }, "clientReferenceInformation": { "code": "TC_1231223" }, "id": "7359621903916966603954", "orderInformation": { "amountDetails": { "authorizedAmount": "10.00", "currency": "AUD" } }, "paymentAccountInformation": { "card": { "type": "001" } }, "paymentInformation": { "tokenizedCard": { "expirationYear": "2031", "prefix": "411111", "expirationMonth": "12", "suffix": "1111", "type": "001" }, "card": { "type": "001" } }, "processingInformation": { "paymentSolution": "001" }, "processorInformation": { "systemTraceAuditNumber": "918032", "approvalCode": "831000", "merchantAdvice": { "code": "01", "codeRaw": "M001" }, "responseDetails": "ABC", "networkTransactionId": "016153570198200", "retrievalReferenceNumber": "500303918032", "consumerAuthenticationResponse": { "code": "2", "codeRaw": "2" }, "transactionId": "016153570198200", "responseCode": "00", "avs": { "code": "Y", "codeRaw": "Y" } }, "reconciliationId": "7359621903916966603954", "status": "AUTHORIZED", "submitTimeUtc": "2025-01-04T03:43:10Z" }
Process an Apple Pay Sale with VDC NAB Decryption
VDC NAB
DecryptionThe topics in this section shows you how to process an Apple Pay sale with the implementation of Apple Pay.
VDC NAB
decryptionA sale bundles an authorization and capture in a single transaction. Request the
authorization and capture at the same time. The authorization and capture amounts must
be the same.
The
REST
API message for a sale request
is the same as the message for an authorization request,
except that the sale request message must set the
processingInformation.capture
field to
true
.IMPORTANT
In the example, the sale transaction
is made using a .
Visa card
,
and the processor is
VDC National Australia Bank Ltd
For information about cards, see
Cards Supported for Apple Pay on VDC National Australia Bank Ltd.
National Australia Bank
supports the VDC National Australia Bank Ltd
processor.For general information about sale transactions, see the "Standard
Payments Processing" section of the .
Basic Steps: Processing a Sale with VDC NAB Decryption
VDC NAB
Decryption- Follow these steps to process an Apple Pay sale transaction withVDC NABdecryption:
- Create the request message with the requiredRESTAPI fields.
- Use the API fields listed in Fields Required to Process a Sale with VDC NAB Decryption.
- Refer to the example in REST Example: Process a Sale with VDC NAB Decryption.
- Send the message to one of these endpoints:
- Production:POSThttps://nabgateway-api.nab.com.au/pts/v2/payments
- Test:POSThttps://nabgateway-api-test.nab.com.au/pts/v2/payments
- Verify the response messages to make sure that the request was successful.
ADDITIONAL INFORMATION
A 200-level HTTP response code indicates success. See the .
Fields Required to Process a Sale with VDC NAB Decryption
VDC NAB
DecryptionAs a best practice,
include these
REST API
fields
in your request for a combined authorization and capture (sale) transaction with the
VDC NAB
decryption implementation of Apple Pay.Depending on your processor, your geographic location, and whether
the relaxed address verification system (RAVS) is enabled for your account,
some of these fields might not be required.
It is your responsibility to determine whether an API field can be omitted
from the transaction you are requesting.
For information about tbe relaxed requirements for address data and expiration
dates in payment transactions, see the .- clientReferenceInformation.code
- 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.postalCode
- paymentInformation.fluidData.descriptor
- Format of the encrypted payment data.
- Set the value toRklEPUNPTU1PTi5BUFBMRS5JTkFQUC5QQVlNRU5Ufor Apple Pay.
- paymentInformation.fluidData.encoding
- Encoding method used to encrypt the payment data.
- Set the value toBase64for Apple Pay.
- paymentInformation.fluidData.value
- Set the value to the encrypted payment data value returned by the Full Wallet request.
- processingInformation.capture
- Set the value totruefor a sale transaction (to include a capture with the authorization).
- processingInformation.paymentSolution
- Set the value to001to identify Apple Pay as the digital payment solution.
REST Example: Process a Sale with VDC
NAB Decryption
VDC
NAB
Decryption{ "clientReferenceInformation": { "code": "TC_1231223" }, "processingInformation": { "paymentSolution": "001", "capture": true }, "orderInformation": { "amountDetails": { "totalAmount": "10", "currency": "AUD" }, "billTo": { "firstName": "John", "lastName": "Doe", "address1": "901 Metro Center Blvd", "locality": "Foster City", "administrativeArea": "CA", "postalCode": "94404", "country": "US", "email": "[email protected]" } }, "paymentInformation": { "fluidData": { "value": "eyJkYXRhIjoiXC9NK2VQQ0JlMmtod1pMQkFzRWhneHFqYXF2MmtZNDJSNnd1VDdnT3JlelBwRE9hR2dmc1AzZUNHZUplSjFSc3JpSERGSnJIK0FJVHp6RFdjVXNHUlNuSER3QlBcL2JHakU0dUhYcTFDOXFjWDBLWmYzaTFZNkV2b1wvaXExOFhkcG5obTI1U2kwSGpkWUJGRmVBUmZlVENpMEtDSGtRN04wZTAyeElRbm84Qmt1TVwvSUQ5bHdoNXBFVnVYM08ybjc4bHVyU0tlRmpXVHMyWG9Pc1pmWXBpbFQ4ZFFtK2RaYmh6VHgyZ2hMXC9FcFBReUVvdW5QTFZjTlwvaTR0blFnakxWRWJiNUFDNHJ4ZjBwK2M0VGtYSzcycGZGY05NSnlxd0RlQWZ2cHB6cnFQZVdoaWlpdzUwTmljT3duR29tcXA0bWU2anV4S2N5ZFh3cGpJR3BhQlBuXC9NY3o2d2ZDSFAzMWY1NHdkRmZ4bEZadjl5XC85aGw5YlY1d08yN2R5bFwvYUVxN2FYbU5JZHBQNTFsOXlSQlUzNDNYcjR3XC9MSXN2ZmZTTE91WDlsRU5QUGtocE1LUXo4VWpYNG0xXC9xazdcL256aGFSekFaZGh6VGZsNkZ3PT0iLCJ2ZXJzaW9uIjoiRUNfdjEiLCJoZWFkZXIiOnsiYXBwbGljYXRpb25EYXRhIjoiNDE3MDcwNkM2OTYzNjE3NDY5NkY2RTQ0NjE3NDYxIiwidHJhbnNhY3Rpb25JZCI6IjU0NzI2MTZFNzM2MTYzNzQ2OTZGNkU0OTQ0IiwiZXBoZW1lcmFsUHVibGljS2V5IjoiTUlJQlN6Q0NBUU1HQnlxR1NNNDlBZ0V3Z2ZjQ0FRRXdMQVlIS29aSXpqMEJBUUloQVBcL1wvXC9cLzhBQUFBQkFBQUFBQUFBQUFBQUFBQUFcL1wvXC9cL1wvXC9cL1wvXC9cL1wvXC9cL1wvXC9cL01Gc0VJUFwvXC9cL1wvOEFBQUFCQUFBQUFBQUFBQUFBQUFBQVwvXC9cL1wvXC9cL1wvXC9cL1wvXC9cL1wvXC9cLzhCQ0JheGpYWXFqcVQ1N1BydlZWMm1JYThaUjBHc014VHNQWTd6ancrSjlKZ1N3TVZBTVNkTmdpRzV3U1RhbVo0NFJPZEpyZUJuMzZRQkVFRWF4ZlI4dUVzUWtmNHZPYmxZNlJBOG5jRGZZRXQ2ek9nOUtFNVJkaVl3cFpQNDBMaVwvaHBcL200N242MHA4RDU0V0s4NHpWMnN4WHM3THRrQm9ONzlSOVFJaEFQXC9cL1wvXC84QUFBQUFcL1wvXC9cL1wvXC9cL1wvXC9cLys4NXZxdHB4ZWVoUE81eXNMOFl5VlJBZ0VCQTBJQUJPSnZpNkxGa0JpUTJINDR6K05VK0I3N1hZV2p4UHJQaXRDMFRWZytJYnNGeXIrNjFsemFkQjFrU25hUHpFTmVMMEVrbzhWTExzVjRhU1hTalwvZXlJRmc9IiwicHVibGljS2V5SGFzaCI6IlwvNkxQT3BoS0tydWFvdjBET3VOTDk1YXFCcFVcLzArNElXNXFhV3FxME5qRT0ifSwic2lnbmF0dXJlIjoiTUlJRFFnWUpLb1pJaHZjTkFRY0NvSUlETXpDQ0F5OENBUUV4Q3pBSkJnVXJEZ01DR2dVQU1Bc0dDU3FHU0liM0RRRUhBYUNDQWlzd2dnSW5NSUlCbEtBREFnRUNBaEJjbCtQZjMrVTRwazEzblZEOW53UVFNQWtHQlNzT0F3SWRCUUF3SnpFbE1DTUdBMVVFQXg0Y0FHTUFhQUJ0QUdFQWFRQkFBSFlBYVFCekFHRUFMZ0JqQUc4QWJUQWVGdzB4TkRBeE1ERXdOakF3TURCYUZ3MHlOREF4TURFd05qQXdNREJhTUNjeEpUQWpCZ05WQkFNZUhBQmpBR2dBYlFCaEFHa0FRQUIyQUdrQWN3QmhBQzRBWXdCdkFHMHdnWjh3RFFZSktvWklodmNOQVFFQkJRQURnWTBBTUlHSkFvR0JBTkM4K2tndGdtdldGMU96amdETnJqVEVCUnVvXC81TUt2bE0xNDZwQWY3R3g0MWJsRTl3NGZJWEpBRDdGZk83UUtqSVhZTnQzOXJMeXk3eER3YlwvNUlrWk02MFRaMmlJMXBqNTVVYzhmZDRmek9wazNmdFphUUdYTkxZcHRHMWQ5VjdJUzgyT3VwOU1NbzFCUFZyWFRQSE5jc005OUVQVW5QcWRiZUdjODdtMHJBZ01CQUFHalhEQmFNRmdHQTFVZEFRUlJNRStBRUhaV1ByV3RKZDdZWjQzMWhDZzdZRlNoS1RBbk1TVXdJd1lEVlFRREhod0FZd0JvQUcwQVlRQnBBRUFBZGdCcEFITUFZUUF1QUdNQWJ3QnRnaEJjbCtQZjMrVTRwazEzblZEOW53UVFNQWtHQlNzT0F3SWRCUUFEZ1lFQWJVS1lDa3VJS1M5UVEybUZjTVlSRUltMmwrWGc4XC9KWHYrR0JWUUprT0tvc2NZNGlOREZBXC9iUWxvZ2Y5TExVODRUSHdOUm5zdlYzUHJ2N1JUWTgxZ3EwZHRDOHpZY0FhQWtDSElJM3lxTW5KNEFPdTZFT1c5a0prMjMyZ1NFN1dsQ3RIYmZMU0tmdVNnUVg4S1hRWXVaTGsyUnI2M044QXBYc1h3QkwzY0oweGdlQXdnZDBDQVFFd096QW5NU1V3SXdZRFZRUURIaHdBWXdCb0FHMEFZUUJwQUVBQWRnQnBBSE1BWVFBdUFHTUFid0J0QWhCY2wrUGYzK1U0cGsxM25WRDlud1FRTUFrR0JTc09Bd0lhQlFBd0RRWUpLb1pJaHZjTkFRRUJCUUFFZ1lDZ2RvN2lrTzdERTNCXC9pY0lycmRjc1ZIanJyQmNPdXNndXhlcGs1QW41ZEExV01rajBlVjRsMVM0RnR5NktwdlR0T0xcL3VSdDhuTHZpVnR0TVVSZHBYTjNWXC9NVmZnVkxlXC9YUm5cLzRzbUJnMVgweE5OTXlTZXBQalVxV1ZkWFg1K0RWYnp2U0ZKSVJGdmt1MHJPaGg3REZmODVpbXNkaGRZRUhCaUg0TzdpK1E9PSJ9", "descriptor": "RklEPUNPTU1PTi5BUFBMRS5JTkFQUC5QQVlNRU5U", "encoding": "Base64" } } }
Response to a Successful Request
{ "_links": { "void": { "method": "POST", "href": "/pts/v2/payments/7359641336126184303955/voids" }, "self": { "method": "GET", "href": "/pts/v2/payments/7359641336126184303955" } }, "clientReferenceInformation": { "code": "TC_1231223" }, "consumerAuthenticationInformation": { "token": "Axj//wSTjveKcificy1TABsQ3ZtGThq1Zp78eHSPSAp78eHSPTpAr6E4uGTSTL0YriJFQwJycd7xTkT8TmWqYAAAtQlD" }, "id": "7359641336126184303955", "issuerInformation": { "responseRaw": "0110322000000E1000020000000000000010000104041534840127353442435634463759474B373833313030303030000159008000223134573031363135303730333830323039344730363400103232415050524F56414C00065649435243200034544B54523031313132313231323132313231544C3030323636504E30303431313131" }, "orderInformation": { "amountDetails": { "totalAmount": "10.00", "authorizedAmount": "10.00", "currency": "AUD" } }, "paymentAccountInformation": { "card": { "type": "001" } }, "paymentInformation": { "tokenizedCard": { "expirationYear": "2025", "requestorId": "12121212121", "prefix": "411111", "assuranceLevel": "66", "expirationMonth": "07", "suffix": "1111", "type": "001" }, "card": { "suffix": "1111", "type": "001" } }, "pointOfSaleInformation": { "terminalId": "02495701" }, "processingInformation": { "paymentSolution": "001" }, "processorInformation": { "merchantNumber": "000372839590885", "approvalCode": "831000", "networkTransactionId": "016150703802094", "transactionId": "016150703802094", "responseCode": "00", "avs": { "code": "Y", "codeRaw": "Y" } }, "reconciliationId": "73428553", "riskInformation": { "earlyVelocity": { "counts": [ { "count": "1", "informationCode": "MVEL-R1" } ] } }, "status": "AUTHORIZED", "submitTimeUtc": "2025-01-04T04:15:34Z" }
Process an Apple Pay Sale with Merchant Decryption
The topics in this section shows you how to process an Apple Pay sale with the
merchant decryption
implementation of Apple Pay.A sale bundles an authorization and capture in a single transaction. Request the
authorization and capture at the same time. The authorization and capture amounts must
be the same.
The
REST
API message for a sale request
is the same as the message for an authorization request,
except that the sale request message must set the
processingInformation.capture
field to
true
.IMPORTANT
In the example, the sale transaction
is made using a .
Visa card
,
and the processor is
VDC National Australia Bank Ltd
For information about cards, see
Cards Supported for Apple Pay on VDC National Australia Bank Ltd.
National Australia Bank
supports the VDC National Australia Bank Ltd
processor.For general information about sale transactions, see the "Standard
Payments Processing" section of the .
Basic Steps: Processing a Sale with Merchant Decryption
- Follow these steps to process an Apple Pay sale transaction with merchant decryption:
- Create the request message with the requiredRESTAPI fields.
- Use the API fields listed in Fields Required to Process a Sale with Merchant Decryption.
- Refer to the example in REST Example: Process a Sale with Merchant Decryption.
- Send the message to one of these endpoints:
- Production:POSThttps://nabgateway-api.nab.com.au/pts/v2/payments
- Test:POSThttps://nabgateway-api-test.nab.com.au/pts/v2/payments
- Verify the response messages to make sure that the request was successful.
ADDITIONAL INFORMATION
A 200-level HTTP response code indicates success. See the .
Fields Required to Process a Sale with Merchant Decryption
As a best practice,
include these
REST API
fields
in your request for a combined authorization and capture (sale) transaction with the
VDC NAB
decryption implementation of Apple Pay.Depending on your processor, your geographic location, and whether
the relaxed address verification system (RAVS) is enabled for your account,
some of these fields might not be required.
It is your responsibility to determine whether an API field can be omitted
from the transaction you are requesting.
For information about tbe relaxed requirements for address data and expiration
dates in payment transactions, see the .- clientReferenceInformation.code
- 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.postalCode
- paymentInformation.tokenizedCard.cryptogram
- Token authentication verification value cryptogram.
- The value for this field must be a 28-character, Base64-encoded string (the encoding method for Apple Pay transactions).
- paymentInformation.tokenizedCard.expirationMonth
- Set the value to month in which the token expires. Format:MMPossible values:01through12.
- paymentInformation.tokenizedCard.expirationYear
- Set the value to the year in which the token expires. Format:yyyy.
- paymentInformation.tokenizedCard.number
- Set the value to customer's payment network token value that contains the customer's credit card number.
- ForVDC National Australia Bank Ltd, set this field to the value that indicates the type of transaction that provided the payment network token data. Possible values:
- 1: In-app transaction.
- 2: Near-field communication (NFC) transaction. The customer’s mobile device provided the token data for a contactless EMV transaction.
- 3: A transaction using stored customer credentials onVDC National Australia Bank Ltd, whether for merchant-initiated transactions (MITs) or customer-initiated transactions (CITs).
- IMPORTANTThis value does not specify the token service provider. It specifies the entity that provided you with information about the token.
- paymentInformation.tokenizedCard.type
- Three-digit value that indicates the card type. Possible values:
- 001: Visa
- 002: Mastercard
- 003: American Express
- 004: Discover
- 005: Diners Club
- 007: JCB
- 062: China UnionPay
- processingInformation.capture
- Set the value totrueto include a capture with the authorization.
- processingInformation.commerceIndicator
- Type of transaction. Some payment card companies use this information when determining discount rates. Possible values:
- aesk: American Express SafeKey authentication.
- dipb: Discover card type.
- internet: Default value for authorizations. E-commerce order placed from a website.
- js: JCB J/Secure authentication.
- spa: Mastercard Identity Check authentication.
- vbv: Visa Secure authentication
- processingInformation.paymentSolution
- Set the value to001to identify Apple Pay as the digital payment solution.
REST Example: Process a Sale with Merchant Decryption
Request
{ "clientReferenceInformation": { "code": "TC_1231223" }, "processingInformation": { "commerceIndicator": "internet", "paymentSolution": "001", "capture": true }, "paymentInformation": { "tokenizedCard": { "number": "4111111111111111", "expirationMonth": "12", "expirationYear": "2031", "cryptogram": "AceY+igABPs3jdwNaDg3MAACAAA=", "transactionType": "1", "type": "001" } }, "orderInformation": { "amountDetails": { "totalAmount": "10", "currency": "AUD" }, "billTo": { "firstName": "John", "lastName": "Doe", "address1": "901 Metro Center Blvd", "locality": "Foster City", "administrativeArea": "CA", "postalCode": "94404", "country": "US", "email": "[email protected]" } } }
Response to a Successful Request
{ "_links": { "void": { "method": "POST", "href": "/pts/v2/payments/7359627932726161403954/voids" }, "self": { "method": "GET", "href": "/pts/v2/payments/7359627932726161403954" } }, "clientReferenceInformation": { "code": "TC_1231223" }, "id": "7359627932726161403954", "orderInformation": { "amountDetails": { "totalAmount": "10.00", "authorizedAmount": "10.00", "currency": "AUD" } }, "paymentAccountInformation": { "card": { "type": "001" } }, "paymentInformation": { "tokenizedCard": { "expirationYear": "2031", "prefix": "411111", "expirationMonth": "12", "suffix": "1111", "type": "001" }, "card": { "type": "001" } }, "processingInformation": { "paymentSolution": "001" }, "processorInformation": { "systemTraceAuditNumber": "417802", "approvalCode": "831000", "merchantAdvice": { "code": "01", "codeRaw": "M001" }, "responseDetails": "ABC", "networkTransactionId": "016153570198200", "retrievalReferenceNumber": "500303417802", "consumerAuthenticationResponse": { "code": "2", "codeRaw": "2" }, "transactionId": "016153570198200", "responseCode": "00", "avs": { "code": "Y", "codeRaw": "Y" } }, "reconciliationId": "7359627932726161403954", "status": "AUTHORIZED", "submitTimeUtc": "2025-01-04T03:53:13Z" }
Reverse an Apple Pay Payment Authorization
The topics in this section shows you how to reverse an Apple Pay payment
authorization.
IMPORTANT
In the example, the authorization being reversed
is for a payment made using a .
Visa card
,
and the processor is
VDC National Australia Bank Ltd
For information about cards, see
Cards Supported for Apple Pay on VDC National Australia Bank Ltd.
National Australia Bank
supports the VDC National Australia Bank Ltd
processor.For general information about authorization reversals, see the
"Standard Payments Processing" section of the .
Basic Steps: Reversing a Payment Authorization
- Follow these steps to reverse an Apple Pay payment authorization:
- Create the request message with the requiredRESTAPI fields.
- Use the API fields listed in Fields Required to Reverse a Payment Authorization.
- Refer to the example in REST Example: Reverse a Payment Authorization.
- Send the request to one of these endpoints:
- Production:POSThttps://nabgateway-api.nab.com.au/pts/v2/payments/{id}/reversals
- Test:POSThttps://nabgateway-api-test.nab.com.au/pts/v2/payments/{id}/reversals
ADDITIONAL INFORMATION
Replace the{id}portion of the URL with the transaction ID of the payment that you want to reverse. The transaction ID is returned in theidfield of the response to the authorization request. Example value: 7359642011156554503954 - Verify the response messages to make sure that the request was successful.
ADDITIONAL INFORMATION
A 200-level HTTP response code indicates success. See the .
Fields Required to Reverse a Payment Authorization
As a best practice,
include these
REST API
fields
in your request to reverse the authorization of an Apple Pay transaction.Depending on your processor, your geographic location, and whether
the relaxed address verification system (RAVS) is enabled for your account,
some of these fields might not be required.
It is your responsibility to determine whether an API field can be omitted
from the transaction you are requesting.
For information about tbe relaxed requirements for address data and expiration
dates in payment transactions, see the .- clientReferenceInformation.code
- Set this field to the value returned in the response to the original authorization.
- orderInformation.amountDetails.currency
- processingInformation.paymentSolution
- Set the value to001to identify Apple Pay as the digital payment solution.
- reversalInformation.amountDetails.totalAmount
REST Example: Reverse a Payment Authorization
Request
{ "clientReferenceInformation": { "code": "TC_1231223" }, "processingInformation": { "paymentSolution": "001" }, "orderInformation": { "amountDetails": { "currency": "AUD" } }, "reversalInformation": { "amountDetails": { "totalAmount": "10" } } }
Response to a Successful Request
{ "_links": { "void": { "method": "POST", "href": "/pts/v2/captures/6662994431376681303954/voids" }, "self": { "method": "GET", } }, "clientReferenceInformation": { "code": "TC_1231223" }, "id": "6662994431376681303954", "orderInformation": { "amountDetails": { "totalAmount": "10.00", "currency": "AUD" } }, "reconciliationId": "66535942B9CGT52U", "status": "PENDING", "submitTimeUtc": "2025-01-04T23:56:13Z" }
Capture an Apple Pay Authorization
The topics in this section shows you how to capture an authorized Apple Pay payment
transaction.
IMPORTANT
In the example, the payment being captured
was made using a .
Visa card
,
and the transaction is processed with the
VDC National Australia Bank Ltd
For information about cards, see
Cards Supported for Apple Pay on VDC National Australia Bank Ltd.
National Australia Bank
supports the VDC National Australia Bank Ltd
processor.For general information about capture transactions, see the "Standard
Payments Processing" section of the .
Basic Steps: Capturing an Authorization
- Follow these steps to capture an authorized Apple Pay payment transaction:
- Create the request message with the requiredRESTAPI fields.
- Use the API fields listed in Fields Required to Capture an Authorization.
- Refer to the example in REST Example: Capturing an Authorization.
- Send the request to one of these endpoints:
- Production:POSThttps://nabgateway-api.nab.com.au/pts/v2/payments/{id}/captures
- Test:POSThttps://nabgateway-api-test.nab.com.au/pts/v2/payments/{id}/captures
ADDITIONAL INFORMATION
Replace the{id}portion of the URL with the transaction ID of the payment that you want to capture. The transaction ID is returned in theidfield of the response to the authorization request. Example value: 7359642011156554503954 - Verify the response messages to make sure that the request was successful.
ADDITIONAL INFORMATION
A 200-level HTTP response code indicates success. See the .
Fields Required to Capture an Authorization
As a best practice,
include these
REST API
fields
in your request to capture an authorized Apple Pay payment transaction.Depending on your processor, your geographic location, and whether
the relaxed address verification system (RAVS) is enabled for your account,
some of these fields might not be required.
It is your responsibility to determine whether an API field can be omitted
from the transaction you are requesting.
For information about tbe relaxed requirements for address data and expiration
dates in payment transactions, see the .- clientReferenceInformation.code
- Set this field to the value returned in the response to the original authorization.
- orderInformation.amountDetails.currency
- orderInformation.amountDetails.totalAmount
- processingInformation.paymentSolution
- Set the value to001to identify Apple Pay as the digital payment solution.
REST Example: Capturing an Authorization
Request
{ "clientReferenceInformation": { "code": "TC_1231223" }, "processingInformation": { "paymentSolution": "001" }, "orderInformation": { "amountDetails": { "totalAmount": "10", "currency": "AUD" } } }
Response to a Successful Request
{ "_links": { "void": { "method": "POST", "href": "/pts/v2/captures/6662994431376681303954/voids" }, "self": { "method": "GET", } }, "clientReferenceInformation": { "code": "TC_1231223" }, "id": "6662994431376681303954", "orderInformation": { "amountDetails": { "totalAmount": "10.00", "currency": "AUD" } }, "reconciliationId": "66535942B9CGT52U", "status": "PENDING", "submitTimeUtc": "2024-11-21T04:17:20Z" }