Skip to main content

Customization Options

Payment methods

The payment_method parameter can be used to pass a payment method code to pre-select the default payment method for your customers (shown in the second payment tab) after login. Most of these codes are three characters long — for example DID — but the parameter can accept up to 100 characters. If more than one payment_method code is supplied, all except the first are ignored.

Once a customer has logged in, all payment methods available in the country associated with their Skrill wallet account are displayed, ordered by popularity in the customer's country.

Recurring billing

Skrill offers a tool for recurring payments, which is available as a stand-alone product or via the Skrill Wallet Checkout. In addition to the standard HTML form parameters, you can supply the following parameters to set up a recurring payment:

Field NameDescriptionRequiredMax LengthExample Value
rec_amountAmount of the recurring payment (to be taken at each recurring period)Yes / No1919.90
rec_start_dateStart date of the period in DD/MM/YYYY format*No1001/08/2013
rec_end_dateFinal date of the period in DD/MM/YYYY formatNo1031/08/2014
rec_periodPeriod between paymentsYes614
rec_cycleTime period measure you require - day/month/year. If not submitted, Skrill assumes day.No5day
rec_grace_periodPeriod of days during which the customer can still process the transaction if it originally failed (value is always in days).No57
rec_status_urlURL to which Skrill notifies you that the recurring payment is cancelled.No400http://www.example.com/rec_payment_cancelled.htm
rec_status_url2Second URL to which Skrill notifies you that the recurring payment is cancelled.No400http://www.example.com/rec_payment_cancelled2.htm
note

The rec_start_date parameter should not be set in the future for recurring credit card payments if amount is empty (no amount is charged immediately).

Recurring billing setup options

You can set up a recurring billing payment using one of the following options:

Option 1 - Take an initial payment, followed by recurring payments for a different amount Enter a specific amount (e.g., EUR 4.99) as the amount parameter in your HTML form, and a specific amount (e.g., EUR 19.90) as rec_amount.

Option 2 - Do not take an initial payment; only set up recurring payments Leave the amount parameter empty (empty, not zero) and only enter the rec_amount value.

Payment methods used with recurring billing

A recurring billing payment can be set up using one of the following payment methods:

  • Credit/debit card (Visa and MasterCard)
  • Direct Debit
  • Customer's Skrill account balance

Example code

The code snippet below shows an example of the additional parameters included for a recurring payment:

<input type="hidden" name="rec_amount" value="19.90">
<input type="hidden" name="rec_start_date" value="01/08/2013">
<input type="hidden" name="rec_end_date" value="31/08/2014">
<input type="hidden" name="rec_period" value="14">
<input type="hidden" name="rec_cycle" value="day">
<input type="hidden" name="rec_grace_period" value="7">
<input type="hidden" name="rec_status_url" value="http://www.example.com/rec_pay_cancel.htm">
<input type="hidden" name="rec_status_url2" value="http://www.example.com/rec_pay_cancel2.htm">

Recurring billing status

If a recurring billing has been set up and you have provided a rec_status_url in your HTML form, Skrill posts the transaction details of each payment to your status page.

Recurring billing status parameters

Field NameDescriptionRequiredExample Value
merchant_idUnique ID of your Skrill account. Only needed for MD5 signature calculation.Yes100005
transaction_idThe reference or identification number you provided.YesA205220
statusRecurring payment status: 2 = processed / -2 = failedYes2
rec_payment_idRecurring payment IDYes200005
rec_payment_typeType of payment: recurring or Skrill 1-TapYesrecurring
md5sigMD5 signature.Yes327638C253A4637199CEBA6642371F20
merchant_fieldsComma-separated list of field names returned to your status page when the payment is confirmed (see Parameters to be posted to the Skrill payment gateway).NoField1, Field2

Using the Merchant Query Interface

You can use the Merchant Query Interface to check the status, cancel, or extend the end date of a recurring payment. For full details, see the Automated Payments Interface Guide.

Secure return_url option

