Bank Transfer Payment: Difference between revisions

From Barion Documentation
Jump to navigation Jump to search
No edit summary
(5 intermediate revisions by one other user not shown)
Line 12: Line 12:


The process is the following
The process is the following
# The customer arrives to the Barion Payment Gateway
# The customer arrives at the Barion Payment Gateway
# Customer decides to pay with payment buttons, selects one of the banks and clicks the ''Pay'' button.
# Customer decides to pay with bank transfer, selects one of the banks, and clicks the ''Pay'' button.
# Customer is redirected to the selected bank's GUI
# Customer is redirected to the selected bank's GUI
# Customer inputs all the necessary information required to make the transfer
# Customer inputs all the necessary information required to make the transfer
Line 21: Line 21:
In case the transfer was unsuccessful the customer is allowed to try the payment again with another bank or even with another funding source. If the transfer was successful a callback is sent to the merchant's server.
In case the transfer was unsuccessful the customer is allowed to try the payment again with another bank or even with another funding source. If the transfer was successful a callback is sent to the merchant's server.


However there are certain bank transfers that take longer so by the time the customer finishes the payment process the result of the process is not known yet. In these scenarios the customer is presented with an appropriate message that contains information about the situation. Later when the result of the transfer is decided an e-mail message is sent to the customer about the result.
However, there are certain bank transfers that take longer so by the time the customer finishes the payment process the result of the process is not known yet. In these scenarios the customer is presented with an appropriate message that contains information about the situation. Later when the result of the transfer is decided an e-mail message is sent to the customer about the result.


=== Supported banks ===
=== Supported banks ===
At the moment we only support Czech and Slovak banks.


'''Supported Czech banks'''<br/><br/>
'''Supported Czech banks'''<br/><br/>
[[File:BANK_CZ_CS_P.png|100px|link=]]  
[[File:AIRBANK_CZ.png|100px|link=]]  
[[File:BANK_CZ_CSOB_P.png|100px|link=]]
[[File:CSAS_CZ.png|100px|link=]]
[[File:BANK_CZ_FB_P.png|100px|link=]]
[[File:CSOB_CZ.png|100px|link=]]
[[File:BANK_CZ_KB.png|100px|link=]]  
[[File:FIO_CZ.png|100px|link=]]
[[File:BANK_CZ_MB_P.png|100px|link=]]  
[[File:KB_CZ.png|100px|link=]]  
[[File:BANK_CZ_PS_P.png|100px|link=]]  
[[File:MBANK_CZ.png|100px|link=]]  
[[File:BANK_CZ_RB.png|100px|link=]]  
[[File:MONETA_CZ.png|100px|link=]]  
[[File:BANK_CZ_UC.png|100px|link=]]  
[[File:RAIFFEISEN_CZ.png|100px|link=]]
[[File:REVOLUT_CZ.png|100px|link=]]
[[File:UNICREDIT_CZ.png|100px|link=]]  
<br/><br/>
<br/><br/>
'''Supported Slovak banks'''<br/><br/>
'''Supported Slovak banks'''<br/><br/>
[[File:BANK_CZ_CSOB_P.png|100px|link=]]  
[[File:CSOB_SK.png|100px|link=]]  
[[File:BANK_SK_PB.png|100px|link=]]  
[[File:RAIFFEISEN_SK.png|100px|link=]]  
[[File:BANK_SK_SP.png|100px|link=]]  
[[File:REVOLUT_SK.png|100px|link=]]  
[[File:BANK_SK_TB.png|100px|link=]]
[[File:TATRA_SK.png|100px|link=]]
[[File:BANK_SK_VUB.png|100px|link=]]


= What are the technical requirements? =
= What are the technical requirements? =
Besides applying for the feature there are number of technical requirements that you have to make sure of.
Besides applying for the feature there are number of technical requirements that you have to make sure of.
=== Providing additional customer information ===
For this feature it is mandatory to provide two additional fields in the body of the [[Payment-Start-v2|/Payment/Start]] request:
* <tt>PayerHint</tt>: The e-mail address of the customer
* <tt>PayerPhoneNumber</tt>: The phone number of the customer


=== Available for EUR with Slovakian banks and CZK with Czech banks===
=== Available for EUR with Slovakian banks and CZK with Czech banks===
Line 56: Line 51:


=== Available only for Immediate payments ===
=== Available only for Immediate payments ===
At the moment we only support immediate payment scenarios, later the [[Reservation_payment|reservation/escrow]] scenario will be supported as well. Until then in reservation scenarios the gateway will not offer the payment button funding source for the customer.
At the moment we only support immediate payment scenarios, later the [[Reservation_payment|reservation/escrow]] scenario will be supported as well. Until then in reservation scenarios, the gateway will not offer the bank transfer payment option for the customer.


= Callback process for payment button scenarios =
= Callback process for bank transfer payment scenarios =


