Overview

The GetPaymentAuthorizationRequest is sent with the PaymentId, which is received from INPA reply, and the CustomerId, which is received during the bank account linking process.

URI Summary

Action

URI Template

URI Example

Non-URI Request

Response

POST

/v[M.m]/stores/{StoreID}/payments/authorization/get.[format]

/v1.0/stores/stores123/payments/authorization/get.xml

XML

200 + XML response

Request Example

Copy
<?xml version="1.0" encoding="UTF-8"?>
<GetPaymentAuthorizationRequest xmlns="http://api.gsicommerce.com/schema/checkout/1.0" requestId="a6-a19f-4e42-956d-d581ce784bec">
    <OrderId>123456789</OrderId>
    <PaymentId>hu2vcod6n20w00</PaymentId>
    <CustomerId>2ed64c83-fad1-4c20-a931-347ea79dd27d</CustomerId>
</GetPaymentAuthorizationRequest>

Request Example - Request Extended Response Codes

Copy
<?xml version="1.0" encoding="UTF-8"?>
<GetPaymentAuthorizationRequest xmlns="http://api.gsicommerce.com/schema/checkout/1.0" requestId="a6-a19f-4e42-956d-d581ce784bec">
    <OrderId>123456789</OrderId>
    <PaymentId>hu2vcod6n20w00</PaymentId>
    <CustomerId>2ed64c83-fad1-4c20-a931-347ea79dd27d</CustomerId>
    <Features>
        <IncludeExtendedResponseCodes>true</IncludeExtendedResponseCodes>
    </Features>
</GetPaymentAuthorizationRequest>

Request Elements

Element

Optional/Required

Description

Type

Restriction

/GetPaymentAuthorizationRequest/
OrderId

Required

Unique identifier for an order across all transactions of the same order.
OrderId should be the same value that was used in the order data passed in the initialization process.

String

Min 1 character
Max 20 characters

/GetPaymentAuthorizationRequest/
PaymentId

Required

The payment ID received in Initialize Payment Authorization response.

String

Min 1 chars
Max 64 chars

/GetPaymentAuthorizationRequest/
CustomerId

Required

After the Customer's Bank account is successfully linked, Link Money will redirect to the Webstore redirect URL with the CUSTOMER_ID.

String

Min 1 chars
Max 64 chars

/GetPaymentAuthorizationRequest/
requestId

Required

A unique identifier for the request.

  • Webstore must generate a new requestId on the initial request.
  • When re-submitting the request to fix error from a previous request, webstore should generate a new requestId.
  • Webstore should re-send the same requestId when attempting to recover from time out or system failure.

String

Min 1 character
Max 40 characters

/GetPaymentAuthorizationRequest/
Features

No

Represents features to be enabled so that the response can return data related to those features.

ComplexType

/Features/
IncludeExtendedResponseCodes

No

Flag to get Extended Response Codes in reply, upon declined Authorization request.

Boolean

true or false

Response Examples

Approved Payment Authorization Status Response

In case of approved response, the webstore should accept the order.

Copy
<?xml version="1.0" encoding="UTF-8"?>
<GetPaymentAuthorizationReply xmlns:payment="http://schema.gsicommerce.com/payments/types/1.0/"
    xmlns="http://api.gsicommerce.com/schema/checkout/1.0">
    <PaymentContext>
        <OrderId>123456789</OrderId>
        <TenderType>AH</TenderType>
        <PaymentAccountUniqueId isToken="true">ACHBANKTRANSFER</PaymentAccountUniqueId>
    </PaymentContext>
    <ResponseCode>APPROVED</ResponseCode>
    <AmountAuthorized currencyCode="USD">10.95</AmountAuthorized>
</GetPaymentAuthorizationReply>

Pending Payment Authorization Status Response

In case of pending response, it should be considered as a success, and the webstore doesn't have to retry it. The webstore should accept the order.

