paydirekt
paydirekt transactions can also be processed via the Saferpay JSON API. However, as paydirekt is a third party provider, there are a few things to consider.
General requirements
A corresponding license and thus a valid identification with a username and password for the Saferpay system.
At least one active Saferpay terminal via which payment can be carried out and the associated Saferpay TerminalId.
A valid paydirekt merchant account
A valid paydirekt API-Key
A valid paydirekt API Secret
For paydirekt activation on the Saferpay terminal, please inform our customer service about your paydirekt credentials and the desired currency.
Technical requirements
The general integration of paydirekt can only be done via the Payment Page and requires the following things to be noted:
JSON API Version 1.5 or later
paydirekt restricts the
Payment.OrderId
to a maximal length of 20 characters. TheOrderId
will be automatically trimmed if it exceeds the maximal length. Please keep this in mind to properly handle the use of theOrderId
.paydirekt does not support the Iframe integration. Saferpay will break out of the IFrame, if necessary.
The notification URLs, inside the
Notification
conatiner are mandatory, in order to avoid missing payment successes. See the Payment Page process for further information.
Supported features
Feature
Support
✅
Multipart Captures
❌
Secure Card Data
❌
✅
Recurring Payments
❌
3D Secure
❌
Dynamic Currency Conversion
❌
Mail Phone Order
❌
✅
Omni-Channel
❌
paydirekt refunds do not need to be captured and will always report a Transaction.Status: "CAPTURED"
.
Payment Page integration
The processing of paydirekt transactions requires that the delivery address data is submitted. The minimum required delivery address values are:
FirstName
LastName
Zip
City
CountryCode
If the minimum required delivery address values are submitted during the Payment Page initialization, the delivery address form will not be displayed or will be skipped, except if the DeliveryAddressForm
value is set to true
.
If the minimum required delivery data is missing or not complete, the Payment Page delivery address form, will be displayed during the payment process for the cardholder/purchaser to enter or complete the missing values. In this case the delivery address form is displayed regardless of the DeliveryAddressForm
configuration (true or false).
Display of pending status for captures (booking) and refunds
paydirekt transfers every booking request to the buyer's bank for validation. If the validation process hasn’t yet taken place, the transaction status is shown as PENDING
. Even if the validation process normally only takes a few seconds, Saferpay waits a few seconds for the result before transmitting the PENDING
status with the booking response to the merchant system. In this case a notice will be displayed in the transaction details in the Saferpay Backoffice to inform that the booking is not yet completed.
The status of the transaction remains as "reservation", not permitting any follow-up actions until the pending action is completed.
Notification after change from pending to final status
As soon as Saferpay receives a response from paydirekt that a booking or refund with the status "pending" has been completed, an email notification is sent to the merchant or a server-to-server notification to the notification URL which was submitted via the JSON API. The notification informs the merchant whether the booking of the reservation or the credit has been accepted or rejected.
The merchant email address is configurable via the JSON API or the Backoffice.
Important Note: The "PENDING" status can only occur with Transaction/Capture and Transaction/Refund. The status-change can take up to several days, however, refunds may always be "PENDING" for at least one day!
Querying the transaction status via API
To automatize this process, you first need to set the PendingNotification.NotifyUrl
option, available for the Transaction/Capture and Transaction/Refund. Once Saferpay recieves a status-update, the NotifyUrl will be called, enabling you to query the final status.
The status of a paydirekt booking and/or refund can be queried with the JSON API. The corresponding functions are Transaction/AssertCapture and Transaction/AssertRefund. These functions are only available for paydirekt and for refunds, also WL Crypto Payments transactions.
Remember to reference the refund, not the original transaction, that has been refunded!
This process is basically the same, as with the Notification URLs, within the Payment Page process and follow the same rules.
Testing
Please refer to this chapter, if you want to test paydirekt.
Last updated