Wirecard Payment on Invoice

REST API & Wirecard Payment Page v1

Wirecard Payment on Invoice is a type of Offline Bank Transfer.

Countries and Currencies

Countries

DE, AT, CH
on Payment Page environment: DE only

Currencies

EUR, CHF

Communication Formats

This table illustrates how Wirecard Payment on Invoice notifications are encoded and which formats and methods can be used for requests and responses.

Requests/Responses

Format

XML

Methods

POST

IPN Encodement

NVP (plain text)

Transaction Types

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

Transaction Type Description Link to samples

authorization

Performs a creditworthiness check at the moment when consumer makes an order. All order items must be listed for the shopping basket. The authorization amount must match the value of the items in the basket.

Wirecard Payment on Invoice samples

capture-authorization

Used to capture the reserved funds at the moment when some or all goods are physically delivered to the consumer. Available only on successful authorization response which wasn’t voided nor fully captured. Partial (and multiple) capture is allowed, until the authorization limit is not exceeded. Basket items only lists the items that were delivered to the consumer in this delivery, not the ones that were delivered before or are waiting to be delivered. The total amount of the capture must be the value of the items in the basket.

Wirecard Payment on Invoice samples

void-authorization

Used when the consumer wishes to cancel some or all (not yet shipped) items from the order. Available only for a successful authorization response which was not yet voided or captured. Partial and multiple void are allowed, until all items from the order are canceled or shipped. Basket items only list those items which are being canceled from the order.

Wirecard Payment on Invoice samples

refund-capture

Used when the consumer wishes to return some or all delivered goods. Available on a successful capture-authorization. Partial and multiple refunds are allowed, until all delivered items have been returned. Basket items list only those items which are being returned to the merchant.

Wirecard Payment on Invoice samples

credit

Used when merchant wishes to grant a discount on an existing order. Items from this order may already be delivered to the consumer. Available on a successful capture-authorization. Multiple credits are allowed, but the overall sum of credits may not exceed the value of the delivered goods to the consumer. The credit transaction must include a basket item representing the discount. The credit transaction must refer to the successful authorization transaction ID.

Wirecard Payment on Invoice samples

  1. Basket items must be specified in every request.

  2. The response for each authorization request returns an individual string (an alphanumerical code) in the field descriptor.

  3. The descriptor must be printed on all invoice documents and saved by the shop (used by consumers in bank transfers; German: "Verwendungszweck").­­

  4. capture-authorization transactions have to follow a successful authorization on the same day the goods are dispatched.

  5. The period between authorization and the first capture-authorization must be at least 4 hours.

  6. Merchants can request partial capture-authorizations if the goods are shipped in separate shipments.

Test Credentials

URLs (Endpoints)

For transaction type authorization

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

For transaction types capture-authorization, refund-capture, void-authorization and credit

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

Merchant Account ID (MAID)

7d7edecb-b008-4f05-9103-308c81cf2ea2

Username

16390-testing

Password

3!3013=D3fD8X7

Secret Key

555d998b-15db-46a9-8f1f-d9bc3ec66b19

Workflow
Standard Process
Wirecard Payment on Invoice
Wirecard Payment on Invoice Workflow
  1. Consumer adds items to shopping basket.

  2. Consumer selects the payment method Wirecard Payment on Invoice.

  3. Merchant sends an authorization request including items to Wirecard.

  4. Merchant receives an authorization response, including the descriptor (an alphanumerical code).

  5. Merchant sends a capture request to Wirecard when the items are ready for delivery.

  6. After a successful capture request, Wirecard or Merchant generates the invoice, including the descriptor (an alphanumerical code).

  7. Merchant waits for the incoming payment.

  8. If any payment changes are necessary, the following transaction types are available: credit, refund-capture or void-authorization.

Process Chain

Every merchant needs to follow the process chains below successfully in a test environment to get an approval to go live. Wirecard checks and approves the frontend/checkout and invoices (if generated and sent out by the merchant).

Please provide us with the order number and descriptor for each transaction.
Simple Process Chain for Wirecard Payment on Invoice
A: Partial Cancelations
  1. Order (2 products + shipping costs + voucher) authorization

  2. Partial cancellation of 1 product void-authorization

  3. Partial cancellation of the rest void-authorization

B: Full Cancellation
  1. Order (2 products + shipping costs) authorization

  2. Full order cancellation void-authorization

C: Partial Deliveries
  1. Order (3 products + shipping costs + voucher) authorization

  2. Partial delivery of 1 product + shipping costs + voucher capture-authorization

  3. Partial delivery of the rest capture-authorization

D: Partial Cancellation & Partial Delivery
  1. Order (2 products + shipping costs + voucher) authorization

  2. Partial cancellation of 1 product void-authorization

  3. Partial delivery of 1 product + shipping costs + voucher capture-authorization

  4. Invoice generation

E: Partial Returns
  1. Order (2 products + shipping costs + voucher) authorization

  2. Complete delivery of the order capture-authorization

  3. Invoice generation

  4. Partial return of 1 product refund-capture

  5. Partial return of the rest refund-capture

F: Full Return
  1. Order (2 products + shipping costs + voucher) authorization

  2. Complete delivery of the order capture-authorization

  3. Invoice generation

  4. Full return of the order refund-capture

G: Reduction
  1. Order (2 products + shipping costs + voucher) authorization

  2. Reduction with negative amount credit

  3. Complete delivery of the order capture-authorization

  4. Invoice generation

Complex Process Chain for Wirecard Payment on Invoice
X: Reduction & Adjustment Charges
  1. Order (6 products including shipping costs) authorization

  2. Reduction with negative amount credit

  3. Partial delivery of 2 products + reduction capture-authorization

  4. Invoice generation

  5. Adjustment charge with positive amount credit

  6. Partial delivery of the rest = 4 products + adjustment charge capture-authorization

  7. Invoice generation

  8. Reduction with negative amount credit

Y: Partial Cancellation & Partial Return
  1. Order (6 products including shipping costs) authorization

  2. Partial delivery of 3 products capture-authorization

  3. Invoice generation

  4. Partial cancellation of 1 product void-authorization

  5. Partial return of 2 products refund-capture

  6. Partial delivery of 2 products capture-authorization

  7. Invoice generation

  8. Partial return of the rest = 3 products refund-capture

Fields

The following elements are mandatory M, optional O or conditional C for sending a request for the payment method Wirecard Payment on Invoice (complete field list available in REST API field list):

