Skip to main content

Pay By Bank

Fabrick Pay by Bank is an A2A (Account-to-Account) payment method based on standard or instant SEPA credit transfers, compliant with PSD2 regulations and integrated into the Fabrick Payment Orchestra gateway.

It allows merchants to receive funds directly into their bank account — whether held at Banca Sella or another institution — through a smooth and secure user experience, without the customer needing to manually access their own internet banking.

Key Features

  • A2A Payment Method

Fabrick Pay by Bank enables payment initiation via SEPA credit transfer directly from the payer's bank account, in standard or instant mode, depending on 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, via direct connection with the payer's bank.

  • Standard or Instant SEPA Credit Transfer

The merchant receives payment via SEPA credit transfer. Whether the transfer is standard or instant depends on the user's selection and their bank's support. The user experience and flow are identical regardless of the mode.

  • Irrevocable Payment

Once confirmed, the transfer cannot be reversed by the payer. This drastically reduces the risk of disputes and chargebacks for the merchant.

  • Guided and User-Friendly Interface

The payment flow guides the user step-by-step in a clear manner, including on mobile, leveraging the banking authentication the user is already familiar with.

  • Lower Costs Compared to Cards and Wallets

The method has lower operational costs compared to traditional payment circuits, making it an advantageous choice for merchants, especially for medium-to-high value payments.

  • Automatic Reconciliation (Banca Sella accounts only)

The Fabrick Payment Orchestra platform enables automatic reconciliation between received transfers and generated orders, thanks to payment-level information (e.g. CRO, buyer's IBAN).

  • Asynchronous Payment Outcome Notification

The payment outcome (executed or failed) is notified via webhook, including for standard transfers, once confirmation is received from the receiving bank.

Stakeholders Involved

  • Buyer: authorizes the transfer through their own home 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 initiates the payment request in a secure and PSD2-compliant manner, acting as a bridge between Payment Orchestra and the buyer's bank

  • Buyer's bank: physically executes the transfer following the initiation request transmitted by Fabrick

Prerequisites

  • Signed Ecommerce contract with Fabrick.

  • It is recommended to activate the product with a Banca Sella account.

  • 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 actual credit of the transfer will be received, manual reconciliation will be required.

How It Works

  1. The merchant activates the payment method via Payment Orchestra

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

  3. The bank transfer payment flow begins:

    • The user selects their bank

    • If applicable, they select the type of transfer (standard or instant)

    • Authentication via Strong Customer Authentication (SCA) is performed

  4. At the end of the operation, the buyer sees the payment outcome

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

Transfer Type (Standard or Instant)

Store-level Configuration

The Fabrick Pay by Bank integration on Payment Orchestra includes a per-store configuration that determines the transfer types enabled for that merchant. The available options are:

  • standard transfer only

  • instant transfer only

  • both modes

This configuration determines which payment options will actually be offered to the buyer at checkout:

  • if only standard transfer is configured, instant transfer will never be offered

  • if only instant transfer is configured, standard transfer will never be offered

  • if both are configured, both options will be presented to the buyer, who can choose based on what their bank supports

"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, which defines the payment mode to be used.

  • if the "Method" field is populated, the specified mode is binding: the payment will be executed exclusively with that mode and the buyer will not be able to change it during payment.

  • if the "Method" field is not populated, the available payment mode depends on the store-level configuration.

  • if the store is configured with both modes (standard and instant), the buyer will be presented with the choice during payment.

  • if the store is configured with a single mode, the buyer will proceed directly with that mode without any choice.

Possible values:

  • sepa-credit-transfers for standard transfer

  • instant-sepa-credit-transfers for instant transfer

Possible Behaviors

Store configuration"Method" fieldPayment flow
Standard & instant transfernot setBoth options are presented to the buyer in the UI, with one pre-selected automatically. The buyer can change the selection
Standard & instant transfersepa-credit-transfersThe buyer proceeds directly with standard transfer, without any choice
Standard & instant transferinstant-sepa-credit-transfersThe buyer proceeds directly with instant transfer, without any choice
Standard transfer onlynot setThe buyer proceeds directly with standard transfer, without any choice
Standard transfer onlysepa-credit-transfersThe buyer proceeds directly with standard transfer, without any choice
Standard transfer onlyinstant-sepa-credit-transfersError: "Method" value not compatible with store configuration
Instant transfer onlynot setThe buyer proceeds directly with instant transfer, without any choice
Instant transfer onlyinstant-sepa-credit-transfersThe buyer proceeds directly with instant transfer, without any choice
Instant transfer onlysepa-credit-transfersError: Method value not compatible with store configuration

Transfer Description (Causale)

The bank transfer description is always populated by Fabrick Payment Orchestra in the following format:

YYMMDDn [custom value or shopTransactionId bankId]

Fixed prefix, generated by Fabrick Payment 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)

  • n = Incremental daily counter (e.g. 1, 2, 3...)

