Skrill Digital Wallet

REST API & Wirecard Payment Page v1/v2

Skrill Digital Wallet is a type of Wallet.

Countries and Currencies

Countries

Worldwide

Currencies

Please contact Merchant Support for Currencies.

Communication Formats

This table illustrates how Skrill Digital Wallet notifications are encoded and which formats and methods can be used for requests and responses.

Requests/Responses

Format

XML

Methods

POST

IPN Encodement

Please follow the instructions given at Instant Payment Notification to set up IPN.

Transaction Types

For transaction type details which are not given here look at Transaction Types.

Transaction Type Description Link to the samples

get-url

A step in a group of transactions where the provider or bank’s URL is retrieved for the Account Holder to be redirected to.

get-url samples

debit

Moves funds from consumer to the merchant. Received in notification after get-url request

credit

Moves funds from the merchant to the consumer

credit samples

Test Credentials

URL (Endpoint)

https://api-test.wirecard.com/engine/rest/paymentmethods/

Merchant Account ID (MAID)

5af4a2f6-f805-4d14-9fc4-304b1266c081

Username

16390-testing

Password

3!3013=D3fD8X7

Secret Key

3bd04dcc-84b2-4b1c-952a-e438c8ae6e1d

Workflow
Skrill Workflow
  1. The consumer initiates a payment.

  2. The merchant redirects the consumer to the Skrill Digital Wallet site.

  3. The consumer logs in to wallet account.

  4. The consumer confirms the payment.

  5. Skrill Digital Wallet redirects the consumer to the merchant’s success/failure page (depending on notification’s content).

Fields

The following elements are mandatory (M), optional (O) or conditional (C) for sending a request/response for the payment method Skrill Digital Wallet:

Field Request Response Notification Data Type Size Description

merchant-account-id

M

M

M

String

36

Unique identifier for a merchant account.

transaction-id

M

M

String

36

The Transaction ID is the unique identifier for a transaction. It is generated by Wirecard.

request-id

M

M

M

String

150

This is the identification number of the request. It has to be unique for each request.

transaction-type

M

M

M

String

30

This is the type for a transaction.

transaction-state

M

M

String

12

This is the status of a transaction.

completion-time-stamp

M

M

dateTime

This is the timestamp of completion of request.

status.code

M

M

String

12

This is the code of the status of a transaction.

status.description

M

M

String

256

This is the description to the status code of a transaction.

status.severity

M

M

String

20

This field gives information if a status is a warning, an error or an information.

statuses.Status

M

M

String

12

This is the status of a transaction.

requested-amount

M

M

M

Decimal

18.3

This is the amount of the transaction. The amount of the decimal place is dependent of the currency.

parent-transaction-id

O

O

O

String

36

Transaction ID of the first transaction of a payment.

account-holder.email

C

C

C

String

64

This is the end-consumer’s Email-Address. It is mandatory if the field wallet-account-id is not sent in the initial request.

account-holder.first-Name

M

M

M

String

27

This is the first name of the end-consumer. The maximum size of first-name and last-name in combination is 27 characters.

account-holder.last-Name

M

M

M

String

27

This is the last name of the end-consumer. The maximum size of first-name and last-name in combination is 27 characters.

order-number

M

M

M

String

64

This is the order number of the merchant.

order-Detail

O

O

O

String

65535

This is a field for details of an order filled by the merchant.

descriptor

M

M

M

String

27

Description on the settlement of the account holder’s account about a transaction. The following characters are allowed: umlaut, - '0-9','a-z','A-Z',' ' , '+',',','-','.'

notifications.notification@url

O

O

O

String

256

The URL to be used for the Instant Payment Notification. It overwrites the notification URL that is set up in the merchant configuration.

payment-methods.payment-method-Name

M

M

M

String

15

This is the name of the payment method. For Skrill Digital Wallet it is "skrill".

api-id

M

String

The API id is always returned in the notification. For Skrill Digital Wallet it is "---"

processing-redirect-URL

O

O

O

String

256

The URL to which the consumer will be redirected after he has fulfilled his payment. This is normally a page on the merchant’s website.

cancel-redirect-URL

M

M

