Skip to main content

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.

NameDescriptionExample
instrument_idThe Id of the instrument in Skrill's side. This is the id that needs to be sent in the session creation for subsequent payments123456
bank_logo_urlThe 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
descriptorMasked IBAN/Account NumberDExxxxxxxxxxxxxxxxx946
note

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).

NameRequiredUtilized byDescriptionExample
instrument_idYesALLInstrument identifier obtained from the previously completed payment.123456
merchant_client_idYesALLID, username, hash or anything uniquely identifying the customer with the payment.12345 / test123
payment_methodsYesALLSingle payment method code for the given payment method. (OBT for Rapid Transfer)123456
pay_from_emailOptionalALLEmail 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 instrumentjohn@doe.com
firstnameOptionalRapid TransferCustomer’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 instrumentJohn
lastnameOptionalRapid TransferCustomer’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 instrumentDoe

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

  1. When the customer is ready to pay, they select Rapid Transfer on your checkout page.
  2. The customer is redirected to Skrill Gateway to enter their bank account and personal details.
  3. Customer is redirected to Rapid Transfer's secure payment page.

Consecutive Payment

  1. When the customer is ready to pay, they select a saved bank on your checkout page.
  2. 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&currency=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'