This option allows you to ensure that the customer arrives at your return_url page only after completing the payment process, rather than by manually entering the URL from the page source. However, note that this function only confirms that the customer completed the payment flow, not that the payment was successfully processed.

If this feature is not activated for your account, please contact merchantservices@skrill.com.

You must submit the following parameters with each transaction:

  • return_url
  • transaction_id
  • Secret word (automatically submitted if stored under Settings > Developer Settings in your Skrill account)

Skrill will then add the following parameters to the return_url:

ParameterDescriptionExample Value
transaction_idThe transaction_id you submitted.A205220
msidThe MD5 signature generated using:
- merchant_id (e.g., 123456)
- transaction_id (e.g., A205220)
- Uppercase MD5 hash of your secret word (ASCII), e.g., F76538E261E8009140AF89E001341F17
730743ed4ef7ec631155f5e15d2f4fa0

Below are two examples of the secure return_url, using the values above:

Example 1: Merchant submits return_url without additional parameters

For example:

https://example.com/return_url.cgi

In this case Skrill will redirect the customer to:

https://example.com/return_url.cgi?transaction_id=A205220&msid=730743ed4ef7ec631155f5e15d2f4fa0

Example 2: Merchant submits the return_url with additional parameters

For example: https://example.com/return_url.cgi?par1=val1&par2=val2

In this case Skrill will redirect the customer to: https://example.com/return_url.cgi?par1=val1&par2=val2&transaction_id=A205220&msid=730743ed4ef7ec631155f5e15d2f4fa0

Merchant refunds

This option enables you to refund a payment back to the customer's Skrill account, credit/debit card, or bank account (depending on the original payment method used).

note

Manual and Automated Refunds are not available for Gambling and Forex merchants.

If this feature is not activated, please contact merchantservices@skrill.com.

note

If your account is configured to allow refunds, you will have an additional action link in the transaction history next to each entry that will trigger a refund to the customer.

You can also make refunds through Skrill's Automated Payments Interface.

Chargeback notification

When Skrill receives a chargeback request from their provider, they will send a chargeback notification to your status_url page. This is indicated by a status of -3. (For a description of transaction statuses, see Detailed Status Description).

Adding a descriptor

When a customer pays through Skrill, Skrill submits a descriptor with the transaction, containing your business trading name/brand name. This descriptor is typically displayed on the customer's bank or credit card statement.

If you want to change this descriptor, please contact merchantservices@skrill.com.

This functionality is only available for the following payment methods:

  • Visa
  • MasterCard
  • Klarna
  • Direct Debit
  • iDEAL
note

This feature is not available for cards from out-of-region banks.

For Klarna and Direct Debit, you can also submit an additional payment form parameter:

  • dynamic_descriptor — overrides the default value stored by Skrill.

Code integration examples

You can use the examples below to generate your session ID from Skrill, which is the recommended method for connecting to the Skrill Wallet Checkout (see Recommended secure method of redirecting the customer).

Generating the session identifier

Below are examples of how to generate a SID using different programming methods:

CURL

curl -X POST https://pay.skrill.com \
-d "pay_to_email=merchant_email@mail.com" \
-d "amount=10.99" \
-d "currency=EUR" \
-d "language=EN" \
-d "prepare_only=1"

Ruby

require 'net/http'
require 'net/https'
require 'uri'
uri = URI('https://pay.skrill.com')
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true
req = Net::HTTP::Post.new(uri.path)
req.set_form_data({
'pay_to_email'=>'merchant_email@mail.com',
'amount'=>'10.99',
'currency'=>'EUR',
'language'=>'EN',
'prepare_only'=>'1'
})
res = http.request(req)
puts res.body

Redirecting the customer to Skrill

Once you have the session identifier (SID), you must redirect the customer to Skrill, including the session identifier.

https://pay.skrill.com/?sid=<generated_sid>

Where <generated_sid> is the SID returned by Skrill.

You can open the URL with the SID as a Lightbox.

note

Skrill does not support iframes.