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 name | Description | Required | Example value |
|---|---|---|---|
pay_from_email | Your email address. | Yes | info@merchant.com |
pay_to_email | Payee's email address. | Yes | payer123@skrill.com |
merchant_id | Unique ID of your Skrill account. ONLY needed for the calculation of the MD5 signature | Yes | 100005 |
transaction_id | A unique reference or identification number provided by you (the merchant) in your preparation request. | No | 1A205220 |
mb_transaction_id | Skrill's internal unique reference ID for this transaction | Yes | 170032056 |
mb_amount | The total amount of the payout in the processing currency. Note: If the currency of your Digital Wallet is different, currency conversion could apply. | Yes | 25.46 / 25.4 / 25 |
mb_currency | Processing currency of mb_amount. 3-letter currency code according to ISO 4217 | Yes | GBP |
status | Status of the transaction:-2 failed;2 processed;0 pending;1 scheduled;-1 cancelled;-4 payout returned by recipient's bank | Yes | 2 |
failed_reason_code | If 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. | No | 99 |
md5sig | MD5 signature. See MD5 signature. | Yes | 327638C253A4637199CEBA6642371F20 |
sha2sig | Upper-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. | No | DBB7101322257A311F08D1C527053058FC7E464E30BCFB4613F09053C22DD1F8 |
amount | Amount of the payout as your preparation request. | Yes | 39.60 / 39.6 / 39 |
currency | The currency of the payout as your preparation request. | Yes | EUR |
payment_type | The payment method used by the system for the payout. | No | BWI, HBW, WPW, ONB, TNS, SPX |
merchant_fields | If you submitted a list of values in the merchant_fields parameter, they will be passed back with the status report. | No | field1=value1 |
-
If no
transaction_idis submitted, themb_transaction_idvalue will be posted in the report. -
The
failed_reason_codeparameter 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:
- Complete bank payout transaction.
- Skrill will post the transaction confirmation to your
status_url. This will include themb_amount(amount) parameter. - 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 (
amountparameter) 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.
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.