Skip to main content

Payout Status Notification

When the payout process is completed, Skrill sends the details of the transaction to the status_url provided in your request. This is done with a standard HTTP POST. The Skrill server continues to POST the status until a response of HTTP OK (200) is received from your server, or the number of posts exceeds 10.

Status URL parameters

Field nameDescriptionRequiredExample value
pay_from_emailYour email address.Yesinfo@merchant.com
pay_to_emailPayee's email address.Yespayer123@skrill.com
merchant_idUnique ID of your Skrill account. ONLY needed for the calculation of the MD5 signatureYes100005
transaction_idA unique reference or identification number provided by you (the merchant) in your preparation request.No1A205220
mb_transaction_idSkrill's internal unique reference ID for this transactionYes170032056
mb_amountThe total amount of the payout in the processing currency. Note: If the currency of your Digital Wallet is different, currency conversion could apply.Yes25.46 / 25.4 / 25
mb_currencyProcessing currency of mb_amount. 3-letter currency code according to ISO 4217YesGBP
statusStatus of the transaction:
-2 failed;
2 processed;
0 pending;
1 scheduled;
-1 cancelled;
-4 payout returned by recipient's bank
Yes2
failed_reason_codeIf the payout has a status value -2 (failed), this field contains a code detailing the reason for the failure. See Failed Reason Codes. Note that you will need to contact support to enable this feature to receive the code.No99
md5sigMD5 signature. See MD5 signature.Yes327638C253A4637199CEBA6642371F20
sha2sigUpper-case SHA2 signature. Constructed in the same way as the MD5 signature, but with a different hashing algorithm. This parameter is not available by default. To enable this option, send a request to Merchant Service.NoDBB7101322257A311F08D1C527053058FC7E464E30BCFB4613F09053C22DD1F8
amountAmount of the payout as your preparation request.Yes39.60 / 39.6 / 39
currencyThe currency of the payout as your preparation request.YesEUR
payment_typeThe payment method used by the system for the payout.NoBWI, HBW, WPW, ONB, TNS, SPX
merchant_fieldsIf you submitted a list of values in the merchant_fields parameter, they will be passed back with the status report.Nofield1=value1
note
  1. If no transaction_id is submitted, the mb_transaction_id value will be posted in the report.

  2. The failed_reason_code parameter is enabled upon activation and is part of the response status.

Language encoding for text parameters

All text fields use UTF-8 encoding. Note however that the system only displays Latin-1 characters.

Validating the status response

We recommend that you validate the transaction details in the status response. This can be done as follows:

  1. Complete bank payout transaction.
  2. Skrill will post the transaction confirmation to your status_url. This will include the mb_amount (amount) parameter.
  3. Your website should validate the parameters received by calculating the MD5 signature (see MD5 signature. If successful, it should compare the value in the confirmation post (amount parameter) to the one from the pending transaction or order on your website.

You can also compare other parameters such as transaction id and pay_from_email. Once you have validated the transaction data you can process the transaction, for example, by dispatching the goods ordered. You must implement measures to ensure that goods are not dispatched multiple times if you receive subsequent successful notifications for the same transaction ID (transaction_id or mb_transaction_id) to protect against replay attacks or other sources of duplicate status posts.

note

If you want to restrict the receipt of status response based on the posting IP address, you should use the full list of Skrill IP ranges, as from time to time Skrill may change the IP address used. Any address within any of the following ranges could be used. The full list of Skrill IP addresses is:

18.156.81.39, 3.64.161.98, 18.195.181.168, 52.16.193.112, 54.228.179.122, 34.249.111.249

Using the Merchant Query Interface

You can use the Merchant Query Interface service to repost a status notification, or to automatically check the status of a payout. For details, see sections "Repost transaction status" and "View transaction status" in the Merchant Query Interface.