M

String

256

The URL to which the consumer will be re-directed after he has cancelled a payment. This is normally a page on the merchant’s Website.

success-redirect-URL

O

O

O

String

256

The URL to which the consumer will be re-directed after a successful payment. This is normally a success confirmation page on the merchant’s website.

locale

M

M

M

String

6

Code of the language. Can be any of CZ, DA, EN, DE, ES, FI, FR, IT, NL, PL, GR, RO, RU, SV and TR.
Can be sent in the format <language> or in the format <language_country>.

wallet-account-id

C

C

C

String

50

The unique identifier of the Account Holder’s Wallet Account.
It is mandatory if the field account-holder.email is not sent in the initial request.

settlement.gross-amount

M

decimal

18.3

The amount due to the Merchant Account for this Payment, in the Payment Settlement Currency, gross of rates, fees, and reserve. The amount of the decimal place is dependent of the currency.

settlement.currency

M

String

3

The currency in which the Merchant Account can expect his Payment Settlement Amount.

Signature

M

String

The Signature info, consisting of SignedInfo, SignatureValue and KeyInfo.

Samples

Go to Notification Examples, if you want to see corresponding notification samples.

get-url
XML Get-Url Request (Successful)
<?xml version="1.0" encoding="UTF-8"?>
<payment xmlns="http://www.elastic-payments.com/schema/payment">
   <merchant-account-id>5af4a2f6-f805-4d14-9fc4-304b1266c081</merchant-account-id>
   <request-id>{{$guid}}</request-id>
   <transaction-type>get-url</transaction-type>
   <requested-amount currency="EUR">10.01</requested-amount>
   <account-holder>
       <email>john.doe@exampleemail.com</email>
       <first-name>John</first-name>
       <last-name>Doe</last-name>
   </account-holder>
   <payment-methods><payment-method name="skrill"/></payment-methods>
   <locale>de_DE</locale>
   <descriptor>Item #32021</descriptor>
   <order-number>4509334</order-number>
   <cancel-redirect-url>https://demoshop-test.wirecard.com/demoshop/#/cancel</cancel-redirect-url>
</payment>
XML Get-Url Response (Successful)
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<payment xmlns="http://www.elastic-payments.com/schema/payment" xmlns:ns2="http://www.elastic-payments.com/schema/epa/transaction">
   <merchant-account-id>5af4a2f6-f805-4d14-9fc4-304b1266c081</merchant-account-id>
   <transaction-id>4ff79620-0493-45df-8aab-931da0764ff5</transaction-id>
   <request-id>2db38df2-223e-43c3-b626-16755de59794</request-id>
   <transaction-type>get-url</transaction-type>
   <transaction-state>success</transaction-state>
   <completion-time-stamp>2018-04-12T15:21:10.000Z</completion-time-stamp>
   <statuses>
      <status code="201.0000" description="The resource was successfully created." severity="information"/>
   </statuses>
   <requested-amount currency="EUR">10.01</requested-amount>
   <account-holder>
      <first-name>John</first-name>
      <last-name>Doe</last-name>
      <email>john.doe@exampleemail.com</email>
   </account-holder>
   <order-number>4509334</order-number>
   <descriptor>Item #32021</descriptor>
   <payment-methods>
      <payment-method url="https://pay.skrill.com:443/?sid=18254f4c47673b2365c72f6c0a2c4c0b" name="skrill"/>
   </payment-methods>
   <cancel-redirect-url>https://demoshop-test.wirecard.com/demoshop/#/cancel</cancel-redirect-url>
   <locale>de_DE</locale>
</payment>
get-url with Wallet Account ID
XML Get-Url Request - Using a Wallet Account ID (Failure)
<?xml version="1.0" encoding="UTF-8"?>
<payment xmlns="http://www.elastic-payments.com/schema/payment">
   <merchant-account-id>5af4a2f6-f805-4d14-9fc4-304b1266c081</merchant-account-id>
   <request-id>{{$guid}}</request-id>
   <transaction-type>get-url</transaction-type>
   <requested-amount currency="EUR">10.01</requested-amount>
   <account-holder>
       <email>john.doe@exampleemail.com</email>
       <first-name>John</first-name>
       <last-name>Doe</last-name>
   </account-holder>
   <wallet>
        <account-id>skrill.email@exampleemail.com</account-id>
   </wallet>
   <payment-methods><payment-method name="skrill"/></payment-methods>
   <locale>de_DE</locale>
   <descriptor>USB 12345</descriptor>
   <order-number>4502334</order-number>
   <cancel-redirect-url>https://demoshop-test.wirecard.com/demoshop/#/cancel</cancel-redirect-url>