Variable part:

  • If the merchant provides a custom value via API in the payment requests, it is concatenated to the fixed prefix. The value must be alphanumeric; the maximum allowed length is 120 characters

  • If the merchant does not provide a custom value, the Shop Transaction ID and Bank ID are concatenated to the prefix instead

Example transfer description:

  • With a custom value provided by the merchant: 2504171 test, where:

    • 2504171 — fixed prefix

    • test — custom value provided by the merchant in the payment request

  • Without a custom value provided by the merchant: 2504171 123456423 123, where:

    • 2504171 — fixed prefix

    • 123456423 — Shop Transaction ID

    • 123 — Bank ID

warning

In the variable part of the transfer description (both for the custom value and the Shop Transaction ID), special characters must not be used: the use of non-alphanumeric characters can cause errors in generating the description or issues in the receiving banking systems.

Payment Statuses

#Fabrick Payment Orchestra StatusFabrick Payment Orchestra OutcomeFabrick Dashboard Status
1AUTXX (Pending)Pending
2MOVOKCaptured
3AUTKOFailed
  1. The payment has been initiated but not yet confirmed.

    • Standard transfer: the outcome depends on the buyer's bank processing times and the authorization time.

    • Instant transfer: the outcome arrives within seconds or minutes. For Banca Sella accounts, the update is immediate; for other banks it may take longer.

  2. The payment has been confirmed.

    • Banca Sella accounts: the amount has been credited to the merchant's account.

    • Other banks: the buyer's bank has confirmed the execution of the payment. Note: Fabrick has no visibility on the actual credit.

  3. The payment was not successful.

warning

For accounts not held at Banca Sella, Captured ≠ credited: manual verification is required for reconciliation.

info

Some statuses (AUTHORIZATION_EXPIRED or AUTHORIZATION_REFUSED) are not visible on the Fabrick Dashboard to simplify operational management.

Reconciliation and Credit Visibility

Account typeReconciliation"Captured" status = credit
Banca SellaAutomaticYes
Other bankManualNo

Merchants with a Banca Sella account

  • Fabrick has direct visibility on the merchant's account.

  • The credit is detected automatically and associated with the transaction.

  • The "Captured" status is assigned only after verification of the actual credit of the transfer to the merchant's account.

Merchants with accounts at other institutions

  • Fabrick does not have 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 does not imply verification of the actual credit.

Reporting on Fabrick Dashboard

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

  • Authorization date: Date on which the buyer authorized the payment
  • Amount: Amount of the executed payment
  • Currency: Currency used (EUR)
  • Status: Current payment status (Captured, Pending, Failed)
  • Method: Always "Alternative Payments" for Fabrick Pay by Bank
  • Circuit: Fabrick Pay by Bank
  • Channel: Always "Online" for Fabrick Pay by Bank
  • Service type: Always "Ecommerce" for Fabrick Pay by Bank
  • Shop login: Ecommerce service identifier (merchant account)
  • Store ID: Fabrick technical identifier for the Ecommerce service
  • Payment ID: Unique transaction identifier on the Fabrick side
  • Shop transaction ID: Transaction identifier generated by the merchant
  • Bank ID: Identifying code generated by GestPay
  • Authorization code: Identifying code generated by GestPay during payment authorization
  • Buyer IBAN: IBAN from which the buyer made the payment
  • CRO: Bank transaction reference code. Available only for merchants with a Banca Sella account
  • Buyer name / email: Buyer's name and email address, if provided at the time of payment

Advantages and Limitations

For the End Customer

  • No external registration required

  • Security via banking authentication (SCA)

  • Zero fraud

  • Payment traceability and irrevocability

For the Merchant

  • Lower costs compared to cards and wallets

  • Zero fraud

  • Irrevocable and PSD2-compliant payments

  • Automatic reconciliation (Banca Sella only)

  • Modern and integrated payment experience

Limitations

  • No automatic reconciliation for non-Banca Sella accounts

  • Captured ≠ actual credit for external accounts

Technical Integration

Test Environment Activation

To test the Fabrick Pay by Bank solution, a test environment is required.
If you do not already have one, you can create it by following the instructions available in the Request a test account | Fabrick section.

Upon completing registration, a Shop Login will be generated in the format:
GESPAYXXXXX.

Payment Method Activation Request

Once the Shop Login for the test environment has been obtained, you need to request activation of the Fabrick Pay by Bank payment method.

The request can be sent:

  • to your Fabrick commercial representative, or

  • via the dedicated Request support area.

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, you will be able to complete the account activation by entering the required information.

Payment Initialization

Once the test environment is activated, you can begin integration.

The domains and endpoints to use are described in the dedicated First Payment section.

