Fabrick Pay by Bank is an Account-to-Account (A2A) payment method based on standard or instant SEPA credit transfers, compliant with PSD2 regulations and integrated into the Fabrick Payment Orchestra gateway.
It enables merchants to receive funds directly into their bank account – either with Banca Sella or other institutions – through a smooth and secure user experience, without requiring the customer to manually log into their online banking.
A2A Payment method
Fabrick Pay by Bank allows initiating a payment via SEPA credit transfer directly from the payer’s bank account, in either standard or instant mode, depending on the availability at the user’s bank.
PSD2 and Open Banking compliance
The method leverages open banking for payment authentication and authorization, in compliance with PSD2 regulations, through a direct connection with the payer’s bank.
Standard or instant SEPA Credit Transfer
The merchant receives payment via SEPA credit transfer. The choice between standard or instant mode depends on the user’s selection and their bank’s support. The user experience and process remain identical regardless of the mode.
Non reversible payment
Once confirmed, the transfer cannot be reversed by the payer. This significantly reduces the risk of disputes and chargebacks for the merchant.
Guided, user-friendly interface
The payment flow clearly guides the user step-by-step, including on mobile devices, leveraging the bank authentication they are already familiar with.
Lower costs compared to cards and wallets
This method offers lower operating costs compared to traditional payment networks, making it an advantageous choice for merchants – especially for medium-to-high-value transactions.
Automatic reconciliation (for Banca Sella accounts only)
The Payment Orchestra platform enables automatic reconciliation between received transfers and generated orders, thanks to payment-level information data (e.g., CRO, buyer’s IBAN).
Asynchronous outcome notification
The payment result (executed or failed) is notified via webhook, even in the case of a standard transfer, once confirmation is received from the receiving bank.
Buyer: authorizes the transfer via their online banking
Merchant: receives the payment directly into their bank account
Fabrick Payment Orchestra: manages the orchestration of the payment flow and monitors the transaction status
Fabrick (Payment Initiation Service Provider – PISP): a regulated entity that securely initiates the payment request in compliance with PSD2 regulations, acting as a bridge between Fabrick Payment Orchestra and the buyer’s bank
Buyer’s Bank: executes the transfer following the initiation request sent by Fabrick.
Signed Ecommerce Agreement with Fabrick.
Recommended: a Banca Sella bank account to benefit from automatic reconciliation thanks to guaranteed crediting.
It is possible to use Fabrick Pay by Bank with an account held at a bank other than Banca Sella, but since no updates on the transfer crediting will be received, manual reconciliation will be required.
The merchant activates the payment method via Fabrick Payment Orchestra
At checkout, the buyer selects “Fabrick Pay by Bank” as the payment method
The payment flow via bank transfer begins:
The user selects their bank
If applicable, they choose the type of transfer (standard or instant)
Authentication is performed via Strong Customer Authentication (SCA)
Upon completion, the buyer is shown the payment result
The payment status is updated in real time on the platform.
The integration of Fabrick Pay by Bank on Fabrick Payment Orchestra includes a shop-level configuration that determines which types of transfers are enabled for that merchant. The available options are:
Standard transfer only
Instant transfer only
Both modes
This configuration determines which payment options will be offered to the buyer during the checkout:
In case of a standard transfer-only configuration, instant transfers will never be offered
In case of an instant transfer-only configuration, standard transfer will never be offered
If both transfer types are configured, both options will be presented to the buyer, who can choose based on the modes supported by their bank
In the payment creation request (Encrypt for SOAP, Create for REST), it is possible to include the optional “Method” field, that allows to:
Specify a default preference for the payment mode
Define the pre-selected mode presented to the buyer in the payment flow UI
Avoid forcing the final choice: if both modes are available, the user can still change the selection from the suggested option
Possible values:
sepa-credit-transfers for standard transfer
instant-sepa-credit-transfers for instant transfer
Standard & Instant transfer
sepa-credit-transfers / not set
Both options offered, pre-selected to standard transfer
Standard & Instant transfer
instant-sepa-credit-transfers / not set
Both options offered, pre-selected to instant transfer
Standard transfer only
sepa-credit-transfers / not set
Forced selection to standard transfer, buyer cannot choose other options
Instant transfer only
instant-sepa-credit-transfers / not set
Forced selection to instant transfer, buyer cannot choose other options
Standard transfer only
instant-sepa-credit-transfers
Error: “Method” value inconsistent with shop configuration
Instant transfer only
sepa-credit-transfers
Error: “Method” value inconsistent with shop configuration
The bank transfer description is always generated by Fabrick Payment Orchestra in the following format:
YYMMDDn [custom value or shopTransactionId bankId]
Static Prefix: generated by Orchestra with date and unique number (YYMMDDn, e.g., 2504171), where:
YY = Last two digits of the year (e.g., 25 for 2025)
MM = Month in two-digit numeric format (e.g., 04 for April)
DD = Day in two-digit numeric format (e.g., 17 for the 17th day)
n = Incremental daily counter (e.g., 1, 2, 3...)
Variable part:
If the merchant provides a custom value via API in payment requests, it is added to the static prefix. The value must be alphanumeric, with a maximum length of 120 characters
If the merchant does not provide a custom value, the static prefix is added with the Shop Transaction ID and Bank ID
Example of bank transfer description:
If a custom value is provided by the merchant: 2504171 test, where:
2504171 - static prefix
test - custom value provided by the merchant in the payment request
If no custom value is provided by the merchant: 2504171 123456423 123, where:
2504171 - static prefix
123456423 - Shop Transaction ID
123 - Bank ID
In the variable part of the bank transfer description (whether for the custom value or the Shop Transaction ID), no special characters must be used: the use of non-alphanumeric characters may cause errors in generating the description or issues within the receiving bank systems.
AUT
XX
Pending
MOV
OK
Captured
AUT
KO
Failed
On accounts other that Banca Sella’s, Captured ≠ Credited: manual verification is required for reconciliation.
Note: Some statuses (AUTHORIZATION_EXPIRED or AUTHORIZATION_REFUSED) are not visible in the Fabrick Dashboard in order to simplify operational management.
Banca Sella
Automatic
Yes
Other bank
Manual
No
Merchants with a Banca Sella Account
Fabrick has direct visibility into the merchant’s account.
The credit is detected automatically and linked to the transaction.
The “Captured” status is assigned only upon the verification of the actual credit of the transfer to the merchant’s account.
Merchants with an account at another institution
Fabrick has no access to the merchant’s account, so reconciliation must be done manually.
The “Captured” status is assigned when the transfer has been successfully executed by the payer’s bank, but it does not imply verification of the actual credit.
Every Fabrick Pay by Bank payment is visible on the Dashboard with the following data:
Authorisation date
Date when the buyer authorized the payment
Amount
Amount of the executed payment
Currency
Currency used (EUR)
Status
Current payment status (Captured, Waiting, Failed)
Method
Always “Alternative Payments” for Fabrick Pay by Bank
Scheme
Fabrick Pay by Bank
Channel
Always “Online” for Fabrick Pay by Bank
Type of service
Always “Ecommerce” for Fabrick Pay by Bank
Shop login
Identifier of the Ecommerce service (merchant account)
Shop ID
Fabrick technical identifier for the Ecommerce service
Payment ID
Unique transaction identifier on Fabrick’s side
Shop transaction ID
Transaction identifier generated by the merchant
Bank ID
Identifier code generated by GestPay
Authorisation code
Identifier code generated by GestPay at the payment authorization stage
Buyer’s IBAN
IBAN from which the buyer made the payment
Payment CRO
Bank operation reference code. Available only for merchants with a Banca Sella account
Buyer’s name / email
Buyer’s name and email address, if provided at the time of payment
No external registration required
Security through bank authentication (SCA)
No frauds
Traceability and irrevocability of payments
Lower costs compared to cards and wallets
No frauds
Non reversible payments, PSD2 compliant
Automatic reconciliation (Banca Sella only)
Modern, integrated payment experience
No automatic reconciliation for accounts of Banks other than Banca Sella’s
Captured ≠ actual credit on external accounts
To test the Fabrick Pay by Bank solution, a test environment is required. If you don’t already have one, it can be created by following the instructions available in the following page: Requesting a test account | Fabrick.
Once registration is completed, a Shop Login will be generated in the format:
GESPAYXXXXX.
Once obtained the Shop Login for the test environment, it is necessary to request the activation of Fabrick Pay by Bank method.
The request can be sent:
To your Fabrick sales contact, or
Through the dedicated Support area, by selecting:
Product: “Fabrick Payment Orchestra”
Item: “Other” from the drop-down menu.
It is essential to include the Shop Login of the test environment in the request.
Following the request, you will receive an email containing the onboarding link.
By following the link, it will be possible to complete the account activation by entering the required information.
Once the test environment is active, it is possible to start simulating payments using one of the two available modes:
SOAP API
REST API
The domains and endpoints to be used are described in the dedicated First minimal payment page.
Regardless of the chosen method (SOAP or REST), it is essential to correctly include certain mandatory fields in the request payload.
Below are examples of the calls to be made depending on the selected method.
Encrypt
1<soapenv:Envelope xmlns:soapenv="<http://schemas.xmlsoap.org/soap/envelope/>" xmlns:ecom="<https://ecomm.sella.it/>">
2 <soapenv:Header/>
3 <soapenv:Body>
4 <ecom:Encrypt>
5 <ecom:shopLogin>{{shopLogin}}</ecom:shopLogin>
6 <ecom:apikey>{{Apikey}}</ecom:apikey>
7 <ecom:uicCode>242</ecom:uicCode>
8 <ecom:amount>0.03</ecom:amount>
9 <ecom:shopTransactionId>{{shopTransactionId}}</ecom:shopTransactionId>
10 <ecom:paymentTypes>
11 <ecom:paymentType>FABRICKPASS</ecom:paymentType>
12 </ecom:paymentTypes>
13 <ecom:OrderDetails>
14 <ecom:BankTransferDescription>{{BankTransferDescription}}</ecom:BankTransferDescription>
15 <ecom:ProviderPaymentDetails>
16 <ecom:Method>instant-sepa-credit-transfers</ecom:Method>
17 </ecom:ProviderPaymentDetails>
18 <ecom:CustomerDetail>
19 <ecom:FirstName>Mario</ecom:FirstName>
20 <ecom:Lastname>Rossi</ecom:Lastname>
21 <ecom:PrimaryEmail>mario.rossi@fabrick.com</ecom:PrimaryEmail>
22 </ecom:CustomerDetail>
23 </ecom:OrderDetails>
24 </ecom:Encrypt>
25 </soapenv:Body>
26</soapenv:Envelope>
Decrypt
1<soapenv:Envelope xmlns:soapenv="<http://schemas.xmlsoap.org/soap/envelope/>" xmlns:ecom="<https://ecomm.sella.it/>">
2 <soapenv:Header/>
3 <soapenv:Body>
4 <ecom:Decrypt>
5 <ecom:shopLogin>{{shopLogin}}</ecom:shopLogin>
6 <ecom:CryptedString>{{CryptedString}}</ecom:CryptedString>
7 <ecom:apikey>{{Apikey}}</ecom:apikey>
8 </ecom:Decrypt>
9 </soapenv:Body>
10</soapenv:Envelope>
S2S - callReadTrxS2S
1<soapenv:Envelope xmlns:soapenv="<http://schemas.xmlsoap.org/soap/envelope/>" xmlns:ecom="<https://ecomms2s.sella.it/>">
2 <soapenv:Header/>
3 <soapenv:Body>
4 <ecom:callReadTrxS2S>
5 <ecom:shopLogin>{{shopLogin}}</ecom:shopLogin>
6 <ecom:shopTransactionId>{{shopTransactionId}}</ecom:shopTransactionId>
7 <ecom:bankTransactionId>{{bankTransactionID}}</ecom:bankTransactionId>
8 <ecom:apikey>{{Apikey}}</ecom:apikey>
9 <ecom:paymentDeviceDetails>
10 <ecom:TerminalId></ecom:TerminalId>
11 </ecom:paymentDeviceDetails>
12 </ecom:callReadTrxS2S>
13 </soapenv:Body>
14</soapenv:Envelope>
Create
1{
2 "shopLogin":"{{shopLogin}}",
3 "amount":"0.01",
4 "currency":"EUR",
5 "shopTransactionID":"{{ShopTransactionID}}",
6 "buyerEmail":"mario.rossi@fabrick.com",
7 "responseURLs": {
8 "buyerOK": "https://{{ThankYouPage_Url}}",
9 "buyerKO": "https://{{ThankYouPage_Url}}",
10 "serverNotificationURL": ""
11 },
12 "paymentType":["FABRICKPASS"],
13 "paymentChannel": {
14 "channelType":["LINK"]
15 },
16 "OrderDetails": {
17 "BankTransferDescription": "{{BankTransferDescription}}",
18 "ProviderPaymentDetails": {
19 "Method": ""
20 },
21 "CustomerDetail": {
22 "FirstName": "Mario",
23 "Lastname": "Rossi",
24 "PrimaryEmail": "mario.rossi@fabrick.com"
25 }
26 }
27}
Detail
1{
2 "shopLogin" : "{{shopLogin}}",
3 "bankTransactionID": "",
4 "shopTransactionID" : "",
5 "paymentID":"{{paymentID}}",
6 "terminalID": ""
7}
The shopTransactionID field is a free-form string that uniquely identifies the transaction.
It can be filled according to the merchant’s needs, in compliance with the constraints outlined in the Axerve technical documentation (e.g., disallowed characters).
For more details, refer to the dedicated section.
For more details, refer to the dedicated section.
Providing complete data in CustomerDetail:
CustomerDetail.FirstName
CustomerDetail.LastName
CustomerDetail.PrimaryEmail
allows the buyer to skip the step of manually entering their personal details during the Fabrick Pay by Bank payment flow. This optimization streamlines the user experience and reduces friction during checkout.
The buyerEmail field represents the email address of the user making the payment.
The PrimaryEmail field represents the account holder and can be left empty in the API request (it will be requested on the payment page if not provided).
The languageId field allows to define the language of the email sent by the Fabrick Payment Orchestra gateway to the buyer.
The language of Fabrick Pay by Bank page automatically adapts to the user’s browser language.
Fabrick Pay by Bank emails are multilingual: the first language corresponds to the merchant’s country, the second is English (e.g., Italian/English).
The transaction outcome can be checked via:
API call getPaymentDetails
Test environment dashboard ➤ Set up the merchant profile | Fabrick
For merchants with Banca Sella accounts, the “Captured” status corresponds to the actual credit.
For merchants with accounts at other banks, the “Captured” status only indicates that execution has been confirmed by the buyer’s bank.
This section describes how to perform controlled tests for payments made via Fabrick Pay by Bank integrated with Fabrick Payment Orchestra, simulating various scenarios and observing the expected outcomes.
A structured table provides the parameters and configurations needed to simulate different payment scenarios, ensuring accurate analysis of the system’s responses.
Tests are divided into two main categories:
Tests for merchants with a Banca Sella account: the full payment cycle can be verified up to the credit (including reconciliation).
Tests for merchants with accounts at other banks: the test ends with the confirmation of execution from the buyer’s bank, but without verification of the actual credit.
For each test, you must correctly set certain parameters in the request:
bankId
Identifier of the bank to be used in the test
bankName
Descriptive name of the selected bank
product
Type of transfer: sepa-credit-transfers or instant-sepa-credit-transfers
amount
Transfer amount (e.g., 1.00)
status
Expected status at the end of the test (OK, KO, etc.)
threshold
Waiting time (in seconds) before the status changes
If the transaction is not completed within 5 minutes, the system will return a KO outcome due to timeout.
Goal: Verify an instant transfer executed successfully to a Banca Sella bank account.
Steps:
Select the relevant test case from the table (see technical documentation).
Use the banking credentials provided for the test.
Set the amount field to 1.00.
After approximately 45 seconds, the payment will be marked as successfully executed (OK).
Banca Sella
instant-sepa-credit-transfers
1
XX → OK
45
Banca Sella
sepa-credit-transfers
1
XX → OK
120
Banca Sella
sepa-credit-transfers
10
XX
0
Banca Popolare Di Sondrio
instant-sepa-credit-transfers
1
XX → OK
45
Banca Popolare Di Sondrio
instant-sepa-credit-transfers
10
XX
0
Banca Popolare Di Sondrio
sepa-credit-transfers
10
XX
0
Banca Popolare Di Sondrio
sepa-credit-transfers
20
XX → KO
120
Intesa Sanpaolo
instant-sepa-credit-transfers
10
KO
0
Intesa Sanpaolo
sepa-credit-transfers
KO
XX
0
Banca Sella
instant-sepa-credit-transfers
10
OK
0
Banca Sella
sepa-credit-transfers
10
OK
0
Banca Popolare Di Sondrio
instant-sepa-credit-transfers
10
OK
0
Banca Popolare Di Sondrio
instant-sepa-credit-transfers
10
XX → OK
120
Banca Popolare Di Sondrio
sepa-credit-transfers
20
XX → OK
120
Intesa Sanpaolo
instant-sepa-credit-transfers
10
KO
0
Intesa Sanpaolo
sepa-credit-transfers
10
KO
0
Banca Sella
557293
1234
SMS (generato automaticamente)
Banca Popolare di Sondrio
519AC3645
12345
123456
Intesa Sanpaolo (Retail Banking)
HYND34G7
54321
Qualsiasi 6 cifre
Yes, the merchant can request Fabrick to configure only one of the two modes (standard SEPA credit transfer or instant SEPA credit transfer). In this case, the buyer will not see any choice option, and the payment will be executed using the configured transfer type only.
Yes, but only if both modes (standard and instant) are enabled for the store.
In this scenario, by setting the “Method” field in the request (sepa-credit-transfers or instant-sepa-credit-transfers), the merchant can pre-select the transfer type suggested to the buyer.
However, the user will still be able to manually change it on the payment screen.
Only for Banca Sella accounts, as Fabrick can directly read the credit on the merchant’s account.
For merchants without a Banca Sella account, the “Captured” status indicates that the payment has been executed, but manual reconciliation by the merchant is required.
No, only simple alphanumeric characters should be used.
Entering special characters may compromise the correct processing of the transfer.