Field Cardinality Datatype Size Description
payment

merchant-account-id

M

Alphanumeric

36

Unique identifier for a merchant account

request-id

M

Alphanumeric

150

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

transaction-type

M

Alphanumeric

30

This is the type for a transaction: authorization, capture, void-authorization, refund-capture and credit are supported for Wirecard Payment on Invoice.

requested-amount

M

Numeric

18.3

This is the amount of the transaction. The amount of the decimal place depends on the currency. The amount must be between a defined minimum value and a defined maximum value.

requested-amount@currency

M

This is the currency of the transaction. For Germany and Austria, only EUR is allowed. Switzerland additionally accepts CHF.

order-detail

O

Alphanumeric

65535

Details of the order filled by the merchant.

order-number

M

Alphanumeric

64

The order number from the merchant.

consumer-id

O

Alphanumeric

Merchant’s identifier for the consumer.

invoice-id

O

Alphanumeric

Merchant’s invoice identifier.

creditor-id

C

Alphanumeric

Wirecard Bank creditor identifier, provided by Wirecard Support

locale

O

Alphanumeric

It is used to control the language of the consumer message and the correspondence to the consumer. Allowed values: fr, en, nl, de. If empty or with wrong value, German language is used by default. The same logic applies for Payment Page integration.

payment-methods

payment-methods.payment-method@name

M

Alphanumeric

15

The name of the Payment Method is ratepay-invoice.

account-holder

account-holder.first-name

M

Alphanumeric

account-holder.last-name

M

Alphanumeric

account-holder.email

M

Alphanumeric

account-holder.phone

M

Alphanumeric

account-holder.date-of-birth

M

Alphanumeric

account-holder.gender

O

Token

account-holder.address

account-holder.address.street1

M

Alphanumeric

Must include house number.

account-holder.address.street2

O

Alphanumeric

account-holder.address.city

M

Alphanumeric

account-holder.address.state

O

Alphanumeric

account-holder.address.country

M

Token

account-holder.address.postal-code

M

Alphanumeric

bank-account

Consumer’s bank account details.

bank-account.bank-name

M

Alphanumeric

bank-account.iban

C

Alphanumeric

Mandatory if account-number is not used

bank-account.bic

C

Alphanumeric

Mandatory if iban is used

bank-account.account-number

C

Alphanumeric

Mandatory if iban is not used

bank-account.bank-code

C

Alphanumeric

Mandatory if account-number is used

order-items

order-items.order-item.name

M

Alphanumeric

Name of the item in the basket.

order-items.order-item.article-number

M

Alphanumeric

EAN or other article identifier for merchant.

order-items.order-item.amount

M

Number

Item’s price per unit.

order-items.order-item.tax-rate

M

Number

Item’s tax rate per unit.

order-items.order-item.quantity

M

Number

Total count of items in the order.

shipping

Shipping fields have to match the billing address (specified as account-holder).

shipping/first-name

O

Alphanumeric

shipping/last-name

O

Alphanumeric

shipping/phone

O

Alphanumeric

shipping/address

Shipping/address fields have to match the billing address (specified as account-holder.address).

shipping/address/street1

O

Alphanumeric

shipping/address/street2

O

Alphanumeric

shipping/address/city

O

Alphanumeric

shipping/address/state

O

Alphanumeric

shipping/address/country

O

Alphanumeric

shipping/address/postal-code

O

Alphanumeric

device

device/fingerprint

C

Alphanumeric

Device fingerprinting token that was used in merchant’s online shop to track this transaction.

It is mandatory for authorization.

mandate

mandate.mandate-id

C

Alphanumeric

Mandate ID will be generated by Wirecard. Please use the following statement as placeholder: "Wird nach Kaufabschluss übermittelt"

Features
Bank Account Details

consist either of

  • account-owner, bank-name, account-number and bank-code
    or

  • account-owner, bank-name, iban and bic for SEPA standard.

Account holder details must cover first-name, last-name, email, phone, date-of-birth, address and gender. An address within the account holder details must include street1 (including house number), city, country and postal-code.
Shipping address has to match the billing address.
Basket Items Details

