Returning customer flow
The Returning Customer Flow attempts to improve the customer experience by providing instruments containing the necessary details required for consecutive payments with the given payment methods.
After the initial deposit, the necessary data is collected by Skrill and stored in an instrument provided to the merchant via the standard http status notification. This would allow for easier and faster consecutive payments as the customer would not have to enter their bank account information for each payment on the Skrill QCO.
Integration overview
Three new parameters have been introduced in the HTTP Status Notification sent to the merchant's status_url / status_url2.
| Name | Description | Example |
|---|---|---|
| instrument_id | The Id of the instrument in Skrill's side. This is the id that needs to be sent in the session creation for subsequent payments | 123456 |
| bank_logo_url | The logo url for the bank account if the provider supports it. | Default: https://pay.skrill.com/wallet/checkout/assets/paysafe-mer-checkout/logo/apm/bank.svg |
| descriptor | Masked IBAN/Account Number | DExxxxxxxxxxxxxxxxx946 |
They are not sent in the email notification, only in the HTTP one.
Mandatory parameters
To trigger the Returning Customer Flow, there are a couple prerequisite fields that have to be passed in the payment session creation request In addition to the already required ones that can be found in section 2.3.3 of the integration guide).
| Name | Required | Utilized by | Description | Example |
|---|---|---|---|---|
| instrument_id | Yes | ALL | Instrument identifier obtained from the previously completed payment. | 123456 |
| merchant_client_id | Yes | ALL | ID, username, hash or anything uniquely identifying the customer with the payment. | 12345 / test123 |
| payment_methods | Yes | ALL | Single payment method code for the given payment method. (OBT for Rapid Transfer) | 123456 |
| pay_from_email | Optional | ALL | Email address of the customer that is making the payment. If supplied along with instrument_id, we will send the provided email to the provider instead of the one stored in the instrument | john@doe.com |
| firstname | Optional | Rapid Transfer | Customer’s first name. If supplied along with instrument_id, we will send the provided First Name to the provider instead of the one stored in the instrument | John |
| lastname | Optional | Rapid Transfer | Customer’s last name. If supplied along with instrument_id, we will send the provided Last Name to the provider instead of the one stored in the instrument | Doe |
Supported payment options:
- Rapid Transfer
Rapid Transfer
The returning customer flow for Rapid Transfer allows customers to complete payments without entering bank and personal details and be redirected directly to Rapid Transfer.
Initial payment
- When the customer is ready to pay, they select Rapid Transfer on your checkout page.
- The customer is redirected to Skrill Gateway to enter their bank account and personal details.
- Customer is redirected to Rapid Transfer's secure payment page.
Consecutive Payment
- When the customer is ready to pay, they select a saved bank on your checkout page.
- Customer is redirected to Rapid Transfer's secure payment page.
Sample status notification body:
transaction_id=5107033506&mb_amount=9.6&amount=9.60&confirmed_by_provider=false&md5sig=94D3E3C5AD6315656ABFF62912143840&merchant_id=500008084345&descriptor=DExxxxxxxxxxxxxxxxx946&instrument_id=2427788&bank_logo_url=https://pay.skrill.com/wallet/checkout/assets/paysafe-mer-checkout/logo/apm/bank.svg&payment_type=NGP&mb_transaction_id=5107033506&mb_currency=EUR&pay_from_email=test@test.com&iban=DE14500105176294552946&pay_to_email=georgizgeorgiev.ger.m@sun-fish.com¤cy=EUR&customer_id=500036169922&status=2
Example requests
Example Initial request:
curl 'https://pay.skrill.com' \
-d 'pay_to_email=merchantname@test.com' \
-d 'pay_from_email=john@doe.com' \
-d 'amount=24.04' \
-d 'currency=EUR' \
-d 'country=GER' \
-d 'merchant_client_id=test-123' \
-d 'payment_methods=OBT'
Example Consecutive request:
curl 'https://pay.skrill.com' \
-d 'pay_to_email=merchantname@test.com' \
-d 'pay_from_email=john@doe.com' \
-d 'amount=24.04' \
-d 'currency=EUR' \
-d 'country=GER' \
-d 'instrument_id=2377058' \
-d 'merchant_client_id=test-123' \
-d 'payment_methods=OBT'