open menu
axerve docs
Payments/Alternative payments/Fabrick Pay by Bank

FabrickPass Fabrick Pay by Bank

WEB

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.

Main Features

  • 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.

Involved stakeholder

  • 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.

Prerequisites

  • 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.

How It Works

  1. The merchant activates the payment method via Fabrick Payment Orchestra

  2. At checkout, the buyer selects “Fabrick Pay by Bank” as the payment method

  3. 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)

  4. Upon completion, the buyer is shown the payment result

  5. The payment status is updated in real time on the platform.

Type of transfer (standard vs instant)

Shop-Level Configuration

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

“Method” field in the payment request

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

Possible scenarios

Shop Configuration
“Method” filed
Payment flow

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

Bank transfer description

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

warning

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.

Payment statuses

Fabrick Payment Orchestra status
Fabrick Payment Orchestra outcome
Fabrick Dashboard status
Description

AUT

XX

Pending

MOV

OK

Captured

AUT

KO

Failed

warning

On accounts other that Banca Sella’s, Captured ≠ Credited: manual verification is required for reconciliation.

default

Note: Some statuses (AUTHORIZATION_EXPIRED or AUTHORIZATION_REFUSED) are not visible in the Fabrick Dashboard in order to simplify operational management.

Reconciliation and credit visibility

Account Type
Reconciliation
“Captured” status = Credited?

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.

Reporting on Fabrick Dashboard

Every Fabrick Pay by Bank payment is visible on the Dashboard with the following data:

Field
Description

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

Benefits and Limitations

Benefits for the customer

  • No external registration required

  • Security through bank authentication (SCA)

  • No frauds

  • Traceability and irrevocability of payments

Benefits for the Merchant

  • Lower costs compared to cards and wallets

  • No frauds

  • Non reversible payments, PSD2 compliant

  • Automatic reconciliation (Banca Sella only)

  • Modern, integrated payment experience

 Limitations

  • No automatic reconciliation for accounts of Banks other than Banca Sella’s

  • Captured ≠ actual credit on external accounts

Technical integration

Activating the test environment

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 | Fabrickexternal link.

Once registration is completed, a Shop Login will be generated in the format:
GESPAYXXXXX.

Requesting activation of the payment method

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  Supportexternal link 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.

Onboarding and configuration

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.

Payment Initialization

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 paymentexternal link page.

Fields to include in the call for Fabrick Pay by Bank

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.

API SOAP

Encrypt

copy
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

copy
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

copy
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>

API REST

Create

copy
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

copy
1{
2  "shopLogin" : "{{shopLogin}}",
3  "bankTransactionID": "",
4  "shopTransactionID" : "",
5  "paymentID":"{{paymentID}}",
6  "terminalID": ""
7}

Additional Information for integration

Shop Transaction ID

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 documentationexternal link (e.g., disallowed characters).

Transfer Type and “Method” Field

For more details, refer to the dedicated section.

Setting the Bank transfer description

For more details, refer to the dedicated section.

CustomerDetail and Checkout Simplification

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.

default

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).

Localization

  • 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).

How to verify the payment outcome

The transaction outcome can be checked via:

default

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.

Testing Fabrick Pay by Bank payments on Fabrick Payment Orchestra

Introduction

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.

Parameters configuration

For each test, you must correctly set certain parameters in the request:

Parameter
Description

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.

Test example

Goal: Verify an instant transfer executed successfully to a Banca Sella bank account.

Steps:

  1. Select the relevant test case from the table (see technical documentation).

  2. Use the banking credentials provided for the test.

  3. Set the amount field to 1.00.

  4. After approximately 45 seconds, the payment will be marked as successfully executed (OK).

Test for merchants with a Banca Sella account

BankName
Product
Amount
Status
Threshold (s)

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

Test for Merchants with an account at another Bank

BankName
Product
Amount
Status
Threshold (s)

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

Sandbox Credentials –Test accounts

BankName
Usercode
Password
OTP Method

Banca Sella

557293

1234

SMS (generato automaticamente)

Banca Popolare di Sondrio

519AC3645

12345

123456

Intesa Sanpaolo (Retail Banking)

HYND34G7

54321

Qualsiasi 6 cifre

FAQ for Fabrick Pay by Bank

Is it possible to offer only instant transfers (or only standard transfers)?

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.

Can the customer choose the type of transfer (standard or instant)?

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.

Does the “Captured” status always guarantee the credit?

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.

Can I use special characters in the custom value of the payment description?

No, only simple alphanumeric characters should be used.
Entering special characters may compromise the correct processing of the transfer.

Previous
prevEPS
Next
Giropaynext