Skrill Digital Wallet
REST API & Wirecard Payment Page v2
Please note that you can use the REST API documentation also for Wirecard Payment Page v1 integration.
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. |
|
debit |
Moves funds from consumer to the merchant. Received in notification after get-url request |
|
credit |
Moves funds from the merchant to the consumer |
Test Credentials
URL (Endpoint) |
|
---|---|
Merchant Account ID (MAID) |
5af4a2f6-f805-4d14-9fc4-304b1266c081 |
Username |
16390-testing |
Password |
3!3013=D3fD8X7 |
Secret Key |
3bd04dcc-84b2-4b1c-952a-e438c8ae6e1d |
Workflow
-
The consumer initiates a payment.
-
The merchant redirects the consumer to the Skrill Digital Wallet site.
-
The consumer logs in to wallet account.
-
The consumer confirms the payment.
-
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. |
wallet-account-id |
C |
C |
C |
String |
50 |
The unique identifier of the Account Holder’s Wallet Account. |
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 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 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 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>
<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 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 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>