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 |