Bank Transfer Status Request

Overview

A bank transfer status request is used to check on the status of a previous Bank Transfer Request to tell whether the previous request has been fully paid or not.

The status request can be made either synchronously or asynchronously. Radial recommends that all webstores make this request synchronously, and that order management systems work with Radial to figure out which methodology fits best with their model.

If this transaction receives any of the failure responses (REJECTED, ERROR, or TIMEOUT without retries), the standard process is to secure a new tender before shipping.

The following are the reply statuses and followup actions for each.

  • PENDING: Transaction is still pending. The order can be processed at this point, if desired. Further requests can be made to check for a non-pending status.
  • REJECTED: Transaction was rejected. The order should not be processed. A new tender can be sent to attempt the transaction. The webstore can present the customer with an option to use another tender.
  • CONFIRMED_WITH_SECURITY_IND: Bank has confirmed payment, with a security indicator of 1. Most merchants choose to process the order; however, if a business decision is made to not ship orders with this status, a refund transaction (Payment Settlement) must be initiated.
  • PAID: The transaction is complete. The order can be processed.
  • TIMEOUT: Radial did not receive a valid response from the payment gateway. Radial recommends having a retry that makes an attempt once every configurable unit of time up to a configurable amount of attempts.
  • ERROR: There was an error with the transaction. The order should not be processed, and the webstore can present the customer with an option to use another tender.

Note: For asynchronous requests, if Radial does not receive a valid response from the payment gateway, a configured number of retries are made to the payment gateway. The response is sent back when a final status is available or after exhausting the number of retries.

URI Summary

Action URI Template URI Example Non-URI Request Response
(Asynchronous) POST /v[M.m]/stores/[StoreID]/
payments/banktransfer/status/async/
[TenderType]
/v1.0/stores/store123/
payments/banktransfer/status/async/CC
XML 200 + XML response
(Synchronous) POST /v[M.m]/stores/[StoreID]/
payments/banktransfer/status/sync/
[TenderType]
/v1.0/stores/store123/
payments/banktransfer/status/sync/CC
XML 200 + XML response

Request Example

<?xml version="1.0" encoding="UTF-8"?>
<BankTransferStatusCheckoutRequest requestId="000001" xmlns="http://api.gsicommerce.com/schema/checkout/1.0">
    <PaymentContext>
        <OrderId>string</OrderId>
    </PaymentContext>
    <CurrencyCode>EUR</CurrencyCode>
</BankTransferStatusCheckoutRequest>

Request Elements

Element Required Description Type Restriction
@requestId Yes RequestId is used to uniquely identify a request, including as part of idempotent duplicate request processing. The value must be unique. It is recommended to use a variant 4 UUID for the request ID. The same request ID should only be reused if a read timeout occurs when attempting to receive a response from the payment service, or the payment service responds with a fault response. In all other cases a new request ID must be sent for retried requests, including responses such as Fail, Timeout or PaymentProcessorTimeout. String Max 40 characters
PaymentContext Yes Unique identifier of the payment transaction for the order ComplexType  
PaymentContext/
OrderId
Yes Unique identifier of the order. The client must ensure uniqueness of OrderIds across different orders that the client initiates.OrderID need to remain the same across request and status with this service. OrderID need to remain the same across request and status. String Max 20 characters
CurrencyCode Yes Type of currency used for the order String 3-character ISO 4217 code (for example, USD, CAD, EUR). See http://en.wikipedia.org/
wiki/ISO_4217.

Response Example

<?xml version="1.0" encoding="UTF-8"?>
<BankTransferStatusCheckoutReply xmlns="http://api.gsicommerce.com/schema/checkout/1.0">
   <PaymentContext>
      <OrderId>string</OrderId>
   </PaymentContext>
   <StoreId>TSAUS</StoreId>
   <Status>PAID</Status>
</BankTransferStatusCheckoutReply>

Response Elements

Element Required Description Type Restriction
PaymentContext Yes Unique identifier of the payment transaction for the order ComplexType  
PaymentContext/
OrderId
Yes Unique identifier of the order. The client must ensure uniqueness of OrderIds across different orders that the client initiates.OrderID need to remain the same across request and status with this service. OrderID need to remain the same across request and status. String Max 20 characters
StoreId Yes

Contains the store identifier passed by the client in request URI

String Max 100 characters.
Status Yes The status of the bank transfer. enumeration:
  • PENDING
  • REJECTED
  • CONFIRMED_WITH_SECURITY_IND
  • PAID
  • TIMEOUT
  • ERROR