Fields to Include in the Call for Fabrick Pay by Bank

It is essential to correctly include the mandatory fields in the request payload.

Below are examples of the calls to be made:

POST CreatePayment

{
"shopLogin":"{{shopLogin}}",
"amount":"0.01",
"currency":"EUR",
"shopTransactionID":"{{ShopTransactionID}}",
"buyerEmail":"mario.rossi@fabrick.com",
"responseURLs": {
"buyerOK": "https://{{ThankYouPage_Url}}",
"buyerKO": "https://{{ThankYouPage_Url}}",
"serverNotificationURL": ""
},
"paymentType":["FABRICKPASS"],
"paymentChannel": {
"channelType":["LINK"]
},
"OrderDetails": {
"BankTransferDescription": "{{BankTransferDescription}}",
"ProviderPaymentDetails": {
"Method": ""
},
"CustomerDetail": {
"FirstName": "Mario",
"Lastname": "Rossi",
"PrimaryEmail": "mario.rossi@fabrick.com"
}
}
}

GET getPaymentDetails

{
"shopLogin" : "{{shopLogin}}",
"bankTransactionID": "",
"shopTransactionID" : "",
"paymentID":"{{paymentID}}",
"terminalID": ""
}

Additional Information Useful for Integration

Shop Transaction ID

The shopTransactionID field is a free string that uniquely identifies the transaction.
It can be populated according to the merchant's needs, subject to the constraints described in the Axerve technical documentation (e.g. disallowed characters).

Transfer Type and "Method" Field

For more details, see the dedicated section.

Populating the Transfer Description

For more details, see the dedicated section.

CustomerDetail and Checkout Simplification

Fully populating the CustomerDetail fields:

  • CustomerDetail.FirstName

  • CustomerDetail.LastName

  • CustomerDetail.PrimaryEmail

allows the buyer to skip the manual data entry step in the Fabrick Pay by Bank payment flow. This optimization simplifies the user experience and reduces friction at checkout.

info

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 you to define the language of the email sent by the Fabrick Payment Orchestra gateway to the buyer.

  • The language of the 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 verified via:

info

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 confirmed execution 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 via Fabrick Pay by Bank integrated with Payment Orchestra, simulating various scenarios and observing expected outcomes.

A structured table provides the parameters and configurations needed to simulate various payment scenarios, ensuring accurate analysis of system responses.

Tests are divided into two main categories:

  • Tests for merchants with a Banca Sella account: it is possible to verify the full payment cycle up to the credit (including reconciliation).

  • Tests for merchants with accounts at other banks: the test ends with confirmation of execution by the buyer's bank, without verification of the actual credit.

Parameters to Configure

For each test, the following parameters must be correctly set in the request:

  • bankId: Identifier of the bank to use in the test
  • bankName: Descriptive name of the selected bank
  • product: Transfer type: 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 change

If the transaction does not complete within 5 minutes, the system will return a KO outcome due to timeout.

Test Example

Objective: Verify a successfully executed instant transfer to a Banca Sella credit account.

Procedure:

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

  2. Use the bank credentials provided for the test.

  3. Set the amount field to 1.00.

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

Test Data

ProductBankUserAmountThreshold (s)E-com Status
instant-sepa-credit-transfersMock05any value0✅ OK
instant-sepa-credit-transfersMock042-20-20060⏳ XX → OK
instant-sepa-credit-transfersMock045-50-50060❌ XX → KO
instant-sepa-credit-transfersMock06any value0❌ KO
sepa-credit-transfersMock05any value0✅ OK
sepa-credit-transfersMock042-20-200120⏳ XX → OK
sepa-credit-transfersMock045-50-500120❌ XX → KO
sepa-credit-transfersMock06any value0❌ KO

Sandbox accounts credentials

BankUserPasswordOTP
Mockuser04passwd0411111111
Mockuser05passwd0522222222
Mockuser06passwd0633333333

Fabrick Pay by Bank Technical FAQ

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

Yes, the merchant can ask Fabrick to configure only one of the two modes (standard or instant transfer). In that case, the buyer will not see any selection option and the payment will be forced to execute with the configured transfer type.

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

Yes, but only if both modes (standard and instant transfer) are enabled for the store. In this scenario, by populating the "Method" field in the request (sepa-credit-transfers or instant-sepa-credit-transfers), the merchant can pre-select the suggested transfer type for the buyer. However, the user will still be able to change it manually on the payment screen.

Does the "Captured" status always guarantee the credit?

Only for Banca Sella accounts, because Fabrick is able to directly read the credit on the merchant's account.

For merchants who are not Banca Sella account holders, the "Captured" status indicates that the payment has been executed but manual reconciliation on the merchant's side is required.

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

No, it is important to use only simple alphanumeric characters. The use of special characters can compromise the correct processing of the transfer.