</payment>
XML Get-Url Response - Incorrect Wallet Account ID (Failure)
<payment xmlns="http://www.elastic-payments.com/schema/payment" xmlns:ns2="http://www.elastic-payments.com/schema/epa/transaction">
   <merchant-account-id>5af4a2f6-f805-4d14-9fc4-304b1266c081</merchant-account-id>
   <transaction-id>14aa26e8-f87a-4ff2-8de4-c5b65c507c5f</transaction-id>
   <request-id>273c973b-07ff-42dc-a406-eaca29ef37e7</request-id>
   <transaction-type>get-url</transaction-type>
   <transaction-state>failed</transaction-state>
   <completion-time-stamp>2018-04-12T15:24:54.000Z</completion-time-stamp>
   <statuses>
      <status code="500.1099" description="Transaction processing refused.  Please contact technical support." severity="error"/>
   </statuses>
   <requested-amount currency="EUR">10.01</requested-amount>
   <account-holder>
      <first-name>John</first-name>
      <last-name>Doe</last-name>
      <email>john.doe@exampleemail.com</email>
   </account-holder>
   <descriptor>USB 12345</descriptor>
   <order-number>4502334</order-number>
   <payment-methods>
      <payment-method name="skrill"/>
   </payment-methods>
   <cancel-redirect-url>https://demoshop-test.wirecard.com/demoshop/#/cancel</cancel-redirect-url>
   <locale>de_DE</locale>
   <wallet>
      <account-id>skrill.email@exampleemail.com</account-id>
   </wallet>
</payment>
credit
XML Credit Request (Successful)
<?xml version="1.0" encoding="UTF-8"?>
<payment xmlns="http://www.elastic-payments.com/schema/payment">
   <merchant-account-id>5af4a2f6-f805-4d14-9fc4-304b1266c081</merchant-account-id>
   <request-id>{{$guid}}</request-id>
   <transaction-type>credit</transaction-type>
   <requested-amount currency="EUR">100.01</requested-amount>
   <wallet>
       <account-id>john.doe@exampleemail.com</account-id>
   </wallet>
   <payment-methods>
       <payment-method name="skrill"/>
   </payment-methods>
   <descriptor>Lottery Win #12312444</descriptor>
   <order-number>4509424</order-number>
</payment>
XML Credit Response (Successful)
<?xml version="1.0" encoding="UTF-8"?>
<payment xmlns="http://www.elastic-payments.com/schema/payment" xmlns:ns2="http://www.elastic-payments.com/schema/epa/transaction">
   <merchant-account-id>5af4a2f6-f805-4d14-9fc4-304b1266c081</merchant-account-id>
   <transaction-id>97d03e1d-1f9c-4934-a480-f208e77c4c25</transaction-id>
   <request-id>a7b97021-954e-43af-b9a4-8d7ecfcfcb3a</request-id>
   <transaction-type>credit</transaction-type>
   <transaction-state>success</transaction-state>
   <completion-time-stamp>2018-04-13T07:11:46.000Z</completion-time-stamp>
   <statuses>
      <status code="200.0000" description="The request completed successfully." severity="information"/>
   </statuses>
   <requested-amount currency="EUR">100.01</requested-amount>
   <order-number>4509424</order-number>
   <descriptor>Lottery Win #12312444</descriptor>
   <payment-methods>
      <payment-method name="skrill"/>
   </payment-methods>
   <wallet>
      <account-id>john.doe@exampleemail.com</account-id>
   </wallet>
   <settlement>
      <gross-amount>100.01</gross-amount>
      <currency>EUR</currency>
   </settlement>
</payment>
Custom URL: