The simplest answer to this question is ‘as much time as you define’. The validity of a payment order is set by you, upon creation.
When creating a new Payment Notification, you are prompted to set an expiration date and time. This will be clearly stated on the notification e-mail that your customer will receive so that they know how much time they have in order to make the payment.
If your order is created via the API, you can set the expiration date by using the optional parameters ‘ExpirationDate’ or ‘PaymentTimeOut’. If no expiration date is provided, the order gets automatically expired after 5 minutes.
To better support cash, pay@home and e-banking payment options and give your customers more flexibility, you need to set the Expiration Date to several days, weeks, months or to a ‘never expire’ value, so that your order code remains active forever. Note that your customers do not have the option to make a payment by card or cash, if the order code has expired.
IMPORTANT: The Expiration Date is not applicable if your customers attempt to pay you via e-banking. This is due to a limitation of the intra-bank payment network (DIAS). Payments made via e-banking will always be accepted and processed by our systems, even if their expiration date has passed.