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.
# Use case – creating a pay-by-link payment
To make a pay-by-link payment you have to do the following steps:
- Fetch Pay-By-Link payment methods that you should show to the end user
- Create a customer object for the end user
- Send a payment request
- Redirect the end user to the URL that you received in response to the payment request
- Handle the notification you receive after the payment success/failure
# 1. Fetching Pay-By-Link payment methods
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.
# 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.
# 3. Creating a pay-by-link payment
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.
# 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 and APIref: pay_by_link_payment_failed notification.