Bank Transfer Request

Overview

A bank transfer is a transaction that is authorized and settled in a single step. To take an order, a bank transfer request is sent, and on a successful transaction a redirect URL will be returned in the reply and the process of settling the transaction will begin. The status of the settlement process can be checked by doing a BankTransferStatus call.

Based on the response code, the following actions should be taken.

  • Success: The transaction was successful and the processing status can be checked by doing a BankTransferStatusCheckoutRequest
  • Success: The transaction was successful and the processing status can be checked by doing a BankTransferStatusCheckoutRequest
  • Success: The transaction was successful and the processing status can be checked by doing a BankTransferStatusCheckoutRequest

URI Summary

Action URI Template URI Example Non-URI Request Response
POST /v[M.m]/stores/[StoreID]/
payments/banktransfer/auth/
[TenderCode].[format]
/v1.0/stores/store123/
payments/banktransfer/auth/SF.xml
XML 200 + XML response

Tender Codes

In the URI, use the tender code that matches the bank transfer provider.

  • SF: SOFORT
  • ID: iDEAL

Request Example

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<BankTransferCheckoutRequest xmlns="http://api.gsicommerce.com/schema/checkout/1.0">
   <PaymentContext>
      <OrderId>9876543</OrderId>
   </PaymentContext>
   <Amount currencyCode="EUR">10.00</Amount>
   <FirstName>Bob</FirstName>
   <LastName>Smith</LastName>
   <Address>
      <Line1>1234 Fake Street</Line1>
      <City>Any City</City>
      <CountryCode>DE/CountryCode>
      <PostalCode>19406</PostalCode>
   </Address>
   <ReturnUrl>http://example.test.return.url</ReturnUrl>
   <Language>en</Language>
</BankTransferCheckoutRequest>

Request 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
Amount Yes Currency amount being authorized on the credit card String

Positive decimal, up to two decimal places (for example, 4.75)

Amount/
@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.
FirstName No First name of the customer String Max 64 characters
LastName No Last name of the customer String Max 64 characters
Address No Billing address of the customer ComplexType
Address/
Line1
No Line# components of the billing street address and, if necessary, suite and building identifiers for the physical address. Line1 is required. Other Line# components are optional. String Max 70 characters
Address/
Line2
No String Max 70 characters
Address
Line3
No String Max 70 characters
Address
Line4
No String Max70 characters
Address/
City
No Name of the city String Max 40 characters
Address/
MainDivision
No Two- or three-digit postal abbreviation for the state or province. The ISO 3166-2 code is recommended, but not required. See http://en.wikipedia.org/wiki/ISO_3166-2. String Max 30 characters
Address/
CountryCode
No

Two digit ISO 3166 alpha 2 code country code. See: http://en.wikipedia.org/wiki/ISO_3166-1_alpha-2.

String 2 characters
Address/
PostalCode
No String of letters and/or numbers that specifies the delivery area more closely than the city alone (for example, US ZIP code) String Max 30 characters
ReturnUrl No The url the store wants the customer to return to after the transaction with the bank. String Max 512 Characters
Language No ISO-639 two-letter language code String 2

Response Example - Success

<?xml version="1.0" encoding="UTF-8"?>
<BankTransferCheckoutReply xmlns="http://api.gsicommerce.com/schema/checkout/1.0">
   <PaymentContext>
      <OrderId>123456</OrderId>
   </PaymentContext>
   <ResponseCode>Success</ResponseCode>
   <RedirectUrl>https://example.test.redirect.url</RedirectUrl>
</BankTransferCheckoutReply>

Response Example - Failure

<?xml version="1.0" encoding="UTF-8"?>
<BankTransferCheckoutReply xmlns="http://api.gsicommerce.com/schema/checkout/1.0">
   <PaymentContext>
      <OrderId>123456</OrderId>
   </PaymentContext>
   <ResponseCode>Fail</ResponseCode>
</BankTransferCheckoutReply>

Response Example - Timeout

<?xml version="1.0" encoding="UTF-8"?>
<BankTransferCheckoutReply xmlns="http://api.gsicommerce.com/schema/checkout/1.0">
   <PaymentContext>
      <OrderId>123456</OrderId>
   </PaymentContext>
   <ResponseCode>Timeout</ResponseCode>
</BankTransferCheckoutReply>

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
ResponseCode Yes

Response code of the bank transfer request. Includes success, failure, and timeout.

String Max 1000 characters.
RedirectUrl No The url the webstore should be redirecting the customer to to finish the transaction. String Unbounded