paysafecard
REST API
paysafecard is a prepaid payment solution.
Countries and Currencies
Countries |
Europe: North & South America: Middle East: Oceania: Africa: |
---|---|
Currencies |
AED, ARS, AUD, BRL, CAD, CHF, CZK, DKK, EGP, EUR, GBP, GEL, HRK, HUF, KWD, MXN, NOK, NZD, PEN, PLN, RON, SAR, SEK, TRY, USD, UYU |
Communication Formats
This table illustrates how paysafecard notifications are encoded and which formats and methods can be used for requests and responses.
Requests/Responses |
Format |
XML, JSON |
---|---|---|
Methods |
POST |
|
IPN Encodement |
Please follow the instructions given at Instant Payment Notification to set up IPN. |
Transaction Types
This table lists all transaction types available for paysafecard.
For transaction type details which are not given here, look at Transaction Types.
Transaction Type | Description | Request [1] | Response/IPN [2] | wep.wirecard.com/ [3] | Link to samples |
---|---|---|---|---|---|
debit |
Creates a request to charge the specified amount from the consumer’s paysafecard. |
YES |
YES |
YES |
|
authorization |
Authorizes you to charge a specific amount from consumer’s paysafecard (by a future capture-authorization request). |
YES |
YES |
YES |
|
capture-authorization |
Captures full or partial amount until you reach the authorization limit. Only available after a successful authorization that was neither voided nor fully captured yet. |
YES |
YES |
YES |
|
void-authorization |
Only available after a successful authorization which was neither voided nor captured yet. Voids the authorization as a whole. |
YES |
YES |
YES |
|
get-url |
Retrieves the URL of the paysafecard landing page for the consumer to be redirected to. |
NO |
YES |
YES |
|
credit |
Use this transaction type to send money (back) to the consumer via paysafecard without referencing to a previous payment. |
YES |
YES |
YES |
[1] YES in "Request" indicates that the transaction type can be sent in the request.
[2] YES in "Response/IPN" indicates that the transaction type appears in either response or notification.
[3] YES in "WEP" indicates that the transaction type is visible in Wirecard Enterprise Portal.
Test Credentials
URLs (Endpoints) |
For transaction types
|
|
---|---|---|
For transaction types
|
|
|
Merchant Account ID (MAID) |
493f9abe-0028-4631-b72e-836a7e3695af |
|
Username |
16390-testing |
|
Password |
3!3013=D3fD8X7 |
|
Secret Key |
4c7356f9-0d28-4c9e-8a11-5bebf0786040 |
Additional Test Credentials on paysafecard Environment
Voucher Code |
3105 6626 4830 5874 |
---|
Workflow
debit
-
Consumer initiates a transaction.
-
Send a request with transaction type debit and consumer’s data to the WPG endpoint.
-
WPG sends a response to you. It contains the field
payment-methods/payment-method/@url
, which is the URL to the paysafecard landing page. -
Use this URL to redirect the consumer to the paysafecard landing page.
-
Consumer enters 16-digit PIN and submits the transaction.
-
paysafecard sends the authorization status to WPG.
-
WPG sends you a Success/Failed notification.
-
Consumer selects payment method paysafecard.
-
WPG redirects consumer from website to paysafecard landing page.
-
On paysafecard landing page, consumer enters paysafecard PIN and clicks on Pay button.
-
Redirect to merchant confirmation page.
authorization
-
Consumer initiates a transaction.
-
Send a request with transaction type authorization and consumer’s data to the WPG endpoint.
-
WPG sends a response to you. It contains the field
payment-methods/payment-method/@url
, which is the URL to the paysafecard landing page. -
Use this URL to redirect the consumer to the paysafecard landing page.
-
Consumer enters 16-digit PIN and submits the transaction.
-
Authorization transaction is created.
-
paysafecard sends the authorization status to WPG.
-
WPG sends a Success/Failed notification to you.
-
paysafecard sends the transaction status to WPG.
-
WPG sends a Success/Failed notification to the merchant.
-
You can void or capture the transaction using transaction type void-authorziation or capture-authorization.
credit
-
Send a credit request to WPG.
-
WPG processes the transaction.
-
WPG sends you a response with the transaction result.
-
WPG sends you an IPN with the final transaction status.
Fields
The fields used for paysafecard requests, responses and notifications are the same as the REST API Fields.
Only one field has different properties:
Field | M/O | Data Type | Size | Description |
---|---|---|---|---|
|
M |
String |
64 |
Unique ID identifying the consumer in your online shop, e.g. in your CRM system. The parameter must not be a human readable email address. However, if you use an email address, you have to hash it first. |
For information on the other fields required in a paysafecard transaction, refer to the REST API field list or the paysafecard samples.
Samples
authorization
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<payment xmlns="http://www.elastic-payments.com/schema/payment">
<merchant-account-id>493f9abe-0028-4631-b72e-836a7e3695af</merchant-account-id>
<request-id>${unique for each request|no whitespaces!}</request-id>
<transaction-type>authorization</transaction-type>
<ip-address>127.0.0.1</ip-address>
<country>DE</country>
<locale>de</locale>
<account-holder>
<first-name>John</first-name>
<last-name>Constatine</last-name>
<merchant-crm-id>A123456789</merchant-crm-id>
</account-holder>
<payment-methods>
<payment-method name="paysafecard" />
</payment-methods>
<requested-amount currency="EUR">6.66</requested-amount>
<cancel-redirect-url>https://demoshop-test.wirecard.com/demoshop/#/cancel</cancel-redirect-url>
<success-redirect-url>https://demoshop-test.wirecard.com/demoshop/#/success</success-redirect-url>
<fail-redirect-url>https://demoshop-test.wirecard.com/demoshop/#/error</fail-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>493f9abe-0028-4631-b72e-836a7e3695af</merchant-account-id>
<transaction-id>12161190-e804-4385-baa2-752bd472729d</transaction-id>
<request-id>295fc328-d630-4a15-8a9e-6f9459460814</request-id>
<transaction-type>authorization</transaction-type>
<transaction-state>success</transaction-state>
<completion-time-stamp>2018-10-01T08:44:51.000Z</completion-time-stamp>
<statuses>
<status code="201.0000" description="The resource was successfully created." severity="information" />
</statuses>
<requested-amount currency="EUR">6.66</requested-amount>
<account-holder>
<first-name>John</first-name>
<last-name>Constatine</last-name>
<merchant-crm-id>A123456789</merchant-crm-id>
</account-holder>
<ip-address>127.0.0.1</ip-address>
<payment-methods>
<payment-method url="https://customer.test.at.paysafecard.com/psccustomer/GetCustomerPanelServlet?currency=EUR&mtid=295fc328-d630-4a15-8a9e-6f9459460814&amount=6.66&mid=1000000326&locale=de" name="paysafecard" />
</payment-methods>
<cancel-redirect-url>https://demoshop-test.wirecard.com/demoshop/#/cancel</cancel-redirect-url>
<fail-redirect-url>https://demoshop-test.wirecard.com/demoshop/#/error</fail-redirect-url>
<success-redirect-url>https://demoshop-test.wirecard.com/demoshop/#/success</success-redirect-url>
<locale>de</locale>
<country>DE</country>
</payment>
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<payment xmlns="http://www.elastic-payments.com/schema/payment">
<merchant-account-id>493f9abe-0028-4631-b72e-836a7e3695af</merchant-account-id>
<request-id>${unique for each request|no whitespaces!}</request-id>
<transaction-type>authorization</transaction-type>
<ip-address>127.0.0.1</ip-address>
<country>DE</country>
<locale>de</locale>
<account-holder>
<first-name>John</first-name>
<last-name>Constatine</last-name>
<merchant-crm-id>A123456789</merchant-crm-id>
</account-holder>
<payment-methods>
<payment-method name="paysafecard" />
</payment-methods>
<requested-amount currency="EUR">0</requested-amount>
<cancel-redirect-url>https://demoshop-test.wirecard.com/demoshop/#/cancel</cancel-redirect-url>
<success-redirect-url>https://demoshop-test.wirecard.com/demoshop/#/success</success-redirect-url>
<fail-redirect-url>https://demoshop-test.wirecard.com/demoshop/#/error</fail-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>493f9abe-0028-4631-b72e-836a7e3695af</merchant-account-id>
<transaction-id>6b7b0093-0246-4cf9-869f-e6818601187c</transaction-id>
<request-id>cd5b8ffb-4b37-4bf5-a990-090c41669ccf</request-id>
<transaction-type>authorization</transaction-type>
<transaction-state>failed</transaction-state>
<completion-time-stamp>2018-10-01T08:58:29.000Z</completion-time-stamp>
<statuses>
<status code="500.1154" description="The amount requested is not valid." severity="error" />
</statuses>
<requested-amount currency="EUR">0</requested-amount>
<account-holder>
<first-name>John</first-name>
<last-name>Constatine</last-name>
<merchant-crm-id>A123456789</merchant-crm-id>
</account-holder>
<ip-address>127.0.0.1</ip-address>
<payment-methods>
<payment-method name="paysafecard" />
</payment-methods>
<cancel-redirect-url>https://demoshop-test.wirecard.com/demoshop/#/cancel</cancel-redirect-url>
<fail-redirect-url>https://demoshop-test.wirecard.com/demoshop/#/error</fail-redirect-url>
<success-redirect-url>https://demoshop-test.wirecard.com/demoshop/#/success</success-redirect-url>
<locale>de</locale>
<country>DE</country>
</payment>
capture-authorization
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<payment xmlns="http://www.elastic-payments.com/schema/payment">
<merchant-account-id>493f9abe-0028-4631-b72e-836a7e3695af</merchant-account-id>
<request-id>${unique for each request}</request-id>
<transaction-type>capture-authorization</transaction-type>
<parent-transaction-id>df662ff2-f5d6-4d68-a769-f2eca91b2965</parent-transaction-id>
<api-id>elastic-payment-page</api-id>
<ip-address>127.0.0.1</ip-address>
<country>DE</country>
<locale/>
<payment-methods>
<payment-method name="paysafecard" />
</payment-methods>
<requested-amount currency="EUR">1.00</requested-amount>
<cancel-redirect-url>https://demoshop-test.wirecard.com/demoshop/#/cancel</cancel-redirect-url>
<success-redirect-url>https://demoshop-test.wirecard.com/demoshop/#/success</success-redirect-url>
<fail-redirect-url>https://demoshop-test.wirecard.com/demoshop/#/error</fail-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" self="https://api-test.wirecard.com:443/engine/rest/merchants/493f9abe-0028-4631-b72e-836a7e3695af/payments/55bd4dd7-cbe0-4fcf-b869-111936f42091">
<merchant-account-id ref="https://api-test.wirecard.com:443/engine/rest/config/merchants/493f9abe-0028-4631-b72e-836a7e3695af">493f9abe-0028-4631-b72e-836a7e3695af</merchant-account-id>
<transaction-id>55bd4dd7-cbe0-4fcf-b869-111936f42091</transaction-id>
<request-id>d1830a3e-6258-4ae7-b9e6-04c61994ab71</request-id>
<transaction-type>capture-authorization</transaction-type>
<transaction-state>success</transaction-state>
<completion-time-stamp>2018-10-01T08:48:49.000Z</completion-time-stamp>
<statuses>
<status code="201.0000" description="paysafecard:The resource was successfully created." severity="information" />
</statuses>
<requested-amount currency="EUR">1.00</requested-amount>
<parent-transaction-id>df662ff2-f5d6-4d68-a769-f2eca91b2965</parent-transaction-id>
<account-holder>
<first-name>John</first-name>
<last-name>Constatine</last-name>
<merchant-crm-id>A123456789</merchant-crm-id>
</account-holder>
<ip-address>127.0.0.1</ip-address>
<payment-methods>
<payment-method name="paysafecard" />
</payment-methods>
<parent-transaction-amount currency="EUR">6.660000</parent-transaction-amount>
<api-id>elastic-api</api-id>
<cancel-redirect-url>https://demoshop-test.wirecard.com/demoshop/#/cancel</cancel-redirect-url>
<fail-redirect-url>https://demoshop-test.wirecard.com/demoshop/#/error</fail-redirect-url>
<success-redirect-url>https://demoshop-test.wirecard.com/demoshop/#/success</success-redirect-url>
<locale></locale>
<country>DE</country>
<iso>
<pos-transaction-time>084849</pos-transaction-time>
<pos-transaction-date>1001</pos-transaction-date>
</iso>
<provider-account-id>000000317457278A</provider-account-id>
</payment>
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<payment xmlns="http://www.elastic-payments.com/schema/payment">
<merchant-account-id>493f9abe-0028-4631-b72e-836a7e3695af</merchant-account-id>
<request-id>${unique for each request}</request-id>
<transaction-type>capture-authorization</transaction-type>
<parent-transaction-id>ab662ff2-f5d6-4d68-a769-f2eca91b2965</parent-transaction-id>
<api-id>elastic-payment-page</api-id>
<ip-address>127.0.0.1</ip-address>
<country>DE</country>
<locale />
<payment-methods>
<payment-method name="paysafecard" />
</payment-methods>
<requested-amount currency="EUR">1.00</requested-amount>
<cancel-redirect-url>https://demoshop-test.wirecard.com/demoshop/#/cancel</cancel-redirect-url>
<success-redirect-url>https://demoshop-test.wirecard.com/demoshop/#/success</success-redirect-url>
<fail-redirect-url>https://demoshop-test.wirecard.com/demoshop/#/error</fail-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" self="https://api-test.wirecard.com:443/engine/rest/merchants/493f9abe-0028-4631-b72e-836a7e3695af/payments/ded0d69e-c771-4d9e-859f-d6a632e2559b">
<merchant-account-id ref="https://api-test.wirecard.com:443/engine/rest/config/merchants/493f9abe-0028-4631-b72e-836a7e3695af">493f9abe-0028-4631-b72e-836a7e3695af</merchant-account-id>
<transaction-id>ded0d69e-c771-4d9e-859f-d6a632e2559b</transaction-id>
<request-id>d2cd32ee-2a20-45f8-bfed-c488a53ae510</request-id>
<transaction-type>capture-authorization</transaction-type>
<transaction-state>failed</transaction-state>
<completion-time-stamp>2018-10-01T08:57:30.000Z</completion-time-stamp>
<statuses>
<status code="400.1020" description="The Parent Transaction Id does not exist. Please check your input and try again." severity="error" />
</statuses>
<requested-amount currency="EUR">1.00</requested-amount>
<ip-address>127.0.0.1</ip-address>
<payment-methods>
<payment-method name="paysafecard" />
</payment-methods>
<api-id>elastic-api</api-id>
<cancel-redirect-url>https://demoshop-test.wirecard.com/demoshop/#/cancel</cancel-redirect-url>
<fail-redirect-url>https://demoshop-test.wirecard.com/demoshop/#/error</fail-redirect-url>
<success-redirect-url>https://demoshop-test.wirecard.com/demoshop/#/success</success-redirect-url>
<locale></locale>
<country>DE</country>
</payment>
void-authorization
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<payment xmlns="http://www.elastic-payments.com/schema/payment">
<merchant-account-id>493f9abe-0028-4631-b72e-836a7e3695af</merchant-account-id>
<request-id>${unique for each request}</request-id>
<transaction-type>void-authorization</transaction-type>
<requested-amount currency="EUR">1.00</requested-amount>
<parent-transaction-id>df662ff2-f5d6-4d68-a769-f2eca91b2965</parent-transaction-id>
<payment-methods>
<payment-method name="paysafecard" />
</payment-methods>
<cancel-redirect-url>https://demoshop-test.wirecard.com/demoshop/#/cancel</cancel-redirect-url>
<success-redirect-url>https://demoshop-test.wirecard.com/demoshop/#/success</success-redirect-url>
<fail-redirect-url>https://demoshop-test.wirecard.com/demoshop/#/error</fail-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" self="https://api-test.wirecard.com:443/engine/rest/merchants/493f9abe-0028-4631-b72e-836a7e3695af/payments/d56c26e6-3a80-4df5-adfd-d710bd35472d">
<merchant-account-id ref="https://api-test.wirecard.com:443/engine/rest/config/merchants/493f9abe-0028-4631-b72e-836a7e3695af">493f9abe-0028-4631-b72e-836a7e3695af</merchant-account-id>
<transaction-id>d56c26e6-3a80-4df5-adfd-d710bd35472d</transaction-id>
<request-id>5b855c8b-b5a5-4f7a-b449-1ace3c4a6384</request-id>
<transaction-type>void-authorization</transaction-type>
<transaction-state>success</transaction-state>
<completion-time-stamp>2018-10-01T08:55:04.000Z</completion-time-stamp>
<statuses>
<status code="201.0000" description="paysafecard:The resource was successfully created." severity="information" />
</statuses>
<requested-amount currency="EUR">1.00</requested-amount>
<parent-transaction-id>df662ff2-f5d6-4d68-a769-f2eca91b2965</parent-transaction-id>
<account-holder>
<first-name>John</first-name>
<last-name>Constatine</last-name>
<merchant-crm-id>A123456789</merchant-crm-id>
</account-holder>
<ip-address>127.0.0.1</ip-address>
<payment-methods>
<payment-method name="paysafecard" />
</payment-methods>
<parent-transaction-amount currency="EUR">6.660000</parent-transaction-amount>
<api-id>elastic-api</api-id>
<cancel-redirect-url>https://demoshop-test.wirecard.com/demoshop/#/cancel</cancel-redirect-url>
<fail-redirect-url>https://demoshop-test.wirecard.com/demoshop/#/error</fail-redirect-url>
<success-redirect-url>https://demoshop-test.wirecard.com/demoshop/#/success</success-redirect-url>
<locale>de</locale>
<country>DE</country>
<iso>
<pos-transaction-time>085504</pos-transaction-time>
<pos-transaction-date>1001</pos-transaction-date>
</iso>
<provider-account-id>000000317457278A</provider-account-id>
</payment>
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<payment xmlns="http://www.elastic-payments.com/schema/payment">
<merchant-account-id>493f9abe-0028-4631-b72e-836a7e3695af</merchant-account-id>
<request-id>${unique for each request}</request-id>
<transaction-type>void-authorization</transaction-type>
<requested-amount currency="EUR">1.00</requested-amount>
<parent-transaction-id>a56c26e6-3a80-4df5-adfd-d710bd35472d</parent-transaction-id>
<payment-methods>
<payment-method name="paysafecard" />
</payment-methods>
<cancel-redirect-url>https://demoshop-test.wirecard.com/demoshop/#/cancel</cancel-redirect-url>
<success-redirect-url>https://demoshop-test.wirecard.com/demoshop/#/success</success-redirect-url>
<fail-redirect-url>https://demoshop-test.wirecard.com/demoshop/#/error</fail-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" self="https://api-test.wirecard.com:443/engine/rest/merchants/493f9abe-0028-4631-b72e-836a7e3695af/payments/2cca20a0-fd1c-4f84-b4c7-82e28a12f14b">
<merchant-account-id ref="https://api-test.wirecard.com:443/engine/rest/config/merchants/493f9abe-0028-4631-b72e-836a7e3695af">493f9abe-0028-4631-b72e-836a7e3695af</merchant-account-id>
<transaction-id>2cca20a0-fd1c-4f84-b4c7-82e28a12f14b</transaction-id>
<request-id>7fa75695-b706-49fa-8209-32486b0c635c</request-id>
<transaction-type>void-authorization</transaction-type>
<transaction-state>failed</transaction-state>
<completion-time-stamp>2018-10-01T08:56:03.000Z</completion-time-stamp>
<statuses>
<status code="400.1020" description="The Parent Transaction Id does not exist. Please check your input and try again." severity="error" />
</statuses>
<requested-amount currency="EUR">1.00</requested-amount>
<payment-methods>
<payment-method name="paysafecard" />
</payment-methods>
<api-id>elastic-api</api-id>
<cancel-redirect-url>https://demoshop-test.wirecard.com/demoshop/#/cancel</cancel-redirect-url>
<fail-redirect-url>https://demoshop-test.wirecard.com/demoshop/#/error</fail-redirect-url>
<success-redirect-url>https://demoshop-test.wirecard.com/demoshop/#/success</success-redirect-url>
</payment>
debit
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<payment xmlns="http://www.elastic-payments.com/schema/payment">
<merchant-account-id>493f9abe-0028-4631-b72e-836a7e3695af</merchant-account-id>
<request-id>${unique for each request}</request-id>
<transaction-type>debit</transaction-type>
<api-id>elastic-payment-page</api-id>
<ip-address>127.0.0.1</ip-address>
<country>DE</country>
<locale>DE</locale>
<account-holder>
<merchant-crm-id>A123456789</merchant-crm-id>
</account-holder>
<payment-methods>
<payment-method name="paysafecard" />
</payment-methods>
<requested-amount currency="EUR">1.00</requested-amount>
<cancel-redirect-url>https://demoshop-test.wirecard.com/demoshop/#/cancel</cancel-redirect-url>
<success-redirect-url>https://demoshop-test.wirecard.com/demoshop/#/success</success-redirect-url>
<fail-redirect-url>https://demoshop-test.wirecard.com/demoshop/#/error</fail-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>493f9abe-0028-4631-b72e-836a7e3695af</merchant-account-id>
<transaction-id>e85571b6-c23a-4357-b5bb-c65ea2d21cf4</transaction-id>
<request-id>e5509e18-96f3-4d47-b33e-9bb8c35317f4</request-id>
<transaction-type>debit</transaction-type>
<transaction-state>success</transaction-state>
<completion-time-stamp>2018-10-01T08:59:25.000Z</completion-time-stamp>
<statuses>
<status code="201.0000" description="The resource was successfully created." severity="information" />
</statuses>
<requested-amount currency="EUR">1.00</requested-amount>
<account-holder>
<merchant-crm-id>A123456789</merchant-crm-id>
</account-holder>
<ip-address>127.0.0.1</ip-address>
<payment-methods>
<payment-method url="https://customer.test.at.paysafecard.com/psccustomer/GetCustomerPanelServlet?currency=EUR&mtid=e5509e18-96f3-4d47-b33e-9bb8c35317f4&amount=1.00&mid=1000000326&locale=DE" name="paysafecard" />
</payment-methods>
<api-id>elastic-payment-page</api-id>
<cancel-redirect-url>https://demoshop-test.wirecard.com/demoshop/#/cancel</cancel-redirect-url>
<fail-redirect-url>https://demoshop-test.wirecard.com/demoshop/#/error</fail-redirect-url>
<success-redirect-url>https://demoshop-test.wirecard.com/demoshop/#/success</success-redirect-url>
<locale>DE</locale>
<country>DE</country>
</payment>
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<payment xmlns="http://www.elastic-payments.com/schema/payment">
<merchant-account-id>493f9abe-0028-4631-b72e-836a7e3695af</merchant-account-id>
<request-id>${unique for each request}</request-id>
<transaction-type>debit</transaction-type>
<api-id>elastic-payment-page</api-id>
<ip-address>127.0.0.1</ip-address>
<country>DE</country>
<locale>DE</locale>
<account-holder>
<merchant-crm-id>A123456789</merchant-crm-id>
</account-holder>
<payment-methods>
<payment-method name="paysafecard" />
</payment-methods>
<requested-amount currency="EUR">0</requested-amount>
<cancel-redirect-url>https://demoshop-test.wirecard.com/demoshop/#/cancel</cancel-redirect-url>
<success-redirect-url>https://demoshop-test.wirecard.com/demoshop/#/success</success-redirect-url>
<fail-redirect-url>https://demoshop-test.wirecard.com/demoshop/#/error</fail-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>493f9abe-0028-4631-b72e-836a7e3695af</merchant-account-id>
<transaction-id>5b3f149c-8cdd-476b-abb2-775ab9823d8a</transaction-id>
<request-id>61266507-eeb8-4284-a18d-104978088ca8</request-id>
<transaction-type>debit</transaction-type>
<transaction-state>failed</transaction-state>
<completion-time-stamp>2018-10-01T09:00:57.000Z</completion-time-stamp>
<statuses>
<status code="500.1154" description="The amount requested is not valid." severity="error" />
</statuses>
<requested-amount currency="EUR">0</requested-amount>
<account-holder>
<merchant-crm-id>A123456789</merchant-crm-id>
</account-holder>
<ip-address>127.0.0.1</ip-address>
<payment-methods>
<payment-method name="paysafecard" />
</payment-methods>
<api-id>elastic-payment-page</api-id>
<cancel-redirect-url>https://demoshop-test.wirecard.com/demoshop/#/cancel</cancel-redirect-url>
<fail-redirect-url>https://demoshop-test.wirecard.com/demoshop/#/error</fail-redirect-url>
<success-redirect-url>https://demoshop-test.wirecard.com/demoshop/#/success</success-redirect-url>
<locale>DE</locale>
<country>DE</country>
</payment>
credit
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<payment xmlns="http://www.elastic-payments.com/schema/payment">
<merchant-account-id>493f9abe-0028-4631-b72e-836a7e3695af</merchant-account-id>
<request-id>{{$guid}}</request-id>
<transaction-type>credit</transaction-type>
<requested-amount currency="EUR">1</requested-amount>
<account-holder>
<first-name>rqlworzJKhWQGaWYZBHwJSzFnN</first-name>
<last-name>oCKYNLTwlZFDjpXjrAjZwDBKer</last-name>
<email>psc.test+mypins_wirecardwalter_ZMsXc@paysafecard.com</email>
<merchant-crm-id>544545454</merchant-crm-id>
<date-of-birth>1988-10-31</date-of-birth>
</account-holder>
<payment-methods>
<payment-method name="paysafecard"/>
</payment-methods>
</payment>
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<payment xmlns="http://www.elastic-payments.com/schema/payment">
<merchant-account-id>493f9abe-0028-4631-b72e-836a7e3695af</merchant-account-id>
<transaction-id>21d5afaa-f235-41a8-850d-6944e81c862c</transaction-id>
<request-id>aa4c9e67-a8c5-47d8-a9ff-d727840d021a</request-id>
<transaction-type>credit</transaction-type>
<transaction-state>success</transaction-state>
<completion-time-stamp>2020-03-31T14:00:47.000Z</completion-time-stamp>
<statuses>
<status code="201.0000" description="The resource was successfully created." severity="information"/>
</statuses>
<requested-amount currency="EUR">1</requested-amount>
<account-holder>
<first-name>rqlworzJKhWQGaWYZBHwJSzFnN</first-name>
<last-name>oCKYNLTwlZFDjpXjrAjZwDBKer</last-name>
<email>psc.test+mypins_wirecardwalter_ZMsXc@paysafecard.com</email>
<merchant-crm-id>544545454</merchant-crm-id>
</account-holder>
<payment-methods>
<payment-method name="paysafecard"/>
</payment-methods>
</payment>
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<payment xmlns="http://www.elastic-payments.com/schema/payment">
<merchant-account-id>493f9abe-0028-4631-b72e-836a7e3695af</merchant-account-id>
<request-id>{{$guid}}</request-id>
<transaction-type>credit</transaction-type>
<requested-amount currency="EUR">1</requested-amount>
<account-holder>
<first-name>rqlworzJKhWQGaWYZBHwJSzFnN</first-name>
<last-name>oCKYNLTwlZFDjpXjrAjZwDBKer_wrong</last-name>
<email>psc.test+mypins_wirecardwalter_ZMsXc@paysafecard</email>
<merchant-crm-id>544545454</merchant-crm-id>
<date-of-birth>1988-10-31</date-of-birth>
</account-holder>
<payment-methods>
<payment-method name="paysafecard"/>
</payment-methods>
</payment>
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<payment xmlns="http://www.elastic-payments.com/schema/payment">
<merchant-account-id>493f9abe-0028-4631-b72e-836a7e3695af</merchant-account-id>
<transaction-id>5def9425-6345-4c04-9710-4fe243752cbd</transaction-id>
<request-id>c2d227b0-15d8-4274-8cd2-414cdec9b884</request-id>
<transaction-type>credit</transaction-type>
<transaction-state>failed</transaction-state>
<completion-time-stamp>2020-03-31T14:00:03.000Z</completion-time-stamp>
<statuses>
<status code="400.1016" description="The Email Address is syntactically incorrect. Please check your input and try again." severity="error"/>
</statuses>
<requested-amount currency="EUR">1</requested-amount>
<account-holder>
<first-name>rqlworzJKhWQGaWYZBHwJSzFnN</first-name>
<last-name>oCKYNLTwlZFDjpXjrAjZwDBKer_wrong</last-name>
<email>psc.test+mypins_wirecardwalter_ZMsXc@paysafecard</email>
<merchant-crm-id>544545454</merchant-crm-id>
</account-holder>
<payment-methods>
<payment-method name="paysafecard"/>
</payment-methods>
</payment>
Wirecard Payment Page v2
Wirecard Payment Page v1 is no longer supported. We recommend using Wirecard Payment Page v2 integration instead. If you have questions about your existing Wirecard Payment Page v1 integration, consult our REST API integration guide.
General Information
This is a reference page for paysafecard. Here you find all the information necessary for integrating this payment method in your Hosted and Embedded Payment Page.
Are you unfamiliar with Wirecard Payment Page v2 (WPP v2)?
Visit one of the integration guides
(Hosted,
Embedded) for a quick explanation and
a step-by-step guide before continuing.
|
All WPP v2 integrations share a common process flow for creating payments.
Below, you find example requests for debit, authorization and capture-authorization, including field lists with short descriptions.
These requests are designed for the testing environment and do not use real information.
For production, you need to use production credentials. For details contact our merchant support. |
All given requests return successful responses.
For more details on the redirect-url
, see the
Configuring Redirects and IPNs for WPP v2 section.
For response verification examples, see the WPP v2 Security section.
About paysafecard
paysafecard is a well-known prepaid electronic payment method for mainly online shopping e.g. in gaming, social media & communities and music, film & entertainment industries. paysafecard is currently available in many countries and languages all over the world. It offers a broad selection of currencies to choose from.
Consumers either purchase a paysafecard voucher which contains a 16-digit PIN from sales outlets or from authorized online PIN shops, or alternatively, create a my paysafecard account defining their personal username and password.
paysafecard PINs can be used multiple times for paying in online shops or for topping up the my paysafecard account.
Using my paysafecard during the payment process in an online shop, you do not have to reenter the PIN again, only username and password are required.
Paying with paysafecard, the consumer enters the 16 digit number and the amount tendered is deducted from the paysafecard balance. Thus, the same PIN code can be used multiple times. For larger sums, it is possible to combine various paysafecard PINs. Combining PINs also allows consumers to use up any remaining credit on a paysafecard PIN. The current balance of each paysafecard as well as its transaction history and production date can be viewed at the official paysafecard site by entering the respective 16 digit PIN code.
Payments for goods or services other than EUR are converted into EUR at the conversion rate at the time of purchase. The conversion fee varies depending on the original currency and end currency and it varies from country to country. The currency conversion rates for foreign currencies are always available on the paysafecard web site.
Test Credentials
Test credentials for transaction types debit, authorization and capture-authorization.
URI (Endpoint) |
|
---|---|
Merchant Account ID (MAID) |
4c0de18e-4c20-40a7-a5d8-5178f0fe95bd |
Username |
70000-APITEST-AP |
Password |
qD2wzQ_hrc!8 |
Secret Key (used for response verification) |
bb1f2975-827b-4aa8-bec6-405191d85fa5 |
16-digit PIN |
3105 6626 4830 5874 |
---|
Countries and Currencies
paysafecard can be used in the following countries and with the listed currencies:
Countries |
Europe |
Austria, Belgium, Bulgaria, Croatia, Cyprus, Czech Republic, Denmark, Finland, France, Georgia, Germany, Greece, Hungary, Ireland, Italy, Latvia, Lithuania, Luxembourg, Malta, Montenegro, The Netherlands, Norway, Poland, Portugal, Romania, Slovakia, Slovenia, Spain, Sweden, Switzerland, Turkey, UK |
---|---|---|
North & South America |
Argentina, Brazil, Canada, Mexico, Peru, Uruguay, USA |
|
Middle East |
Kuwait, Saudi Arabia, UAE |
|
Oceania |
Australia, New Zealand |
|
Africa |
Egypt |
|
Currencies |
AED, ARS, AUD, BRL, CAD, CHF, CZK, DKK, EGP, EUR, GBP, GEL, HRK, HUF, KWD, MXN, NOK, NZD, PEN, PLN, RON, SAR, SEK, TRY, USD, UYU |
Transaction Type debit
A debit transaction charges the consumer’s paysafecard account with the specified amount and transfers it immediately.
For a successful debit transaction:
-
Create a payment session (initial debit request).
-
Redirect the consumer to the payment page (initial response URL).
-
Highly recommended: Parse and process the payment response.
We provide ready-made JSON examples for each step of this process. You can find them below.
Endpoint for paysafecard payments.
The initial request creates the payment session. If it is successful, you receive a URL as a response which redirects to the payment form.
Authorization |
Basic NzAwMDAtQVBJVEVTVC1BUDpxRDJ3elFfaHJjITg= |
---|---|
Content-Type |
application/json |
{
"payment":{
"merchant-account-id":{
"value":"4c0de18e-4c20-40a7-a5d8-5178f0fe95bd"
},
"request-id":"{{$guid}}",
"transaction-type":"debit",
"requested-amount":{
"value":10.1,
"currency":"EUR"
},
"account-holder":{
"merchant-crm-id":"A123456789"
},
"payment-methods":{
"payment-method":[
{
"name":"paysafecard"
}
]
},
"notifications": {
"notification": [
{
"url": "https://yourdomain.com/ipn.php"
}
]
},
"success-redirect-url": "https://demoshop-test.wirecard.com/demoshop/#/success",
"cancel-redirect-url": "https://demoshop-test.wirecard.com/demoshop/#/cancel",
"fail-redirect-url": "https://demoshop-test.wirecard.com/demoshop/#/error"
}
}
Field (JSON) | Data Type | Mandatory/Optional | Size | Description | |
---|---|---|---|---|---|
merchant-account-id |
value |
String |
Mandatory |
36 |
A unique identifier assigned to every merchant account (by Wirecard). |
request-id |
String |
Mandatory |
150 |
A unique identifier assigned by the merchant to each request. Used when searching for or referencing it later. You may enter any As the request ID must be unique, Allowed characters: [a-z0-9-_] |
|
transaction-type |
String |
Mandatory |
n/a |
The requested transaction type, i.e.
Available transaction types for paysafecard:
|
|
requested-amount |
value |
Numeric |
Mandatory |
9.2 |
The full amount that is requested/contested in a transaction. 2 decimal digits allowed. Use . (decimal point) as the separator. |
currency |
String |
Mandatory |
3 |
The currency of the requested/contested
transaction amount. For paysafecard payments, the currency must be set to Format: 3-character abbreviation according to ISO 4217. |
|
account-holder |
merchant-crm-id |
String |
Mandatory |
64 |
Unique ID identifying
the consumer of your online shop, e.g. from your CRM system. |
payment-method |
name |
String |
Mandatory |
256 |
The name of the payment method used for the transaction, i.e. |
notification-url |
String |
Optional |
The URL to which Wirecard Payment Gateway sends the transaction outcome. |
||
success-redirect-url |
String |
Mandatory |
2000 |
The URL to which the consumer
is redirected after a successful payment,
e.g. |
|
fail-redirect-url |
String |
Mandatory |
2000 |
The URL to which the consumer is
redirected after a failed payment,
e.g. |
|
cancel-redirect-url |
String |
Mandatory |
2000 |
The URL to which the consumer
is redirected after having canceled a payment,
e.g. |
{
"payment-redirect-url": "https://wpp-test.wirecard.com/processing?wPaymentToken=V7VmWd2cB5hR9LB7X_KZRYDbY1brTNYpvZI-p98DnuE"
}
Field (JSON) | Data Type | Description |
---|---|---|
payment-redirect-url |
String |
The URL which redirects to the payment form (hosted by paysafecard). Sent as a response to the initial request. |
At this point, you need to redirect your consumer to
payment-redirect-url
(or render it in an iframe depending on your
integration method).
Consumers are redirected to the payment form. There they enter their data and submit the form to confirm the payment. A payment can be:
-
successful (
transaction-state: success
), -
failed (
transaction-state: failed
), -
canceled. The consumer canceled the payment before/after submission (
transaction-state: failed
).
The transaction result is the value of transaction-state
in the
payment response. More details (including the status code) can also be
found in the payment response in the statuses
object. Canceled
payments are returned as failed, but the status description
indicates it
was canceled.
In any case (unless the consumer cancels the transaction on a 3rd party provider page), a base64 encoded response containing payment information is sent to the configured redirection URL. See Configuring Redirects and IPNs for WPP v2 for more details on redirection targets after payment & transaction status notifications.
You can find a decoded payment response example below.
{
"payment" : {
"merchant-account-id" : {
"value" : "4c0de18e-4c20-40a7-a5d8-5178f0fe95bd"
},
"request-id" : "66b62159-691f-40e3-8411-24c854bb0f8b",
"account-holder" : {
"merchant-crm-id" : "A123456789"
},
"transaction-type" : "debit",
"parent-transaction-id" : "8d2ec658-d234-44cb-b557-791489e8464f",
"payment-methods" : {
"payment-method" : [ {
"name" : "paysafecard"
} ]
},
"transaction-state" : "success",
"transaction-id" : "1f806091-5ab1-4832-8ccf-64232f1a7677",
"completion-time-stamp" : "2018-09-26T05:54:20",
"requested-amount" : {
"currency" : "EUR",
"value" : 10.100000
},
"statuses" : {
"status" : [ {
"description" : "The resource was successfully created.",
"severity" : "information",
"code" : "201.0000"
} ]
},
"api-id" : "{api-id]",
"success-redirect-url" : "https://demoshop-test.wirecard.com/demoshop/#/success",
"cancel-redirect-url" : "https://demoshop-test.wirecard.com/demoshop/#/cancel",
"fail-redirect-url" : "https://demoshop-test.wirecard.com/demoshop/#/error"
}
}
Field (JSON) | Data Type | Description | |
---|---|---|---|
merchant-account-id |
value |
String |
A unique identifier assigned to every merchant account (by Wirecard). You receive a unique merchant account ID for each payment method. |
request-id |
String |
A unique identifier assigned to every request (by merchant). Used when searching for or referencing it later. |
|
account-holder |
merchant-crm-id |
String |
Unique ID identifying the consumer of your online shop, e.g. from your CRM system. |
transaction-type |
String |
The requested transaction type, here: |
|
parent-transaction-id |
String |
The ID of the transaction being referenced
as a parent. As a debit transaction is internally split into sub-transactions,
the |
|
payment-method |
name |
String |
The name of the payment method
used for the transaction, here: |
transaction-state |
String |
The current transaction state. Possible values:
Typically, a transaction starts with state in-progress and finishes with state either success or failed. This information is returned in the response only. |
|
transaction-id |
String |
A unique identifier assigned to every transaction. Used when searching for or referencing it later. |
|
completion-time-stamp |
Date |
The UTC/ISO time-stamp documenting the time and date when the transaction was executed. Format: YYYY-MM-DDThh:mm:ss.sssZ (ISO). |
|
requested-amount |
value |
Numeric |
The full amount that was requested/contested in the transaction. |
currency |
String |
The currency of the requested/contested transaction amount. Format: 3-character abbreviation according to ISO 4217. |
|
status |
description |
String |
The description of the transaction status message. |
severity |
String |
The definition of the status message. Possible values:
|
|
code |
String |
Status code of the status message. |
|
api-id |
String |
Identifier of the currently used API. |
|
success-redirect-url |
String |
The URL to which the consumer is redirected
after a successful payment,
e.g. |
|
cancel-redirect-url |
String |
The URL to which the consumer is redirected
after having cancelled a payment,
e.g. |
|
fail-redirect-url |
String |
The URL to which the consumer is redirected
after an unsuccessful payment,
e.g. |
Transaction Type authorization
An authorization
-
reserves funds on a consumer’s paysafecard account (e.g. until the merchant ships/delivers the goods/services).
-
does not trigger money transfer.
To transfer money, the amount has to be captured with the transaction type capture-authorization.
For a successful authorization transaction
-
Create an authorization session (initial authorization request).
-
Redirect the consumer to the payment page (initial response URL).
-
Highly recommended: Parse and process the payment response.
Endpoint for paysafecard payments.
The initial request creates the payment session. If it’s successful, you receive a URL as a response which redirects to the paysafecard payment form.
Authorization |
Basic NzAwMDAtQVBJVEVTVC1BUDpxRDJ3elFfaHJjITg= |
---|---|
Content-Type |
application/json |
{
"payment":{
"merchant-account-id":{
"value":"4c0de18e-4c20-40a7-a5d8-5178f0fe95bd"
},
"request-id":"{{$guid}}",
"transaction-type":"authorization",
"requested-amount":{
"value":10.1,
"currency":"EUR"
},
"account-holder":{
"merchant-crm-id":"A123456789"
},
"payment-methods":{
"payment-method":[
{
"name":"paysafecard"
}
]
},
"notifications": {
"notification": [
{
"url": "https://yourdomain.com/ipn.php"
}
]
},
"success-redirect-url": "https://demoshop-test.wirecard.com/demoshop/#/success",
"cancel-redirect-url": "https://demoshop-test.wirecard.com/demoshop/#/cancel",
"fail-redirect-url": "https://demoshop-test.wirecard.com/demoshop/#/error"
}
}
Field (JSON) | Data Type | Mandatory/Optional | Size | Description | |
---|---|---|---|---|---|
merchant-account-id |
value |
String |
Mandatory |
36 |
A unique identifier assigned to every merchant account (by Wirecard). |
request-id |
String |
Mandatory |
150 |
A unique identifier assigned by the merchant to each request. Used when searching for or referencing it later. You may enter any As the request ID must be unique, Allowed characters: [a-z0-9-_] |
|
transaction-type |
String |
Mandatory |
n/a |
The requested transaction type, i.e.
Available transaction types for paysafecard:
|
|
requested-amount |
value |
Numeric |
Mandatory |
9.2 |
The full amount that is requested/contested in a transaction. 2 decimal digits allowed. Use . (decimal point) as the separator. |
currency |
String |
Mandatory |
3 |
The currency of the requested/contested
transaction amount. For paysafecard payments, the currency must be set to Format: 3-character abbreviation according to ISO 4217. |
|
account-holder |
merchant-crm-id |
String |
Mandatory |
64 |
Unique ID identifying
the consumer of your online shop, e.g. from your CRM system. |
payment-method |
name |
String |
Mandatory |
256 |
The name of the payment method used for the transaction, i.e. |
notification-url |
String |
Optional |
The URL to which Wirecard Payment Gateway sends the transaction outcome. |
||
success-redirect-url |
String |
Mandatory |
2000 |
The URL to which the consumer
is redirected after a successful payment,
e.g. |
|
fail-redirect-url |
String |
Mandatory |
2000 |
The URL to which the consumer is
redirected after a failed payment,
e.g. |
|
cancel-redirect-url |
String |
Mandatory |
2000 |
The URL to which the consumer
is redirected after having canceled a payment,
e.g. |
The response to this initial authorization request is the
payment-redirect-url
.
Proceed with step 2 in a
similar way as described for debit.
{
"payment" : {
"merchant-account-id" : {
"value" : "4c0de18e-4c20-40a7-a5d8-5178f0fe95bd"
},
"request-id" : "66b62159-691f-40e3-8411-24c854bb0f8b",
"account-holder" : {
"merchant-crm-id" : "A123456789"
},
"transaction-type" : "authorization",
"parent-transaction-id" : "8d2ec658-d234-44cb-b557-791489e8464f",
"payment-methods" : {
"payment-method" : [ {
"name" : "paysafecard"
} ]
},
"transaction-state" : "success",
"transaction-id" : "The-transaction-id-received-here-is-the-parent-transaction-id-of-the-following-capture-authorization",
"completion-time-stamp" : "2018-09-26T05:54:20",
"requested-amount" : {
"currency" : "EUR",
"value" : 10.100000
},
"statuses" : {
"status" : [ {
"description" : "The resource was successfully created.",
"severity" : "information",
"code" : "201.0000"
} ]
},
"api-id" : "{api-id]",
"success-redirect-url" : "https://demoshop-test.wirecard.com/demoshop/#/success",
"cancel-redirect-url" : "https://demoshop-test.wirecard.com/demoshop/#/cancel",
"fail-redirect-url" : "https://demoshop-test.wirecard.com/demoshop/#/error"
}
}
Field (JSON) | Data Type | Description | |
---|---|---|---|
merchant-account-id |
value |
String |
A unique identifier assigned to every merchant account (by Wirecard). You receive a unique merchant account ID for each payment method. |
request-id |
String |
A unique identifier assigned to every request (by merchant). Used when searching for or referencing it later. |
|
account-holder |
merchant-crm-id |
String |
Unique ID identifying the consumer of your online shop, e.g. from your CRM system. The parameter must not be a human readable email address. However, if an email address is used, you have to hash it beforehand. |
transaction-type |
String |
The requested transaction type, i.e. |
|
parent-transaction-id |
String |
The ID of the transaction being referenced as a parent (e.g. the transaction ID of a previous internal get-url). |
|
payment-method |
name |
String |
The name of the payment method
used for the transaction, here: |
transaction-state |
String |
The current transaction state. Possible values:
Typically, a transaction starts with state in-progress and finishes with state either success or failed. This information is returned in the response only. |
|
transaction-id |
String |
A unique identifier assigned to every transaction.
Used when searching for or referencing it later. |
|
completion-time-stamp |
Date |
The UTC/ISO time-stamp documenting the time and date when the transaction was executed. Format: YYYY-MM-DDThh:mm:ss.sssZ (ISO). |
|
requested-amount |
value |
Numeric |
The full amount that was requested/contested in the transaction. |
currency |
String |
The currency of the requested/contested transaction amount. Format: 3-character abbreviation according to ISO 4217. |
|
status |
description |
String |
The description of the transaction status message. See the complete list of status codes and descriptions. |
severity |
String |
The definition of the status message. Possible values:
|
|
code |
String |
Status code of the status message. |
|
api-id |
String |
Identifier of the currently used API. |
|
success-redirect-url |
String |
The URL to which the consumer is redirected
after a successful payment,
e.g. |
|
cancel-redirect-url |
String |
The URL to which the consumer is redirected
after having cancelled a payment,
e.g. |
|
fail-redirect-url |
String |
The URL to which the consumer is redirected
after an unsuccessful payment,
e.g. |
Transaction Type capture-authorization
A capture-authorization transfers funds reserved by a
prior authorization
request from the consumer’s account.
You can refer to a preceding authorization with the
field parent-transaction-id
. The transaction-id
from an
authorization response is the parent-transaction-id
of the
following capture-authorization request.
Endpoint for paysafecard payments.
The initial request creates the payment session. If it is successful, you receive a URL as a response which redirects to the paysafecard payment form.
Authorization |
Basic NzAwMDAtQVBJVEVTVC1BUDpxRDJ3elFfaHJjITg= |
---|---|
Content-Type |
application/json |
{
"payment": {
"merchant-account-id":{
"value":"4c0de18e-4c20-40a7-a5d8-5178f0fe95bd"
},
"request-id":"{{$guid}}",
"transaction-type":"capture-authorization",
"parent-transaction-id": "enter-the-transaction-id-of-the-preceding-authorization",
"requested-amount":{
"value":10.1,
"currency":"EUR"
},
"payment-methods":{
"payment-method":[
{
"name":"paysafecard"
}
]
},
"account-holder":{
"merchant-crm-id":"A123456789"
},
"notifications": {
"notification": [
{
"url": "https://yourdomain.com/ipn.php"
}
]
},
"success-redirect-url":"https://demoshop-test.wirecard.com/demoshop/#/success",
"cancel-redirect-url":"https://demoshop-test.wirecard.com/demoshop/#/cancel",
"fail-redirect-url":"https://demoshop-test.wirecard.com/demoshop/#/error"
}
}
Field (JSON) | Data Type | Mandatory/Optional | Size | Description | |
---|---|---|---|---|---|
merchant-account-id |
value |
String |
Mandatory |
36 |
A unique identifier assigned to every merchant account (by Wirecard). |
request-id |
String |
Mandatory |
150 |
A unique identifier assigned by the merchant to each request. Used when searching for or referencing it later. You may enter any As the request ID must be unique, Allowed characters: [a-z0-9-_] |
|
transaction-type |
String |
Mandatory |
n/a |
The requested transaction type, i.e.
Available transaction types for paysafecard:
|
|
parent-transaction-id |
String |
Mandatory |
36 |
The ID of the transaction being referenced as a parent (e.g. the transaction ID of a previous internal get-url). |
|
requested-amount |
value |
Numeric |
Mandatory |
9.2 |
The full amount that is requested/contested in a transaction. 2 decimal digits allowed. Use . (decimal point) as the separator. |
currency |
String |
Mandatory |
3 |
The currency of the requested/contested
transaction amount. For paysafecard payments, the currency must be set to Format: 3-character abbreviation according to ISO 4217. |
|
account-holder |
merchant-crm-id |
String |
Mandatory |
64 |
Unique ID identifying
the consumer of your online shop, e.g. from your CRM system. |
payment-method |
name |
String |
Mandatory |
256 |
The name of the payment method used for the transaction, i.e. |
notification-url |
String |
Optional |
The URL to which Wirecard Payment Gateway sends the transaction outcome. |
||
success-redirect-url |
String |
Mandatory |
2000 |
The URL to which the consumer
is redirected after a successful payment,
e.g. |
|
fail-redirect-url |
String |
Mandatory |
2000 |
The URL to which the consumer is
redirected after a failed payment,
e.g. |
|
cancel-redirect-url |
String |
Mandatory |
2000 |
The URL to which the consumer
is redirected after having canceled a payment,
e.g. |
{
"payment": {
"merchant-account-id": {
"value": "4c0de18e-4c20-40a7-a5d8-5178f0fe95bd"
},
"request-id": "37f26cbf-f4aa-429e-9966-82d2b3cbad46",
"account-holder": {
"merchant-crm-id": "A123456789"
},
"transaction-type": "capture-authorization",
"parent-transaction-id": "6dadad3d-3cbd-4789-8165-ffdf15752bca",
"payment-methods": {
"payment-method": [
{
"name": "paysafecard"
}
]
},
"transaction-state": "success",
"transaction-id": "2a1baa9d-d29f-408c-8bed-ec38194e4e16",
"completion-time-stamp": "2018-10-01T13:17:58",
"requested-amount": {
"value": 10.1,
"currency": "EUR"
},
"statuses": {
"status": [
{
"code": "201.0000",
"description": "paysafecard:The resource was successfully created.",
"severity": "information"
}
]
},
"api-id": "{api-id]",
"success-redirect-url": "https://demoshop-test.wirecard.com/demoshop/#/success",
"cancel-redirect-url": "https://demoshop-test.wirecard.com/demoshop/#/cancel",
"fail-redirect-url": "https://demoshop-test.wirecard.com/demoshop/#/error",
}
}
}
Field (JSON) | Data Type | Description | |
---|---|---|---|
merchant-account-id |
value |
String |
A unique identifier assigned to every merchant account (by Wirecard). You receive a unique merchant account ID for each payment method. |
request-id |
String |
A unique identifier assigned to every request (by merchant). Used when searching for or referencing it later. |
|
account-holder |
merchant-crm-id |
String |
Unique ID identifying the consumer of your online shop, e.g. from your CRM system. The parameter must not be a human readable email address. However, if an email address is used, you have to hash it beforehand. |
transaction-type |
String |
The requested transaction type, i.e. |
|
parent-transaction-id |
String |
The ID of the transaction being referenced as a parent, i.e. the transaction ID of the preceding authorization. |
|
payment-method |
name |
String |
The name of the payment method
used for the transaction, i.e. |
transaction-state |
String |
The current transaction state. Possible values:
Typically, a transaction starts with state in-progress and finishes with state either success or failed. This information is returned in the response only. |
|
transaction-id |
String |
A unique identifier assigned to every transaction. Used when searching for or referencing it later. |
|
completion-time-stamp |
Date |
The UTC/ISO time-stamp documenting the time and date when the transaction was executed. Format: YYYY-MM-DDThh:mm:ss.sssZ (ISO). |
|
requested-amount |
value |
Numeric |
The full amount that was requested/contested in the transaction. |
currency |
String |
The currency of the requested/contested transaction amount. Format: 3-character abbreviation according to ISO 4217. |
|
status |
description |
String |
The description of the transaction status message. See the complete list of status codes and descriptions. |
severity |
String |
The definition of the status message. Possible values:
|
|
code |
String |
Status code of the status message. |
|
api-id |
String |
Identifier of the currently used API. |
|
success-redirect-url |
String |
The URL to which the consumer is redirected
after a successful payment,
e.g. |
|
cancel-redirect-url |
String |
The URL to which the consumer is redirected
after having cancelled a payment,
e.g. |
|
fail-redirect-url |
String |
The URL to which the consumer is redirected
after an unsuccessful payment,
e.g. |
void-authorization
You may cancel an authorization using the REST API if the authorization was successful and has neither been captured nor voided before.
Only the whole authorized amount may be voided.
For a void process you must provide a parent-transaction-id
. This is the
transaction-id
of the preceding authorization. You can gather it from the
response to a successful authorization.
NVP Field Reference
NVP equivalents for JSON fields (for migrating merchants).
Here you can:
-
find the NVP equivalents for JSON fields (for migrating merchants),
-
see the structure of a full request (optional fields included).
{ "payment":{
"merchant-account-id":{
"value":"string"
},
"request-id":"string",
"transaction-type":"string",
"requested-amount":{
"value":0,
"currency":"string"
},
"account-holder":{
"merchant-crm-id":"string"
},
"payment-methods":{
"payment-method":[
{
"name":"paysafecard"
}
]
},
"success-redirect-url": "string",
"cancel-redirect-url": "string",
"fail-redirect-url": "string"
}
}
Field (NVP) | Field (JSON) | JSON Parent |
---|---|---|
merchant_account_id |
value |
merchant-account-id ({ }) |
request_id |
request-id |
payment ({ }) |
transaction_type |
transaction-type |
payment ({ }) |
requested_amount |
value |
requested-amount ({ }) |
requested_amount_currency |
currency |
requested-amount ({ }) |
merchant_crm_id |
merchant-crm-id |
account-holder ({ }) |
payment_method |
payment-method ([ ])/name |
payment-methods ({ }) |
success_redirect_url |
success-redirect-url |
payment ({ }) |
fail_redirect_url |
fail-redirect-url |
payment ({ }) |
cancel_redirect_url |
cancel-redirect-url |
payment ({ }) |
ip_address |
ip-address |
payment ({ }) |
{
"payment" : {
"transaction-state" : "string",
"transaction-id" : "string",
"completion-time-stamp" : "date",
"api-id" : "string",
"statuses" : {
"status" : [ {
"description" : "string",
"severity" : "string",
"code" : "string"
} ]
}
}
}
Field (NVP) | Field (JSON) | JSON Parent |
---|---|---|
transaction_id |
transaction-id |
payment ({ }) |
transaction_state |
transaction-state |
payment ({ }) |
completion_time_stamp |
completion-time-stamp |
payment ({ }) |
api_id |
api-id |
payment ({ }) |
status_description_n |
status ([ {} ])/ description |
statuses ({ }) |
status_severity_n |
status ([ {} ])/ severity |
statuses ({ }) |
status_code_n |
status ([ {} ])/ code |
statuses ({ }) |