There are two types of transfer scenarios regarding payment button payments. Only after the customer completes the transfer will the system know which scenario is used. So every system that handles payments that can be paid with payment buttons must handle the asynchronous scenario as well.
There are two types of transfer scenarios regarding bank transfer payments. Only after the customer completes the transfer will the system know which scenario is used. So, every system that handles payments that can be paid with bank transfer must handle the asynchronous scenario as well.


'''Synchronous scenario'''<br/>
'''Synchronous scenario'''<br/>
In this case the result of the bank transfer is known immediately after the transfer. This scenario works the same way as the card payment scenario. After the final [[PaymentStatus|status]] of the payment is known a [[Callback_mechanism|callback mechanism]] is started to notify the merchant.
In this case, the result of the bank transfer is known immediately after the transfer. This scenario works the same way as the card payment scenario. After the final [[PaymentStatus|status]] of the payment is known a [[Callback_mechanism|callback mechanism]] is started to notify the merchant.


'''Asynchronous scenario '''<br/>
'''Asynchronous scenario '''<br/>
Line 83: Line 78:
* <code>BankTransferPaymentFee</code>: The fee deducted for using this feature
* <code>BankTransferPaymentFee</code>: The fee deducted for using this feature


These are unique for this type of payment, but apart from these any other transaction type can be present like in any other payment scenario.
These are unique for this type of payment, but apart from these, any other transaction type can be present like in any other payment scenario.


= Payment status changes =
= Payment status changes =
This is a diagram for the payment status changes if the payment was funded with payment buttons.
This is a diagram for the payment status changes if the payment was funded with a bank transfer.


[[File:Payment_states_pb.png]]
[[File:Payment_states_pb.png]]

Revision as of 14:35, 9 February 2022

Bank Transfer Payment

In the case of payment by bank transfer, the customer fulfills its payment obligation by bank transfer. This means that a customer can choose to pay for the goods via a prepared bank transfer. This is an additional option for the customer to choose from (besides e-money payment from a wallet and card payment).

If all the technical requirements are met (see below) on the gateway there will visible a third funding source option for the customer.

The process is the following

  1. The customer arrives at the Barion Payment Gateway
  2. Customer decides to pay with bank transfer, selects one of the banks, and clicks the Pay button.
  3. Customer is redirected to the selected bank's GUI
  4. Customer inputs all the necessary information required to make the transfer
  5. Customer is redirected to the Barion Payment Gateway and is presented with the result
  6. Customer is redirected to the merchant's shop

In case the transfer was unsuccessful the customer is allowed to try the payment again with another bank or even with another funding source. If the transfer was successful a callback is sent to the merchant's server.

However, there are certain bank transfers that take longer so by the time the customer finishes the payment process the result of the process is not known yet. In these scenarios the customer is presented with an appropriate message that contains information about the situation. Later when the result of the transfer is decided an e-mail message is sent to the customer about the result.

Supported banks

Supported Czech banks



Supported Slovak banks

What are the technical requirements?

Besides applying for the feature there are number of technical requirements that you have to make sure of.

Available for EUR with Slovakian banks and CZK with Czech banks

This feature is only available for payments conducted in CZK or EUR. For all other currencies this option will be hidden.

NOTE
There are different bank options displayed for EUR and CZK!

Available only for Immediate payments

At the moment we only support immediate payment scenarios, later the reservation/escrow scenario will be supported as well. Until then in reservation scenarios, the gateway will not offer the bank transfer payment option for the customer.

Callback process for bank transfer payment scenarios

There are two types of transfer scenarios regarding bank transfer payments. Only after the customer completes the transfer will the system know which scenario is used. So, every system that handles payments that can be paid with bank transfer must handle the asynchronous scenario as well.

Synchronous scenario
In this case, the result of the bank transfer is known immediately after the transfer. This scenario works the same way as the card payment scenario. After the final status of the payment is known a callback mechanism is started to notify the merchant.

Asynchronous scenario
There is a scenario where the result of the bank transfer is not available at the end of the payment. It can take up to five days to receive the final result of the transfer. In this case the Barion system starts two callback process.

  1. One process will be started when the Barion system receives information that the asynchronous scenario is applied for the transfer,
  2. and one process when the final result of the transfer is available.

As with any callback the merchant should use the GetPaymentState request to decide what happened.

In the first callback mechanism a new payment status is introduced, called Waiting. This represents the status where the Barion system is waiting for the final result of the bank transfer. At this point the payment is not completed and still can be Failed as well.

When the Barion system receives the final result of the transfer, a new callback mechanism is started to notify the merchant again.

GetPaymentState implications

If a customer paid with bank transfer there are a number of transaction types that can appear in the response of a GetPaymentState call.

  • BankTransferPayment: the actual payment transaction itself
  • RefundToBankAccount: if there was a refund, this represents it
  • StornoUnSuccessfulRefundToBankAccount: if the refund was not successful, this is the storno for it
  • BankTransferPaymentFee: The fee deducted for using this feature

These are unique for this type of payment, but apart from these, any other transaction type can be present like in any other payment scenario.

Payment status changes

This is a diagram for the payment status changes if the payment was funded with a bank transfer.