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.

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 activation service about your paydirekt credentials and the desired currency.

Supported features

Feature
Support
Multipart Captures
Secure Card Data
Refunds
Recurring Payments
3D Secure
Dynamic Currency Conversion
Mail Phone Order
Testing
paydirekt refunds do not need to be captured and will always report a Transaction.Status: "CAPTURED".

Integration

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. The OrderId will be automatically trimmed if it exceeds the maximal length. Please keep this in mind to properly handle the use of the OrderId.

Handling of delivery address

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.
(click to enlarge)
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.
(click to enlarge)
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 modified 4d ago