Skip to content

    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.
    paydirekt payment methods
    • Redirect to Paydirekt page.
    • Login into Paydirekt account*.
    Paydirekt Login
    Paydirekt payment
    • Confirm the payment*.

    *Screenshots are from Paydirekt Sandbox, Payengine Simulator will display different content.

    Payengine Details - Paydirekt

    General

    NameDetails
    ProductPaydirekt
    ChannelsECOM
    CurrenciesEUR
    CountriesDE
    Technical FlowAsynchronous
    RecurringNo (not implemented)
    ChargebacksYes

    Supported Features and Services

    NameDetails
    DebitYes
    PreauthorizationYes
    CancelationYes (full and partial)
    CaptureYes (full and partial)
    RefundsYes (full and partial)
    NotificationsYes (webhook and email)
    PayLink IntegrationNo
    Settlement ReportingYes

    Integration Types

    NameDetails
    APIYes
    WidgetYes
    BridgeNo
    Shop PluginYes

    Technical Flow

    paydirekt-tech-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:

    Specifications - Paydirekt

    Prerequisites for Paydirekt Authorizing Transactions

    PrerequisiteMandatory/Optional (M/O)Create Prerequisite
    CustomerMPOST ´/customers´
    PersonaOPOST ´/customers/{{customerId}}/personas´
    Billing AddressOPOST ´/customers/{{customerId}}/addresses´
    Shipping AddressMPOST ´/customers/{{customerId}}/addresses´

    Create customer specific request parameters

    ParameterMandatory/Optional (M/O)DescriptionExample
    EmailMthe e-mail adress of the customer user@example.com

    Create address specific request parameters

    ParameterMandatory/Optional (M/O)DescriptionExample
    firstNameMFirst NameMax
    lastNameMLast NameMuster
    streetOStreet NameMusterweg
    houseNumberOHouse Number1
    cityMCityMusterhausen
    zipMCity zip code12345
    countryMCountry CodeDD
    stateOState NameBayern
    phoneOPhone number00493012345
    faxOFax number00493012345
    mobileOMobile Number00493012345
    titleOTitleProf. Dr.
    additionalDetailsOAdditional DetailsPremium buyer

    Input Parameters

    The following input parameters are required for initiating a Paydirekt payment via direct API integration.

    ParameterMandatory/Optional (M/O)DescriptionExample
    async.successUrlMRedirect URL for successful paymenthttp://my.shop.com/success
    async.failureUrlMRedirect URL for unsuccessful paymenthttp://my.shop.com/fail
    async.cancelUrlMRedirect URL when payment is canceledhttp://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.