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 Bank
    processes the capture immediately.

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.

Supported Card Types

All supported card types can process reversals.

Endpoint

Production:
POST
https://nabgateway-api.nab.com.au
/pts/v2/payments/
{id}
/reversals
Test:
POST
https://nabgateway-api-test.nab.com.au
/pts/v2/payments/
{id}
/reversals
The
{id}
is the transaction ID returned in the authorization response.

Required Fields for Processing an Authorization Reversal

clientReferenceInformation.code
clientReferenceInformation.partner.thirdPartyCertificationNumber
National Australia Bank
provides the value for this field.
id
Set the
id
URL 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

Request
{ "clientReferenceInformation": { "code": "test123" } "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.

Supported Card Types

All supported card types can process captures. .

Endpoint

Production:
POST
https://nabgateway-api.nab.com.au
/pts/v2/payments/
{id}
/captures
Test:
POST
https://nabgateway-api-test.nab.com.au
/pts/v2/payments/
{id}
/captures
The
{id}
is the transaction ID returned in the authorization response.

REST Example: Capturing an Authorization

Endpoint:
  • Production:
    POST
    https://nabgateway-api.nab.com.au
    /pts/v2/payments/
    {id}
    /captures
  • Test:
    POST
    https://nabgateway-api-test.nab.com.au
    /pts/v2/payments/
    {id}
    /captures
Request
{ "clientReferenceInformation": { "code": "1662997399711" }, "orderInformation": { "amountDetails": { "totalAmount": 100, "currency": "USD" } }, "paymentAccountInformation": { "card": { "number": "4111111111111111", "type": "001" } } }
Response for a Successful Request
{ "_links": { "authReversal": { "method": "POST", "href": "/pts/v2/payments/6629976031336699803954/reversals" }, "self": { "method": "GET", "href": "/pts/v2/payments/6629976031336699803954" }, "capture": { "method": "POST", "href": "/pts/v2/payments/6629976031336699803954/captures" } }, "clientReferenceInformation": { "code": "1662997399711" }, "id": "6629976031336699803954", "orderInformation": { "amountDetails": { "authorizedAmount": "100.00", "currency": "USD" } }, "paymentAccountInformation": { "card": { "type": "001" } }, "paymentInformation": { "tokenizedCard": { "type": "001" }, "card": { "type": "001" } }, "pointOfSaleInformation": { "terminalId": "111111" }, "processorInformation": { "approvalCode": "888888", "networkTransactionId": "123456789619999", "transactionId": "123456789619999", "responseCode": "100", "avs": { "code": "1" } }, "reconciliationId": "61117545B7TY1MP6", "status": "AUTHORIZED", "submitTimeUtc": "2022-09-12T15:46:43Z" }

Required Fields for Capturing an Authorization

Use these required fields for capturing an authorization.
clientReferenceInformation.code
This field value maps from the original authorization, sale, or credit transaction.
clientReferenceInformation.partner.thirdPartyCertificationNumber
National Australia Bank
provides the value for this field.
orderInformation.amountDetails.currency
orderInformation.amountDetails.totalAmount

REST Example: Capturing an Authorization

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" }

Capturing an Authorization Using
REST
APIs

  1. Pass the original authorization ID in the URL, and send the service request to:

    ADDITIONAL INFORMATION

    POST https://<
    url_prefix
    >/v2/payments/{id}/captures
    Use one of these URL prefixes:
    • Test:
      nabgateway-developer.nab.com.au
    • Production:
      nabgateway-developer.nab.com.au
    Where
    id
    is the authorization ID returned in the authorization response.
    { "id": "6481692924466004003001" }
    The URL with the
    id
    value is included in the authorization response:
    { "_links": { "capture": { "method": "POST", "href": "/pts/v2/payments/6481692924466004003001/captures" } }
  2. Check the response message 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.

Sales

This section provides the information you need in order to process a sale transactions.
A sale combines an authorization and a capture into a single transaction.

Supported Card Types

All supported card types can process sales. .

Endpoint

Production:
POST
https://nabgateway-api.nab.com.au
/pts/v2/payments
Test:
POST
https://nabgateway-api-test.nab.com.au
/pts/v2/payments

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 the value to
true
.

REST Example: Processing a Sale

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 } } }
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" }