Bank Transfer Status
Overview
The order management system should submit a BankTransferStatusCheckoutRequest message to determine when to ship goods. The asynchronous version of this operation returns a BankTransferStatusCheckoutReply message only when the bank transfer transaction reaches an actionable state (for example, PAID or REJECTED).
For some bank transfer tenders, the CONFIRMED_WITH_SECURITY_IND status might be returned before the PAID status. It is safe to ship once the transaction reaches CONFIRMED_WITH_SECURITY_IND, if there is a desire to ship as soon as possible.
An alternate response format, BankTransferStatusCheckoutReplyList, groups several events together in a single message, and is intended for clients using the Webhooks Implementation for Asynchronous Messages. If you are using the Webhooks implemention, see Bank Transfer Status List Event, below.
URI Summary
Action | URI Template | URI Example | Non-URI Request | Response |
---|---|---|---|---|
POST | /v[M.m]/stores/[StoreID]/ payments/banktransfer/ status/async/[TenderType].[format] |
/v1.0/stores/ABCXYZ/ payments/banktransfer/ status/async/SF.xml |
XML | 200 + XML response |
Request Example
The request is a BankTransferStatusCheckoutRequest message.
<?xml version="1.0" encoding="UTF-8"?>
<BankTransferStatusCheckoutRequest xmlns="http://api.gsicommerce.com/schema/checkout/1.0">
<PaymentContext>
<OrderId>12345</OrderId>
</PaymentContext>
<CurrencyCode>EUR</CurrencyCode>
</BankTransferStatusCheckoutRequest>
Request Elements
Element | Required | Description | Type | Restriction |
---|---|---|---|---|
PaymentContext | Yes | Sequence of OrderId | ComplexType | |
PaymentContext/ OrderId |
Yes | Order ID | 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. |
HTTP Response
<?xml version="1.0" encoding="UTF-8"?>
<AckReply xmlns="http://api.gsicommerce.com/schema/checkout/1.0">
<Received/>
</AckReply>
Queue Format
q.Payments.BankTransfer.Status.<RABBIT_MQ_USERNAME>
Response Example
The response is a BankTransferStatusCheckoutReply message.
<?xml version="1.0" encoding="UTF-8"?>
<BankTransferStatusCheckoutReply xmlns="http://api.gsicommerce.com/schema/checkout/1.0">
<PaymentContext>
<OrderId>12345</OrderId>
</PaymentContext>
<StoreId>ABCXYZ</StoreId>
<Status>PAID</Status>
</BankTransferStatusCheckoutReply>
Response Elements
Element | Required | Description | Type | Restriction |
---|---|---|---|---|
PaymentContext | Yes | Sequence of OrderId | ComplexType | |
PaymentContext/ OrderId |
Yes | Order ID | String | Max 20 characters |
StoreId | Yes | Store identifier | String | Max 100 characters |
Status | Yes |
Status of the bank transfer transaction: PAID - Transaction was paid. It is safe to ship goods. PENDING - Transaction is pending. It is not safe to ship goods. (This status is not returned for asynchronous calls.) REJECTED - Transaction was rejected. Order should be canceled. CONFIRMED_WITH_SECURITY_IND - Transaction passed risk assessment but has not been paid. It is safe to ship goods. TIMEOUT - Status call timed out. (This status is not returned for asynchronous calls.) ERROR - An unrecoverable error occurred (for example, invalid order ID). |
String |
PAID PENDING REJECTED CONFIRMED_ WITH_SECURITY_IND TIMEOUT ERROR |
Bank Transfer Status List Event
The xml response (mentioned below) contains a list of BankTransferStatusCheckoutReply messages all clubbed under one parent element and is available only for clients using webhook. This message cannot be obtained from a queue in RabbitMQ and hence the queue format is not applicable for this message. If you want to sign up for these events please contact customer service.
However, individual BankTransferStatusCheckoutReply message continues to live on RabbitMQ server and can be accessed using the information provided above.
Response Example
The response is a list of BankTransferStatusCheckoutReply messages. Instead of returning single BankTransferStatusCheckoutReply message, a list/batch of messsages are getting returned
<?xml version="1.0" encoding="UTF-8"?>
<BankTransferStatusCheckoutReplyList xmlns="http://api.gsicommerce.com/schema/checkout/1.0">
<BankTransferStatusCheckoutReply>
<PaymentContext>
<OrderId>12345</OrderId>
</PaymentContext>
<StoreId>ABCXYZ</StoreId>
<Status>PAID</Status>
</BankTransferStatusCheckoutReply>
<BankTransferStatusCheckoutReply>
<PaymentContext>
<OrderId>100023</OrderId>
</PaymentContext>
<StoreId>ABC</StoreId>
<Status>PAID</Status>
</BankTransferStatusCheckoutReply>
</BankTransferStatusCheckoutReplyList>
Response Elements
Element | Required | Description | Type | Restriction |
---|---|---|---|---|
BankTransferStatusCheckoutReplyList | A wrapper/parent object for all the BankTransferStatusCheckoutReply elements | Sequence of BankTransferStatusCheckoutReply elements | ComplexType | |
BankTransferStatusCheckoutReply | A wrapper/parent object for all the sub-elements such as PaymentContext, StoreId, Status etc. | Sequence of PaymentContext, StoreId, Status | ComplexType | |
PaymentContext | Yes | Sequence of OrderId | ComplexType | |
PaymentContext/ OrderId |
Yes | Order ID | String | Max 20 characters |
StoreId | Yes | Store identifier | String | Max 100 characters |
Status | Yes |
Status of the bank transfer transaction: PAID - Transaction was paid. It is safe to ship goods. PENDING - Transaction is pending. It is not safe to ship goods. (This status is not returned for asynchronous calls.) REJECTED - Transaction was rejected. Order should be canceled. CONFIRMED_WITH_SECURITY_IND - Transaction passed risk assessment but has not been paid. It is safe to ship goods. TIMEOUT - Status call timed out. (This status is not returned for asynchronous calls.) ERROR - An unrecoverable error occurred (for example, invalid order ID). |
String |
PAID PENDING REJECTED CONFIRMED_ WITH_SECURITY_IND TIMEOUT ERROR |