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 this code sample.
<?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 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

Response Examples

Approved Payment Authorization Status Response

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

Copy this code sample.
<?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 this code sample.
<?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

Copy this code sample.
<?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>

Error Payment Authorization Status Response

Copy this code sample.
<?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 this code sample.
<?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 this code sample.
<?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/
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.