Basket items details must be sent along with every request. Content of the shopping basket depends on the location of the items. There can be 3 different locations:

  • the (distribution) storage of the merchant,

  • the delivery (items are „on the road"); and

  • home of the consumer.

The shopping basket always contains the items that are being authorized (ordered), captured (delivered), voided (canceled), refunded (returned) or credited depending to the transaction type.

The detailed items of the shopping basket will be stored as a part of payment details on provider and they can be obtained from Wirecard Payment Gateway later as part of transaction details.

Field Cardinality Req/Resp Datatype Description

order-items.order-item.name

M

Alphanumeric

Name of the item in the basket.

order-items.order-item.article-number

M

Alphanumeric

EAN or other article identifier for merchant.

order-items.order-item.amount

M

Number

Item’s price per unit.

order-items.order-item.tax-rate

M

Number

Item’s tax rate per unit.

order-items.order-item.quantity

M

Number

Total count of items in the order.

Device Fingerprint (Wirecard Payment on Invoice)
Introduction

Device Fingerprint (Wirecard Payment on Invoice) is a method of fraud protection and able to identify technical devices. Fraudsters learn to exploit the weaknesses of traditional fraud prevention tools over time. We protect businesses from fraud and loss of revenue with innovative fraud prevention: by automatically linking transactions, fraud can be detected in real time. With our self-learning and adaptive software you are prepared to face new and upcoming fraud scenarios. This document describes the procedure of a Device Fingerprint call and how to implement its result in the PAYMENT_QUERY operation and PAYMENT_REQUEST operation.

Generate a Unique Token

To generate a fingerprint you first need to create a unique token within your online shop. To ensure that the token is really unique, we suggest using a combination of customer id and timestamp which is encrypted, with MD5 for instance.

Generate a unique token (Example)
$deviceIdentSId = 'WDWL';
$timestamp = microtime();
$customerId = $customerObject->getId();
$deviceIdentToken = md5($customerId . "_" . $timestamp);
Run JavaScript

We recommend outputting the Device Fingerprint JavaScript code as early as possible to get a sufficient latency between script call and end of the order.

For instance when the customer entered the checkout or when the customer is putting a first item into the cart.

Please ensure that this script is executed only one-time per session (per customer + checkout + device).

Output Device Fingerprint JavaScript/HTML/PHP (Example)
<script language="JavaScript">
 var di = {t:'<?php echo $deviceIdentToken ?>',v:'<?php echo $deviceIdentSId ?>',l:'Checkout'};
 </script>
 <script type="text/javascript" src="//d.ratepay.com/<?php echo $deviceIdentSId ?>/di.js">
</script>
 <noscript><link rel="stylesheet" type="text/css" href="//d.ratepay.com/di.css?t=<?php echo $deviceIdentToken ?>&v=<?php echo $deviceIdentSId ?>&l=Checkout">
</noscript>
<object type="application/x-shockwave-flash" data="//d.ratepay.com/<?php echo $deviceIdentSId?>/c.swf" width="0" height="0">
<param name="movie" value="//d.ratepay.com/<?php echo $deviceIdentSId ?>/c.swf" />
<param name="flashvars" value="t=<?php echo $deviceIdentToken ?>&v=<?php echo $deviceIdentSId?>"/><param name="AllowScriptAccess" value="always"/>
</object>
Data Transfer to Wirecard

Please transfer the deviceIdentToken within the authorization request to Wirecard. You can find a corresponding XML sample for either Wirecard Payment on Invoice or Wirecard Payment Guaranteed Direct Debit.

Regular Consumers

Regular consumers who pay their bills on time are important capital for each merchant. With Wirecard, merchants can use this capital as a payment method.

To accomplish that, merchants submit a list with the order and payment history of their consumers to Wirecard.

Here you can find which format (and content) you need for the list and how to upload it.

Consent to General Terms and Conditions

During checkout, the consumer has to agree to Wirecard’s general terms and conditions. They have to give their consent by ticking an appropriate checkbox.

Language Check-box text Correct links

English

I herewith confirm that I have read the privacy notice and additional terms and conditions for Wirecard payment types and that I accept their validity.

Deutsch

Hiermit bestätige ich, dass ich die Datenschutzhinweise und zusätzlichen Geschäftsbedingungen für Wirecard-Zahlarten zur Kenntnis genommen habe und mit deren Geltung einverstanden bin.

Make sure that the privacy notice and the additional terms and conditions are linked properly.

Additional Business Conditions

When consumers use Wirecard Payment on Invoice, payments with debt discharging effect can be made solely to Wirecard.

Samples

Click here for corresponding notification samples.

Wirecard Payment on Invoice
authorization
XML authorization Request (Successful)
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<payment xmlns="http://www.elastic-payments.com/schema/payment">
  <merchant-account-id>7d7edecb-b008-4f05-9103-308c81cf2ea2</merchant-account-id>
  <request-id>{{$guid}}</request-id>
  <transaction-type>authorization</transaction-type>
  <payment-methods>
    <payment-method name="ratepay-invoice" />
  </payment-methods>
  <requested-amount currency="EUR">400</requested-amount>
  <order-number>180801110644949</order-number>
  <account-holder>
    <first-name>John</first-name>
    <last-name>Doe</last-name>
    <email>John@doe.de</email>
    <phone>03018425165</phone>
    <date-of-birth>27-12-1973</date-of-birth>
    <address>
      <street1>Nicht versenden Weg 12</street1>
      <city>Berlin</city>
      <state>Berlin</state>
      <country>DE</country>
      <postal-code>13353</postal-code>
    </address>
  </account-holder>
  <order-items>
    <order-item>
      <name>Denim 753 Blue 27/32</name>
      <article-number>1</article-number>
      <amount currency="EUR">150</amount>
      <tax-rate>19</tax-rate>
      <quantity>1</quantity>
    </order-item>
    <order-item>
      <name>Women V-Neck S</name>
      <article-number>12</article-number>
      <amount currency="EUR">50</amount>
      <tax-rate>19</tax-rate>
      <quantity>1</quantity>
    </order-item>
    <order-item>
      <name>Sneakers Size 44</name>
      <article-number>123</article-number>
      <amount currency="EUR">200</amount>
      <tax-rate>19</tax-rate>
      <quantity>1</quantity>
    </order-item>
  </order-items>
  <locale>nl</locale>
</payment>
XML authorization 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>7d7edecb-b008-4f05-9103-308c81cf2ea2</merchant-account-id>
  <transaction-id>32783284-5bce-4d5f-aca6-25fa17f6ad53</transaction-id>
  <request-id>8b4b145e-fb5a-4c12-ad9a-396a46b83593</request-id>
  <transaction-type>authorization</transaction-type>
  <transaction-state>success</transaction-state>
  <completion-time-stamp>2018-08-01T09:06:46.000Z</completion-time-stamp>
  <statuses>
    <status code="201.0000" description="The resource was successfully created." severity="information" provider-transaction-id="09-201808019802726" />
  </statuses>
  <requested-amount currency="EUR">400</requested-amount>
  <account-holder>
    <first-name>John</first-name>
    <last-name>Doe</last-name>
    <email>John@doe.de</email>
    <phone>03018425165</phone>
    <address>
      <street1>Nicht versenden Weg 12</street1>
      <city>Berlin</city>
      <state>Berlin</state>
      <country>DE</country>
      <postal-code>13353</postal-code>
    </address>
  </account-holder>
  <order-number>180801110644949</order-number>
  <order-items>
    <order-item>
      <name>Denim 753 Blue 27/32</name>
      <article-number>1</article-number>
      <amount currency="EUR">150</amount>
      <tax-rate>19</tax-rate>
      <quantity>1</quantity>
    </order-item>
    <order-item>
      <name>Women V-Neck S</name>
      <article-number>12</article-number>
      <amount currency="EUR">50</amount>
      <tax-rate>19</tax-rate>
      <quantity>1</quantity>
    </order-item>
    <order-item>
      <name>Sneakers Size 44</name>
      <article-number>123</article-number>
      <amount currency="EUR">200</amount>
      <tax-rate>19</tax-rate>
      <quantity>1</quantity>
    </order-item>
  </order-items>
  <descriptor>DK0073634K2</descriptor>
  <payment-methods>
    <payment-method name="ratepay-invoice" />
  </payment-methods>
  <locale>nl</locale>
</payment>
capture-authorization
XML capture-authorization Request (Successful)
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<payment xmlns="http://www.elastic-payments.com/schema/payment">
  <merchant-account-id>7d7edecb-b008-4f05-9103-308c81cf2ea2</merchant-account-id>
  <request-id>{{$guid}}</request-id>
  <transaction-type>capture-authorization</transaction-type>
  <payment-methods>
    <payment-method name="ratepay-invoice" />
  </payment-methods>
  <requested-amount currency="EUR">200</requested-amount>
  <parent-transaction-id>32783284-5bce-4d5f-aca6-25fa17f6ad53</parent-transaction-id>
  <order-items>
    <order-item>
      <name>Denim 753 Blue 27/32</name>
      <article-number>1</article-number>
      <amount currency="EUR">150</amount>
      <tax-rate>19</tax-rate>
      <quantity>1</quantity>
    </order-item>
    <order-item>
      <name>Women V-Neck S</name>
      <article-number>12</article-number>
      <amount currency="EUR">50</amount>
      <tax-rate>19</tax-rate>
      <quantity>1</quantity>
    </order-item>
  </order-items>
</payment>
XML capture-authorization 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" self="https://api-test.wirecard.com:443/engine/rest/merchants/7d7edecb-b008-4f05-9103-308c81cf2ea2/payments/789b1a74-2d07-477c-a5eb-d6dd61872d88">
  <merchant-account-id ref="https://api-test.wirecard.com:443/engine/rest/config/merchants/7d7edecb-b008-4f05-9103-308c81cf2ea2">7d7edecb-b008-4f05-9103-308c81cf2ea2</merchant-account-id>
  <transaction-id>789b1a74-2d07-477c-a5eb-d6dd61872d88</transaction-id>
  <request-id>314fa896-16ba-4787-b12d-0a7d1169105b</request-id>
  <transaction-type>capture-authorization</transaction-type>
  <transaction-state>success</transaction-state>
  <completion-time-stamp>2018-08-01T09:07:19.000Z</completion-time-stamp>
  <statuses>
    <status code="201.0000" description="ratepay:The resource was successfully created." severity="information" provider-transaction-id="09-201808019802726" />
  </statuses>
  <requested-amount currency="EUR">200</requested-amount>
  <parent-transaction-id>32783284-5bce-4d5f-aca6-25fa17f6ad53</parent-transaction-id>
  <account-holder>
    <first-name>John</first-name>
    <last-name>Doe</last-name>
    <email>John@doe.de</email>
    <phone>03018425165</phone>
    <address>
      <street1>Nicht versenden Weg 12</street1>
      <city>Berlin</city>
      <state>Berlin</state>
      <country>DE</country>
      <postal-code>13353</postal-code>
    </address>
  </account-holder>
  <order-number>180801110644949</order-number>
  <order-items>
    <order-item>
      <name>Denim 753 Blue 27/32</name>
      <article-number>1</article-number>
      <amount currency="EUR">150</amount>
      <tax-rate>19</tax-rate>
      <quantity>1</quantity>
    </order-item>
    <order-item>
      <name>Women V-Neck S</name>
      <article-number>12</article-number>
      <amount currency="EUR">50</amount>
      <tax-rate>19</tax-rate>
      <quantity>1</quantity>
    </order-item>
  </order-items>
  <descriptor>DK0073634K2</descriptor>
  <payment-methods>
    <payment-method name="ratepay-invoice" />
  </payment-methods>
  <parent-transaction-amount currency="EUR">400.000000</parent-transaction-amount>
  <api-id>elastic-api</api-id>
  <locale>nl</locale>
  <provider-account-id>0000003174069FC7</provider-account-id>
</payment>
credit
XML credit Request (Successful)
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<payment xmlns="http://www.elastic-payments.com/schema/payment">
  <merchant-account-id>7d7edecb-b008-4f05-9103-308c81cf2ea2</merchant-account-id>
  <request-id>{{$guid}}</request-id>
  <transaction-type>credit</transaction-type>
  <payment-methods>
    <payment-method name="ratepay-invoice" />
  </payment-methods>
  <parent-transaction-id>32783284-5bce-4d5f-aca6-25fa17f6ad53</parent-transaction-id>
  <requested-amount currency="EUR">10</requested-amount>
 <account-holder>
  <first-name>John</first-name>
  <last-name>Doe</last-name>
  <email>John@doe.de</email>
  <phone>03018425165</phone>
     <date-of-birth>27-12-1973</date-of-birth>
     <address>
       <street1>Nicht versenden Weg 12</street1>
       <city>Berlin</city>
       <state>Berlin</state>
       <country>DE</country>
       <postal-code>13353</postal-code>
     </address>
  </account-holder>
  <order-items>
    <order-item>
      <name>Nachlass über € 10,00</name>
      <article-number>1</article-number>
      <amount currency="EUR">10</amount>
      <tax-rate>19</tax-rate>
      <quantity>1</quantity>
    </order-item>
  </order-items>
</payment>
XML credit 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" self="https://api-test.wirecard.com:443/engine/rest/merchants/7d7edecb-b008-4f05-9103-308c81cf2ea2/payments/42a30b0b-9aed-47cb-89e5-dc3649d770b2">
  <merchant-account-id ref="https://api-test.wirecard.com:443/engine/rest/config/merchants/7d7edecb-b008-4f05-9103-308c81cf2ea2">7d7edecb-b008-4f05-9103-308c81cf2ea2</merchant-account-id>
  <transaction-id>42a30b0b-9aed-47cb-89e5-dc3649d770b2</transaction-id>
  <request-id>0891f924-c326-4a39-ab04-2d240743a161</request-id>
  <transaction-type>credit</transaction-type>
  <transaction-state>success</transaction-state>
  <completion-time-stamp>2018-08-01T09:07:54.000Z</completion-time-stamp>
  <statuses>
    <status code="201.0000" description="ratepay:The resource was successfully created." severity="information" provider-transaction-id="09-201808019802726" />
  </statuses>
  <requested-amount currency="EUR">10</requested-amount>
  <parent-transaction-id>32783284-5bce-4d5f-aca6-25fa17f6ad53</parent-transaction-id>
  <account-holder>
    <first-name>John</first-name>
    <last-name>Doe</last-name>
    <email>John@doe.de</email>
    <phone>03018425165</phone>
    <address>
      <street1>Nicht versenden Weg 12</street1>
      <city>Berlin</city>
      <state>Berlin</state>
      <country>DE</country>
      <postal-code>13353</postal-code>
    </address>
  </account-holder>
  <order-number>180801110644949</order-number>
  <order-items>
    <order-item>
      <name>Nachlass ?ber ? 10,00</name>
      <article-number>1</article-number>
      <amount currency="EUR">10</amount>
      <tax-rate>19</tax-rate>
      <quantity>1</quantity>
    </order-item>
  </order-items>
  <descriptor>DK0073634K2</descriptor>
  <payment-methods>
    <payment-method name="ratepay-invoice" />
  </payment-methods>
  <parent-transaction-amount currency="EUR">400.000000</parent-transaction-amount>
  <api-id>elastic-api</api-id>
  <locale>nl</locale>
  <provider-account-id>0000003174069FC7</provider-account-id>
</payment>
refund-capture
XML refund-capture Request (Successful)
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<payment xmlns="http://www.elastic-payments.com/schema/payment">
    <merchant-account-id>7d7edecb-b008-4f05-9103-308c81cf2ea2</merchant-account-id>
    <request-id>{{$guid}}</request-id>
    <transaction-type>refund-capture</transaction-type>
    <payment-methods>
        <payment-method name="ratepay-invoice" />
    </payment-methods>
    <requested-amount currency="EUR">50</requested-amount>
    <parent-transaction-id>789b1a74-2d07-477c-a5eb-d6dd61872d88</parent-transaction-id>
    <order-items>
    <order-item>
      <name>Women V-Neck S</name>
      <article-number>12</article-number>
      <amount currency="EUR">50</amount>
      <tax-rate>19</tax-rate>
      <quantity>1</quantity>
    </order-item>
    </order-items></payment>
XML refund-capture 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" self="https://api-test.wirecard.com:443/engine/rest/merchants/7d7edecb-b008-4f05-9103-308c81cf2ea2/payments/34c6ed51-c417-413e-a1f0-e7074f24b19b">
  <merchant-account-id ref="https://api-test.wirecard.com:443/engine/rest/config/merchants/7d7edecb-b008-4f05-9103-308c81cf2ea2">7d7edecb-b008-4f05-9103-308c81cf2ea2</merchant-account-id>
  <transaction-id>34c6ed51-c417-413e-a1f0-e7074f24b19b</transaction-id>
  <request-id>d7287da8-00a9-48b0-ac3b-8ea14a1f3440</request-id>
  <transaction-type>refund-capture</transaction-type>
  <transaction-state>success</transaction-state>
  <completion-time-stamp>2018-08-01T09:08:33.000Z</completion-time-stamp>
  <statuses>
    <status code="201.0000" description="ratepay:The resource was successfully created." severity="information" provider-transaction-id="09-201808019802726" />
  </statuses>
  <requested-amount currency="EUR">50</requested-amount>
  <parent-transaction-id>789b1a74-2d07-477c-a5eb-d6dd61872d88</parent-transaction-id>
  <account-holder>
    <first-name>John</first-name>
    <last-name>Doe</last-name>
    <email>John@doe.de</email>
    <phone>03018425165</phone>
    <address>
      <street1>Nicht versenden Weg 12</street1>
      <city>Berlin</city>
      <state>Berlin</state>
      <country>DE</country>
      <postal-code>13353</postal-code>
    </address>
  </account-holder>
  <order-number>180801110644949</order-number>
  <order-items>
    <order-item>
      <name>Women V-Neck S</name>
      <article-number>12</article-number>
      <amount currency="EUR">50</amount>
      <tax-rate>19</tax-rate>
      <quantity>1</quantity>
    </order-item>
  </order-items>
  <descriptor>DK0073634K2</descriptor>
  <payment-methods>
    <payment-method name="ratepay-invoice" />
  </payment-methods>
  <parent-transaction-amount currency="EUR">200.000000</parent-transaction-amount>
  <api-id>elastic-api</api-id>
  <locale>nl</locale>
  <provider-account-id>0000003174069FC7</provider-account-id>
</payment>
void-authorization
XML void-authorization Request (Successful)
<?xml version="1.0" encoding="utf-8"?>
<payment xmlns="http://www.elastic-payments.com/schema/payment">
  <merchant-account-id>7d7edecb-b008-4f05-9103-308c81cf2ea2</merchant-account-id>
  <request-id>{{$guid}}</request-id>
  <transaction-type>void-authorization</transaction-type>
  <payment-methods>
    <payment-method name="ratepay-invoice" />
  </payment-methods>
  <parent-transaction-id>32783284-5bce-4d5f-aca6-25fa17f6ad53</parent-transaction-id>
  <requested-amount currency="EUR">200</requested-amount>
  <account-holder>
        <first-name>John</first-name>
  <last-name>Doe</last-name>
  <email>John@doe.de</email>
    <phone>03018425165</phone>
    <date-of-birth>27-12-1973</date-of-birth>
    <address>
      <street1>Nicht versenden Weg 12</street1>
      <city>Berlin</city>
      <state>Berlin</state>
      <country>DE</country>
      <postal-code>13353</postal-code>
    </address>
  </account-holder>
  <order-items>
    <order-item>
      <name>Sneakers Size 44</name>
      <article-number>123</article-number>
      <amount currency="EUR">200</amount>
      <tax-rate>19</tax-rate>
      <quantity>1</quantity>
    </order-item>
  </order-items>
</payment>
XML void-authorization 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" self="https://api-test.wirecard.com:443/engine/rest/merchants/7d7edecb-b008-4f05-9103-308c81cf2ea2/payments/265b5d4f-7a4c-4b93-9189-ab4c0a09e3f2">
  <merchant-account-id ref="https://api-test.wirecard.com:443/engine/rest/config/merchants/7d7edecb-b008-4f05-9103-308c81cf2ea2">7d7edecb-b008-4f05-9103-308c81cf2ea2</merchant-account-id>
  <transaction-id>265b5d4f-7a4c-4b93-9189-ab4c0a09e3f2</transaction-id>
  <request-id>cdcb75f9-5131-4459-a201-c5db7c8172e4</request-id>
  <transaction-type>void-authorization</transaction-type>
  <transaction-state>success</transaction-state>
  <completion-time-stamp>2018-08-01T09:09:37.000Z</completion-time-stamp>
  <statuses>
    <status code="201.0000" description="ratepay:The resource was successfully created." severity="information" provider-transaction-id="09-201808019802726" />
  </statuses>
  <requested-amount currency="EUR">200</requested-amount>
  <parent-transaction-id>32783284-5bce-4d5f-aca6-25fa17f6ad53</parent-transaction-id>
  <account-holder>
    <first-name>John</first-name>
    <last-name>Doe</last-name>
    <email>John@doe.de</email>
    <phone>03018425165</phone>
    <address>
      <street1>Nicht versenden Weg 12</street1>
      <city>Berlin</city>
      <state>Berlin</state>
      <country>DE</country>
      <postal-code>13353</postal-code>
    </address>
  </account-holder>
  <order-number>180801110644949</order-number>
  <order-items>
    <order-item>
      <name>Sneakers Size 44</name>
      <article-number>123</article-number>
      <amount currency="EUR">200</amount>
      <tax-rate>19</tax-rate>
      <quantity>1</quantity>
    </order-item>
  </order-items>
  <descriptor>DK0073634K2</descriptor>
  <payment-methods>
    <payment-method name="ratepay-invoice" />
  </payment-methods>
  <parent-transaction-amount currency="EUR">400.000000</parent-transaction-amount>
  <api-id>elastic-api</api-id>
  <locale>nl</locale>
  <provider-account-id>0000003174069FC7</provider-account-id>
</payment>
authorization Request to Wirecard
deviceIdentToken Transfer
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<payment xmlns="http://www.elastic-payments.com/schema/payment">
  <merchant-account-id>7d7edecb-b008-4f05-9103-308c81cf2ea2</merchant-account-id>
  <request-id>{{$guid}}</request-id>
  <transaction-type>authorization</transaction-type>
  <payment-methods>
    <payment-method name="ratepay-invoice" />
  </payment-methods>
  <requested-amount currency="EUR">400</requested-amount>
  <order-number>180801121956992</order-number>
  <account-holder>
    <first-name>Hans-Jürgen </first-name>
    <last-name>Wischnewski</last-name>
    <email>hans@qenta.de</email>
    <phone>03018425165</phone>
    <date-of-birth>27-12-1973</date-of-birth>
    <address>
      <street1>Nicht versenden Weg 12</street1>
      <city>Berlin</city>
      <state>Berlin</state>
      <country>DE</country>
      <postal-code>13353</postal-code>
    </address>
  </account-holder>
  <order-items>
    <order-item>
      <name>Denim 753 Blue 27/32</name>
      <article-number>1</article-number>
      <amount currency="EUR">150</amount>
      <tax-rate>19</tax-rate>
      <quantity>1</quantity>
    </order-item>
    <order-item>
      <name>Women V-Neck S</name>
      <article-number>12</article-number>
      <amount currency="EUR">50</amount>
      <tax-rate>19</tax-rate>
      <quantity>1</quantity>
    </order-item>
    <order-item>
      <name>Sneakers Size 44</name>
      <article-number>123</article-number>
      <amount currency="EUR">200</amount>
      <tax-rate>19</tax-rate>
      <quantity>1</quantity>
    </order-item>
  </order-items>
  <device>
    <fingerprint>DeviceIdentToken</fingerprint>
  </device>
</payment>

Wirecard Payment Page v2

With Wirecard Payment on Invoice, Wirecard guarantees that merchants receive the payment amount, even if the consumer does not pay.

The consumer pays by invoice upon receipt of the goods. Wirecard pays the merchant the order amount prior to settlement with the consumer. The invoicing and collection process (including dunning) is also handled by Wirecard.

This payment method is available for German merchants only.

Wirecard Payment on Invoice is a type of Offline Bank Transfer.

General Information

Here you find all the information for integrating Wirecard Payment on Invoice into your Hosted and Embedded Payment Page.

Want to know more about Wirecard Payment Page v2 (WPP v2)?
Visit one of our integration guides (Hosted Payment Page, Embedded Payment Page) for a quick explanation and a step-by-step guide.

All WPP v2 integrations share a common process flow for creating payments.

Below you find a sample request for the available transaction type authorization, including a field list with short descriptions.

The samples provided below are designed for the testing environment and do not use real information. Please contact Merchant Support for production credentials.

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.

Test Credentials

Test Credentials for Transaction Type authorization.

URI (Endpoint)

https://wpp-test.wirecard.com/api/payment/register

Merchant Account ID (MAID)

7d7edecb-b008-4f05-9103-308c81cf2ea2

Username

16390-testing

Password

3!3013=D3fD8X7

Countries and Currencies

Countries

Germany

Currencies

EUR

To get the approval to go live, every merchant needs to complete a number of process chains in a test environment successfully. Wirecard checks and approves the frontend/checkout and invoices (if generated and sent out by the merchant).

Transaction Type authorization

An authorization reserves the specified amount from the account holder’s bank account for a later transfer. For Wirecard Payment on Invoice, it also triggers a creditworthiness-check.

For a successful transaction:

  1. Create a payment session (initial request).

  2. Redirect the consumer to the payment page (initial response URL).

  3. Highly recommended: Parse and process the payment response.

Sample Workflow

We provide JSON examples for this process. You can find them below.

Request Headers

Authorization

"Authorization"="Basic" + base64 ("username:password"). Use username and password as given in your Wirecard contract to base64-encode the authorization.

Content-Type

application/json

1. Create a Payment Session (Initial Request)
{
  "payment": {
    "merchant-account-id": {
      "value": "7d7edecb-b008-4f05-9103-308c81cf2ea2"
    },
    "request-id": "{{$guid}}",
    "transaction-type": "authorization",
    "requested-amount": {
      "currency": "EUR",
      "value": "19.50"
    },
    "account-holder": {
      "address": {
        "street1": "Mullerstrasse 137",
        "state": "Berlin",
        "country": "DE",
        "city": "Berlin",
        "postal-code": "13353"
      },
      "first-name": "John",
      "last-name": "Doe",
      "email": "john@doe.com",
      "phone": "+421123456789",
      "date-of-birth": "01-01-1980"
    },
    "order-number": "12345",
    "order-items": {
      "order-item": [
        {
          "name": "Notebook",
          "description": "Simple Notebook",
          "article-number": "123",
          "amount": {
            "value": 1,
            "currency": "EUR"
          },
          "tax-rate": 19,
          "quantity": 2
        },
        {
          "name": "Pencils",
          "description": "Set of Color Pencils",
          "article-number": "456",
          "amount": {
            "value": 2.5,
            "currency": "EUR"
          },
          "tax-rate": 19,
          "quantity": 3
        },
        {
          "name": "SHIPPING & HANDLING (UNITED PARCEL SERVICE - WORLDWIDE EXPRESS)",
          "article-number": "shipping",
          "amount": {
            "value": 10,
            "currency": "EUR"
          },
          "tax-rate": 19,
          "quantity": 1
        }
      ]
    },
    "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",
    "payment-methods": {
      "payment-method": [
        {
          "name": "ratepay-invoice"
        }
      ]
    }
  }
}
All Shopping basket items (order-items) must be specified in every request.
The authorized amount must match the total value of the items in the basket.
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 request-id that has never been used before.

As the request ID must be unique, {{$guid}} serves as a placeholder; Postman uses it to generate a random request-id for testing.

Allowed characters: [a-z0-9-\_].

transaction-type

String

Mandatory

n/a

The requested transaction type. For Wirecard Payment on Invoice, the transaction-type must be set to authorization.

requested-amount

currency

String

Mandatory

3

The currency of the requested/contested transaction amount. Must be EUR.

value

Numeric

Mandatory

9.2

The full amount that is requested/contested in a transaction. The amount must be between a defined minimum value and a defined maximum value.

2 decimal digits allowed.
Use . (decimal point) as the separator.

Format: 3-character abbreviation according to ISO 4217.

account-holder

address

street1

String

Mandatory

64

The first line of the consumer’s address street.

state

String

Mandatory

32

The consumer’s state.

country

String

Mandatory

2

The consumer’s country code.

city

String

Mandatory

32

The consumer’s city.

postal-code

String

Mandatory

16

The postal/ZIP code of the consumer’s address.

first-name

String

Mandatory

32

Consumer’s first name.

last-name

String

Mandatory

32

Consumer’s last name.

email

String

Mandatory

64

Consumer’s email address.

phone

String

Mandatory

32

Consumer’s phone number.

date-of-birth

String

Mandatory

n/a

Consumer’s date of birth. Wirecard validates the consumer’s age to check if they are eligible for payment with Wirecard Payment on Invoice.

order-number

String

Mandatory

32

Merchant-side order number.
Allowed characters: [a-zA-Z0-9+]

order-items

order-item

name

description

String

Mandatory

100

Name of the item in the shopping basket.

article-number

String

Mandatory

40

EAN or other merchant side article identifier.

amount

value

Numeric

Mandatory

10

Item’s price per unit.

currency

String

Mandatory

3

Currency of this item’s price. Must be EUR.

tax-rate

Numeric

Mandatory

4

Item’s tax rate per unit.

quantity

Numeric

Mandatory

5

Total number of this item in the shopping basket.

locale

String

Optional

2

A 2-letter code which indicates what language the payment page is rendered in (ISO 639-1).

success-redirect-url

String

Mandatory

2000

The URL to which the consumer is redirected after a successful payment, e.g. https://demoshop-test.wirecard.com/demoshop/#/success

fail-redirect-url

String

Mandatory

2000

The URL to which the consumer is redirected after a failed payment, e.g. https://demoshop-test.wirecard.com/demoshop/#/error

cancel-redirect-url

String

Mandatory

2000

The URL to which the consumer is redirected after having canceled a payment, e.g. https://demoshop-test.wirecard.com/demoshop/#/cancel

payment-methods

payment-method

name

String

Mandatory

256

The name of the payment method used for the transaction, i.e. ratepay-invoice.

2. Redirect the Consumer to the Payment Page (Sample Response URL)
{
  "payment-redirect-url": "https://wpp-test.wirecard.com/?wPaymentToken=8cSvZuJGWg5vQ2TnJb5UOy5Gljs8W44ve_dWQMaJf7o"
}
Field (JSON) Data Type Description

payment-redirect-url

String

The URL which redirects to the payment form. 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.

Checkout

During checkout, the consumer has to agree to Wirecard’s general terms and conditions. They have to give their consent by ticking the respective checkbox.

Additional Business Conditions

When consumers use Wirecard Payment on Invoice, payments with debt discharging effect can be made solely to Wirecard.

Possible transaction results:

  • Successful (transaction-state: success),

  • Failed (transaction-state: failed),

  • Canceled (transaction-state: failed):The consumer canceled the payment before/after submission

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 statuses object of the payment response. 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 and transaction status notifications.

You can find a decoded payment response example below.

3. Parse and Process the Payment Response (Decoded Payment Response)
{
    "payment": {
        "ip-address": "127.0.0.1",
        "custom-fields": {
            "custom-field": [
                {
                    "field-name": "terms-consent-checked",
                    "field-value": "true"
                }
            ]
        },
        "transaction-id": "6c312602-cab9-4418-be2b-79f64667ac49",
        "request-id": "7a869f37-dd1c-4dfb-ba9a-338545d2c21a",
        "transaction-type": "authorization",
        "transaction-state": "success",
        "completion-time-stamp": "2019-07-22T09:37:47",
        "requested-amount": {
            "currency": "EUR",
            "value": 19.5
        },
        "statuses": {
            "status": [
                {
                    "description": "The resource was successfully created.",
                    "severity": "information",
                    "code": "201.0000",
                    "provider-transaction-id": "59-2019072213786174"
                }
            ]
        },
        "cancel-redirect-url": "https://demoshop-test.wirecard.com/demoshop/#/cancel",
        "fail-redirect-url": "https://demoshop-test.wirecard.com/demoshop/#/error",
        "merchant-account-id": {
            "value": "7d7edecb-b008-4f05-9103-308c81cf2ea2"
        },
        "payment-methods": {
            "payment-method": [
                {
                    "payload": {},
                    "name": "ratepay-invoice"
                }
            ]
        },
        "account-holder": {
            "first-name": "John",
            "email": "john@doe.com",
            "phone": "+421123456789",
            "account-info": {},
            "last-name": "Doe",
            "address": {
                "country": "DE",
                "street1": "Mullerstrasse 137",
                "city": "Berlin",
                "postal-code": "13353",
                "state": "Berlin"
            }
        },
        "success-redirect-url": "https://demoshop-test.wirecard.com/demoshop/#/success",
        "order-number": "12345",
        "order-items": {
            "order-item": [
                {
                    "description": "Simple Notebook",
                    "article-number": "123",
                    "tax-rate": 19,
                    "quantity": 2,
                    "amount": {
                        "currency": "EUR",
                        "value": 1
                    },
                    "name": "Notebook"
                },
                {
                    "description": "Set of Color Pencils",
                    "article-number": "456",
                    "tax-rate": 19,
                    "quantity": 3,
                    "amount": {
                        "currency": "EUR",
                        "value": 2.5
                    },
                    "name": "Pencils"
                },
                {
                    "article-number": "shipping",
                    "tax-rate": 19,
                    "quantity": 1,
                    "amount": {
                        "currency": "EUR",
                        "value": 10
                    },
                    "name": "SHIPPING & HANDLING (UNITED PARCEL SERVICE - WORLDWIDE EXPRESS)"
                }
            ]
        },
        "api-id": "wpp",
        "device": {
            "fingerprint": "ea30eef6-86c4-023e-6d68-92ff840cbbd1"
        },
        "descriptor": "DK0257844A0"
    }
}

The response for each authorization request returns the field descriptor, a unique alphanumerical code identifying the authorization. This descriptor must be printed on all invoice documents and saved by the merchant (used by consumers in bank transfers; German: "Verwendungszweck").

In addition to the request fields, the response returns the following fields:

Field (JSON) Data Type Description

ip-address

String

The internet protocol address of the account holder as recorded by the entity receiving the transaction attempt from the account holder. Supported IP versions: IPv4 and IPv6.

custom-fields

field-name

String

The custom field name is terms-consent-checked. The corresponding field-value indicates whether or not the consumer agreed to the General Terms and Conditions by ticking the checkbox.

field-value

Boolean

  • true: Consumer accepted the General Terms and Conditions.

  • false: Consumer did not accept the General Terms and Conditions.

transaction-id

String

A unique identifier assigned to every transaction. Used when searching for or referencing it later.

transaction-state

String

The current transaction state.

Possible values:

  • in-progress

  • success

  • failed

Typically, a transaction starts with state in-progress and finishes with state either success or failed. This information is returned in the response only.

completion-time-stamp

DateTime

The UTC/ISO time-stamp documents the time and date when the transaction was executed.

Format: YYYY-MM-DDThh:mm:ss (ISO).

status

code

String

Status code of the status message.

description

String

The description of the transaction status message. Click here for a complete list of status descriptions.

severity

String

The definition of the status message.

Possible values:

  • information

  • warning

  • error

provider-transaction-id

String

A unique transaction identifier generated by the provider.

payment-methods

payment-method

payload

String

The value of payload depends on the payment method.
Always empty for Wirecard Payment on Invoice.

api-id

String

Identifier of the currently used API.

device

fingerprint

String

Click for a detailed fingerprint description.

descriptor

String

The descriptor (German: “Verwendungszweck”) must be printed on all invoice documents. It must be used by the consumer on bank transfers.

Post-Processing Operations

WPP is best used for one-off payments (e.g. regular, independent authorization transactions) or the initial transaction in a chain of them (e.g. a first authorization in a chain of recurring transactions). However, when it comes to referencing a transaction for any kind of post-processing operation - such as a capturing of one of your authorization transactions - use our REST API directly.

Check the REST API Wirecard Payment on Invoice specification for details on Wirecard Payment on Invoice-specific post-processing operations.
JSON/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 request (optional fields included).

JSON Structure for Wirecard Payment on Invoice Requests
{
    "payment": {
        "merchant-account-id": {
            "value": "string"
        },
        "request-id": "string",
        "transaction-type": "string",
        "requested-amount": {
            "currency": "string",
            "value": "0"
        },
        "payment-methods": {
            "payment-method": [
                {
                    "name": "string"
                }
            ]
        },
        "account-holder": {
            "first-name": "string",
            "last-name": "string",
            "email": "string",
            "phone": "string",
            "date-of-birth": "string",
            "address": {
                "country": "string",
                "street1": "string",
                "city": "string",
                "postal-code": "string",
                "state": "string"
            },
            "order-items": {
                "order-item": [
                    {
                        "name": "string",
                        "description": "string",
                        "article-number": "string",
                        "tax-rate": "numeric",
                        "quantity": "numeric",
                        "amount": {
                            "currency": "string",
                            "value": "numeric"
                        }
                    }
                ]
            },
            "order-number": "string",
            "success-redirect-url": "string",
            "fail-redirect-url": "string",
            "cancel-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_currency

currency

requested-amount

requested_amount

value

requested-amount

payment_method

payment-method [ { } ]/name

payment-methods

first_name

first-name

account-holder

last_name

last-name

account-holder

email

email

account-holder

phone

phone

account-holder

date_of_birth

date-of-birth

account-holder

country

address [ { } ]/ country

account-holder

city

address [ { } ]/ city

account-holder

postal_code

address [ { } ]/ postal-code

account-holder

state

address [ { } ]/ state

account-holder

orderItems[n].name

order-item [ { } ]/name

order-items

orderItems[n].description

order-item [ { } ]/description

order-items

orderItems[n].articleNumber

order-item [ { } ]/article-number

order-items

orderItems[n].amount.value

amount [ { } ]/value

order-item

orderItems[n].amount.currency

amount [ { } ]

order-items

orderItems[n].taxRate

order-item [ { } ]/tax-rate

order-items

orderItems[n].quantity

order-item [ { } ]/quantity

order-items

order_number

order-number

payment

success_redirect_url

success-redirect-url

payment

fail_redirect_url

fail-redirect-url

payment

cancel_redirect_url

cancel-redirect-url

payment

Response-Only Fields
{
  "payment": {
      "custom-fields": {
          "custom-field": [
              {
                  "field-name": "string",
                  "field-value": "boolean"
              }
          ]
      },
      "transaction-id": "string",
      "transaction-state": "string",
      "completion-time-stamp": "string"
  },
  "statuses": {
      "status": [
          {
              "description": "string",
              "severity": "string",
              "code": "string",
              "provider-transaction-id": "string"
          }
      ]
  },
  "api-id": "string",
  "device": {
      "fingerprint": "string"
  },
  "descriptor": "string"
}
Field (NVP) Field (JSON) JSON Parent

ip_address

ip-address

payment

field_name_1

custom-field( {} )/ field-name

custom-fields

field_value_1

custom-field( {} )/ field-value

custom-fields

transaction_id

transaction-id

payment

transaction_state

transaction-state

payment

completion_time_stamp

completion-time-stamp

payment

status_severity_n

status ([ {} ])/ severity

statuses

status_code_n

status ([ {} ])/ code

statuses

status_description_n

status ([ {} ])/ description

statuses

provider_transaction_id_n

status ([ {} ])/ provider-transaction-id

statuses

api_id

api-id

payment

device_fingerprint

fingerprint

device

descriptor

descriptor

payment