To retrieve the iDEAL payment confirmation, you perform a StatusRequest when the Consumer returns to your page via the
merchantReturnURL that you provided in the TransactionRequest. However, it is possible for the Consumer to close his banking-page browser before being returned to this merchantReturnURL (even when he has authenticated the payment). To make sure you still receive the final iDEAL payment status, it is mandatory to also perform a StatusRequest in case the Consumer does not return to the Merchant's website.
- Make sure that you at least have two triggers in place for collecting the iDEAL transaction final status (status Succes, Canceled, Expired or Failed):
- The return of the user after payment to your merchant environment (via the MerchantReturnURL)
- Expiring of the iDEAL transaction expirationPeriod (which is configurable in your transaction request, and by default set to 30 min)
- Not having the second trigger in place can lead to mismatches between your order system and the iDEAL end status. This can result in situations where customers have paid for an order but no confirmation of payment is administered in your order system and, as a result, no product is delivered to the consumer.
- Make sure you do not make delivery solely based on the return of the consumer to your merchant environment (via the MerchantreturnURL) but solely after receipt of the final status "Success".
- The final end status can only be determined in the following ways:
- Execute the Query protocol (sending the iDEAL StatusRequest), after which you will receive the StatusResponse which includes the status of the iDEAL transaction, or;
- In the dashboard of your iDEAL contracting party (if present) look up the final status of the iDEAL transaction.