Pay-By-Link Transfers

# Introduction

Simple and secure, Pay-By-Link transfers are some of the most demanded payment methods in Poland. The transfers enable easy and nearly instant payments without the need to share one’s card or bank account details with third parties:

  • customers carry out payments by simply logging in through their e-banking platforms
  • transfer forms are filled out automatically
  • the transfer requires a simple authorization from the customer by SMS

Straal enables accepting Pay-By-Link transfers from customers with accounts in most of the Polish banks.

To make a pay-by-link payment you have to do the following steps:

  1. Fetch Pay-By-Link payment methods that you should show to the end user
  2. Create a customer object for the end user
  3. Send a payment request
  4. Redirect the end user to the URL that you received in response to the payment request
  5. Handle the notification you receive after the payment success/failure

To fetch Pay-By-Link payment methods you have to make a GET request to /payment_methods endpoint.

It is possible to filter payment methods using query string arguments.

For technical details, see APIref: Get the list of payment methods(opens new window) .

# 2. Creating a customer

Pay-by-link payments are created for an existing customer, so if you have already created a customer, you can skip this step.

For technical details, see APIref: Creating a customer(opens new window) .

When the end user chooses a payment method, you should send the payment method identifier along with the fields describing the pay-by-link payment flow to /customers/{customer_id}/pay_by_link_payments.

For technical details, see APIref: Creating a pay-by-link-payment(opens new window) .

# 4. Redirecting the end user

You should redirect the end user to the redirect_url obtained from the pay_by_link_payment response.

# 5. Receiving notification

After payment, you will receive a pay_by_link_payment_succeeded or pay_by_link_payment_failed notification. The notification data contains a transaction object that has a pay_by_link_payment object in it. You can match notification with object created in step 3. using pay_by_link_payment id field. Information from notification should be used to update payment status in your system.

Read more about Straal notifications: Notifications.

For technical details, see APIref: pay_by_link_payment_succeeded notification(opens new window) and APIref: pay_by_link_payment_failed notification(opens new window) .