Skrill
The Paysafe Payments API supports Skrill as a payment instrument. You can process Skrill payments using the Payments API.
Typical Scenarios
Skrill Payment
To process a Skrill payment request:
- Create a payment handle with the transactionType parameter set to PAYMENT and the paymentType parameter set to SKRILL.
- As the consumer has to complete payment authentication by providing Skrill details, Paysafe returns a response with the following:
- The action parameter is set to REDIRECT
- A payment_redirect link points to the Skrill redirect URL
- Redirect the customer to the Skrill redirect URL so they can provide the email address and password details to complete the money transfer.
- Upon successful consumer authentication, you get notified at the URL specified in the on_completed parameter included with their request.
- At this point, the status of the payment handle becomes PAYABLE.
- Use the paymentHandleToken returned in the response to process the payment request.
Once the payment request is successfully completed, the funds are immediately transferred to your account.
APIs to Use
NOTE:
- Instant ACH funding via Skrill: If you offer instant ACH funding through Skrill, we recommend that you use an out of process webview for the redirection link, for more information, see Instant ACH Funding Recommendations.
Skrill Withdrawal
To process a Skrill withdrawal request:
- Create a payment handle with the transactionType parameter set to STANDALONE_CREDIT and the paymentType parameter set to SKRILL.
- This payment handle should immediately have the status of PAYABLE.
- Use the paymentHandleToken returned in the response to process the withdrawal request.
After the payment request is successfully completed, the funds are immediately transferred to the consumer's account.
APIs to Use
Skrill Verification
To enable the Skrill Verification service, you should enable this feature from Skrill’s merchant portal.
- You should set up a secret word and define an IP range.
- Skrill’s Merchant ID is also required to complete the setup.
To perform a Skrill Verification transaction:
- Create a Payment Handle with the transactionType parameter set to VERIFICATION and the paymentType parameter set to SKRILL.
- POST: paymenthub/v1/paymenthandles
- Pass any of the following parameters:
-
Parameter
Description
firstName
First Name
lastName
Last Name
dateOfBirth
Date of Birth
street
Details of the street and related address of the customer
country
Name of the customer’s country
zip
Postal zip code
- After the request is submitted successfully, the status of the payment handle becomes PAYABLE.
- To process the verification request, use the paymentHandleToken returned in the response.
- Check the status of the transaction (Completed/Failed) in the response of the verification request.
- Status is completed if there is an active Skrill account.
- Status is failed if the customer account was not found at Skrill.
- The verification service returns a MATCH or NO_MATCH response for each parameter provided in the request. The verification service also returns a verificationLevel for an account that shows:
- If the consumer is verified.
- If the consumer has a verified payment instrument (debit/credit card/bank account registered with their Skrill account).
-
Verification Level
Description
11
• The Skrill customer is verified.
• The customer has one or more verified payment instruments
(credit/debit card or bank account).10
• The Skrill customer is verified.
• The customer has no verified payment instruments (credit/debit card or bank account).01
• The Skrill customer is not verified.
• The customer has one or more verified registered payment
instruments (credit/debit card or bank account).00
• The Skrill customer is not verified.
• The customer has no verified registered payment instruments
(credit/debit card or bank account).
APIs to use
Skrill - System Risk Checks
If you want to execute risk checks on a consumer before completing payments, pass the following additional parameters in the payment handle.
- Profile.firstName
- Profile.lastName
- Profile.dateOfBirth
- billingDetails.zip
- Profile.email
In case of any mismatch of consumer details, you will receive the status as failed and status reason as MATCHING_CRITERIA_NOT_MET in Payments API response. You will also receive status and reason via PAYMENT_HANDLE_FAILED webhook.
- Enabling this feature: This feature can be enabled by the merchant services team (merchantservices@skrill.com) for production accounts and by the integration support team (integrationsupport@paysafe.com) for test accounts. The merchant cannot control it from the merchant portal. At Skrill, this feature is called Custom Verification tool on the Gateway.
- The risk checks are mandatory in Canada region.
APIs to Use
Get Balance
You can retrieve the balance in your accounts using the Get Balance endpoint. The API call is a GET request and returns an array of account balances.
Name | Mandatory/Optional | Description |
---|---|---|
paymentType | Mandatory | Payment Type (SKRILL) |
currencyCode | Mandatory | Filters based on currency, if provided. (3-letter ISO currency code) |
accountId | Optional | Only required, if you have multiple accounts and maintaining different balances at each level, and you want to filter them in the response. |
Sample Request:
GET: https://api.test.paysafe.com/paymenthub/v1/balances?paymentType={paymentType}¤cyCode={currencyCode}
Sample Response
[{
"currencyCode": "EUR",
"paymentType": "SKRILL",
"balance": "4099.342513",
"gatewayResponse": {
"gatewayAccountId": "139735755",
"processor": "SKRILL_QCO"
}
}, {
"currencyCode": "EUR",
"paymentType": "SKRILL",
"balance": "99508.71",
"gatewayResponse": {
"gatewayAccountId": "139735756",
"processor": "SKRILL_QCO"
}
}]
Recommendation
If you offer Instant ACH funding via Skrill in your mobile app, we recommend that you open the Skrill redirection link using an out of process webview or a mobile browser. Due to security concerns, Chase Bank has recently announced that it will stop supporting in-process webview traffic. Other banks may follow the same approach in the future.