Straal Direct Payments
This guide will help you integrate Straal Direct Payments into your application. With Straal Direct you can accept direct consumer-to-merchant bank transfers that ensure secure, free of intermediaries payments.
# About Straal Direct
Straal Direct is a payment method utilizing direct (consumer to merchant) bank transfers based on Payment Initiation APIs provided by banks. It is asynchronous, meaning that the final status of the transaction is known, when funds arrive at the destination bank account, not instantly upon completion of the payment initiation.
# Important information
Successfully initiating the Straal Direct Payment does not guarantee a successful transfer of money between the customer and the merchant account in some markets. Please consult our sales representatives to understand if this affects your integration. This issue is caused by the fact that in some banks (especially in Germany) the customer can cancel the transfer before it is completed.
It is advised to have additional checks in place before fulfilling the order, such as:
- Delaying order fulfillment until funds have been submitted to the transfer queue (i.e. SEPA, Faster Payments, etc.).
- Connecting to your merchant bank API to check if the transfer was received.
- Limiting the number of subsequent transactions a new customer can perform using Straal Direct based on your KYC.
- Having a manual reconciliation practice in place.
As banks migrate their APIs to new versions this issue will become less prevalent and will be resolved after PSD2 grace period ends.
# Example Straal Direct Payment flow
This is a generic eCommerce example but can be easily adapted to fit different use cases (mobile apps, account top ups, etc.).
|Step||Customer perspective||Integration with Straal|
|1||Customer visits your website and proceeds to make a purchase. Then chooses “Direct bank transfer” as a payment option.||Create a customer in our API.|
|2||Customer clicks on the “Pay” button.||Initialize a Straal Direct payment on the customer you have created in Step 1.|
|3||Straal API will respond with a redirect URL.|
|4||Customer is redirected to the Straal Direct checkout page.||Redirect the customer to the provided URL.|
|5||Customer selects his bank, enters login details and confirms the payment initiation, completing the flow.|
|6||Customer is redirected back to the Straal confirmation page with the status of the payment.||Straal sends you a notification about the success or failure of the payment initiation. Handle the notification and update order status accordingly.|
|7||Customer is redirected back to your website.|
|8||Once you confirm that funds arrived on your merchant account you can proceed to fulfill the order.||(We are looking into a solution where Straal sends you the IBAN and name of the customer to make it easier to reconcile the payments. Please contact us for more details.)|