Copy
<?xml version="1.0" encoding="UTF-8"?>
<GetPaymentAuthorizationReply xmlns="http://api.gsicommerce.com/schema/checkout/1.0"
    xmlns:payment="http://schema.gsicommerce.com/payments/types/1.0/">
    <PaymentContext>
        <OrderId>123456789</OrderId>
        <TenderType>AH</TenderType>
        <PaymentAccountUniqueId isToken="true">ACHBANKTRANSFER</PaymentAccountUniqueId>
    </PaymentContext>
    <ResponseCode>PENDING</ResponseCode>
    <AmountAuthorized currencyCode="USD">0</AmountAuthorized>
</GetPaymentAuthorizationReply>

Declined Payment Authorization Status Response - Without Extended Response

Copy
<?xml version="1.0" encoding="UTF-8"?>
<GetPaymentAuthorizationReply xmlns="http://api.gsicommerce.com/schema/checkout/1.0"
    xmlns:payment="http://schema.gsicommerce.com/payments/types/1.0/">
    <PaymentContext>
        <OrderId>123456789</OrderId>
        <TenderType>AH</TenderType>
        <PaymentAccountUniqueId isToken="true">ACHBANKTRANSFER</PaymentAccountUniqueId>
    </PaymentContext>
    <ResponseCode>DECLINED</ResponseCode>
    <AmountAuthorized currencyCode="USD">0</AmountAuthorized>
</GetPaymentAuthorizationReply>

Declined Payment Authorization Status Response - With Insufficient Balance Extended Response

Copy
<?xml version="1.0" encoding="UTF-8"?>
<GetPaymentAuthorizationReply xmlns="http://api.gsicommerce.com/schema/checkout/1.0"
    xmlns:payment="http://schema.gsicommerce.com/payments/types/1.0/">
    <PaymentContext>
        <OrderId>123456789</OrderId>
        <TenderType>AH</TenderType>
        <PaymentAccountUniqueId isToken="true">ACHBANKTRANSFER</PaymentAccountUniqueId>
    </PaymentContext>
    <ResponseCode>DECLINED</ResponseCode>
    <ExtendedResponseCodes>
        <ResponseCodeDescription>Insufficient balance</ResponseCodeDescription>
        <ReasonCode>NSF</ReasonCode>
    </ExtendedResponseCodes>
    <AmountAuthorized currencyCode="USD">0</AmountAuthorized>
</GetPaymentAuthorizationReply>

Declined Payment Authorization Status Response - With Risk/Suspected Fraud Extended Response

Copy
<?xml version="1.0" encoding="UTF-8"?>
<GetPaymentAuthorizationReply xmlns="http://api.gsicommerce.com/schema/checkout/1.0"
    xmlns:payment="http://schema.gsicommerce.com/payments/types/1.0/">
    <PaymentContext>
        <OrderId>123456789</OrderId>
        <TenderType>AH</TenderType>
        <PaymentAccountUniqueId isToken="true">ACHBANKTRANSFER</PaymentAccountUniqueId>
    </PaymentContext>
    <ResponseCode>DECLINED</ResponseCode>
    <ExtendedResponseCodes>
        <ResponseCodeDescription>Risk/Suspected fraud</ResponseCodeDescription>
        <ReasonCode>RISK_AND_FRAUD</ReasonCode>
    </ExtendedResponseCodes>
    <AmountAuthorized currencyCode="USD">0</AmountAuthorized>
</GetPaymentAuthorizationReply>

Declined Payment Authorization Status Response - With Other ExtendedResponse

Copy
<?xml version="1.0" encoding="UTF-8"?>
<GetPaymentAuthorizationReply xmlns="http://api.gsicommerce.com/schema/checkout/1.0"
    xmlns:payment="http://schema.gsicommerce.com/payments/types/1.0/">
    <PaymentContext>
        <OrderId>123456789</OrderId>
        <TenderType>AH</TenderType>
        <PaymentAccountUniqueId isToken="true">ACHBANKTRANSFER</PaymentAccountUniqueId>
    </PaymentContext>
    <ResponseCode>DECLINED</ResponseCode>
    <ExtendedResponseCodes>
        <ResponseCodeDescription>Other</ResponseCodeDescription>
        <ReasonCode>OTHER</ReasonCode>
    </ExtendedResponseCodes>
    <AmountAuthorized currencyCode="USD">0</AmountAuthorized>
