PayEngine - Paydirekt
Overview - Paydirekt
Paydirekt is an online payment method jointly developed by German banks. It offers easy and secure user experience, enabling users to pay directly from their bank accounts without further third-party intermediation.
Main advantages of this payment method:
For customers: Paydirekt offers easy, fast and reliable payment process executed via already familiar online banking environment of the customer's current bank. This payment method ensures high level of data security in two directions:
- storing of sensitive account data only within highly secure bank infrastructure
- no cross-border processing of data
For merchants: Paydirekt has a broad base of verified potential customers, each of them with an authorized German bank account. Proved identity and quality of Paydirekt users facilitates significantly decreasing of indirect costs related to payment process such as, verifying customer data and executing external credit or risk checks.
Customer Experience - Paydirekt
- Select Paydirekt.

- Redirect to Paydirekt page.
- Login into Paydirekt account*.


- Confirm the payment*.
*Screenshots are from Paydirekt Sandbox, Payengine Simulator will display different content.
Payengine Details - Paydirekt
General
Name | Details |
---|---|
Product | Paydirekt |
Channels | ECOM |
Currencies | EUR |
Countries | DE |
Technical Flow | Asynchronous |
Recurring | No (not implemented) |
Chargebacks | Yes |
Supported Features and Services
Name | Details |
---|---|
Debit | Yes |
Preauthorization | Yes |
Cancelation | Yes (full and partial) |
Capture | Yes (full and partial) |
Refunds | Yes (full and partial) |
Notifications | Yes (webhook and email) |
PayLink Integration | No |
Settlement Reporting | Yes |
Integration Types
Name | Details |
---|---|
API | Yes |
Widget | Yes |
Bridge | No |
Shop Plugin | Yes |
Technical Flow

Webhook and email notifications
At the time of the redirect, it is still uncertain whether a transaction will be completed successfully or not. Therefore, Payengine awaits for the final asynchronous notification before the status of a DEBIT/PREAUTH transaction is changed from PENDING to SUCCESS or FAILURE.
A merchant should register for Payengine's notifications to receive this final status update.
Alternatively, a GET request on the order or DEBIT/PREAUTH transaction would also work, but it is not ensured that the final status will be available immediately after the redirect and a merchant might have to query the GET multiple times.
Therefore, it is strongly recommended that Payengine's asynchronous notifications are used instead.
Merchants could receive notifications via URL (webhook) or email.
The notifications could be subscribed:
- via the payengine API (link to API documentation)
- via the Payengine Merchant Center (link to Merchant Center notifications documentation)
Specifications - Paydirekt
Prerequisites for Paydirekt Authorizing Transactions
Prerequisite | Mandatory/Optional (M/O) | Create Prerequisite |
---|---|---|
Customer | M | POST ´/customers´ |
Persona | O | POST ´/customers/{{customerId}}/personas´ |
Billing Address | O | POST ´/customers/{{customerId}}/addresses´ |
Shipping Address | M | POST ´/customers/{{customerId}}/addresses´ |
Create customer specific request parameters
Parameter | Mandatory/Optional (M/O) | Description | Example |
---|---|---|---|
M | the e-mail adress of the customer | user@example.com |
Create address specific request parameters
Parameter | Mandatory/Optional (M/O) | Description | Example |
---|---|---|---|
firstName | M | First Name | Max |
lastName | M | Last Name | Muster |
street | O | Street Name | Musterweg |
houseNumber | O | House Number | 1 |
city | M | City | Musterhausen |
zip | M | City zip code | 12345 |
country | M | Country Code | DD |
state | O | State Name | Bayern |
phone | O | Phone number | 00493012345 |
fax | O | Fax number | 00493012345 |
mobile | O | Mobile Number | 00493012345 |
title | O | Title | Prof. Dr. |
additionalDetails | O | Additional Details | Premium buyer |
Input Parameters
The following input parameters are required for initiating a Paydirekt payment via direct API integration.
Parameter | Mandatory/Optional (M/O) | Description | Example |
---|---|---|---|
async.successUrl | M | Redirect URL for successful payment | http://my.shop.com/success |
async.failureUrl | M | Redirect URL for unsuccessful payment | http://my.shop.com/fail |
async.cancelUrl | M | Redirect URL when payment is canceled | http://my.shop.com/cancel |
Samples
- Debit
Debit
is an authorizing transaction that directly books the full amount of the order.
POST/orders/debit
Credit Debit Request
{ "product" : "paydirekt", "terms": 1468590412476, "privacy": 1468590412476,
Create Debit Response
{ "createdAt": 1551896141172, "modifiedAt": 1551896141181, "merchantId": "merchant_7r3ge79sdv",
- Preauth
Preauth
is an authorizing transaction that doesn't directly book the initial amount of the order. It has to be followed by Capture
in order funds to be received.
POST/orders/preauth
Create Preauth Request
{ "product" : "paydirekt", "terms": 1468590412476, "privacy": 1468590412476,
Create Preauth Response
{ "createdAt": 1571140297192, "modifiedAt": 1571140297218, "merchantId": "Merchant-11111111-1111-1111-1111-111111111111",
- Capture
POST/orders/{{orderId}}/transactions/{{transactionId}}/capture
Create Capture Request
{ "description": "description for operation.", "initialAmount": , "currency": "EUR",
Create Capture Response
{ "createdAt": 1571140611021, "modifiedAt": 1571140612866, "type": "CAPTURE",
- Cancel
POST/orders/{{orderId}}/transactions/{{transactionId}}/cancel
Create Cancel Request
{ "description": "test transaction", "initialAmount": , "currency": "EUR"
Create Cancel Response
{ "createdAt": 1572620526984, "modifiedAt": 1572620526989, "type": "CANCEL",
- Refund
POST/orders/{{orderId}}/transactions/{{transactionId}}/refund
Create Refund Request
{ "description": "description for transaction.", "initialAmount": , "currency": "EUR",
Create Refund Response
{ "createdAt": 1571141218101, "modifiedAt": 1571141218836, "type": "REFUND",
Testing
Currently testing of Paydirekt payment transactions on TM environment is possible only via simulator.