</GetPaymentAuthorizationReply>

Error Payment Authorization Status Response

Copy
<?xml version="1.0" encoding="UTF-8"?>
<GetPaymentAuthorizationReply xmlns="http://api.gsicommerce.com/schema/checkout/1.0"
   xmlns:payment="http://schema.gsicommerce.com/payments/types/1.0/">
   <PaymentContext>
        <OrderId>123456789</OrderId>
        <TenderType>AH</TenderType>
        <PaymentAccountUniqueId isToken="true">ACHBANKTRANSFER</PaymentAccountUniqueId>
   </PaymentContext>
   <ResponseCode>ERROR</ResponseCode>
   <AmountAuthorized currencyCode="USD">0</AmountAuthorized>
</GetPaymentAuthorizationReply>

Fault Response

Copy
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Fault xmlns="http://api.gsicommerce.com/schema/checkout/1.0">
    <CreateTimestamp>2023-12-20T13:30:03.891Z</CreateTimestamp>
    <Code>NoMatchingPaymentIdException</Code>
    <Description>There are no successful initialize payment authorization requests matching id 26qmux000</Description>
</Fault>

 

Timeout Payment Authorization Status Response

In case of timeout response, the webstore should retry the Get Payment Authorization Request with the same orderId and a new request ID.

Copy
<?xml version="1.0" encoding="UTF-8"?>
<GetPaymentAuthorizationReply xmlns="http://api.gsicommerce.com/schema/checkout/1.0"
   xmlns:payment="http://schema.gsicommerce.com/payments/types/1.0/">
   <PaymentContext>
        <OrderId>123456789</OrderId>
        <TenderType>AH</TenderType>
        <PaymentAccountUniqueId isToken="true">ACHBANKTRANSFER</PaymentAccountUniqueId>
   </PaymentContext>
   <ResponseCode>TIMEOUT</ResponseCode>
   <AmountAuthorized currencyCode="USD">0</AmountAuthorized>
</GetPaymentAuthorizationReply>

In case of timeout in Radial or webstore

If there is no response from Radial, or response timed out between webstore and Radial, or the webstore couldn't get a response from Radial for any reason, the webstore should retry the Get Payment Authorization request with the same orderId and the same request ID

Response Elements

Element

Optional/Required

Description

Type

Restriction

/GetPaymentAuthorizationReply/PaymentContext

Required

Unique identifier of the payment transaction for the order.

ComplexType

/GetPaymentAuthorizationReply/PaymentContext/OrderId

Required

Unique identifier of the order from the GetPaymentAuthorizationRequest

String

Min 1 char
Max 20 characters

/GetPaymentAuthorizationReply/
PaymentContext/TenderType

Required

Identifies the tender type. AH is the tender type for Link Money.

String

Min 2 char
Max 4 characters

/GetPaymentAuthorizationReply/
PaymentContext/PaymentAccountUniqueId

Required

ACHBANKTRANSFER

String

Max 22 characters

/GetPaymentAuthorizationReply/
ResponseCode

Required

Status code describing the current state of the authorization.

Enum

Can be any of the below

APPROVED
PENDING
DECLINED
ERROR
TIMEOUT

/GetPaymentAuthorizationReply/
ExtendedResponseCodes

No

Represents extended response codes.

ComplexType

/ExtendedResponseCodes/
ResponseCodeDescription

No

Description of the extended response code.

Enum

Can be any of the below

Insufficient balance
Risk/Suspected fraud
Other

/ExtendedResponseCodes/
ReasonCode

No

Reason code of the extended response code.

Enum

Can be any of the below

NSF
RISK_AND_FRAUD
OTHER

/GetPaymentAuthorizationReply/
AmountAuthorized

Required

The amount that has been authorized.

Decimal

Min 0.00
Max 9 digits
Fraction 2 digits
Includes currencyCode attribute that contains the 3-letter currency code of the money amount.