Late Payments

Receiving payments after they have expired

Late payments occur when cryptocurrency is received after the payment has expired, or is already in a complete or underpaid state. This can happen when the blockchain does not complete the payment in time, the user sends the funds late, or sends additional funds after the initial payment.

Why can payments expire?

End users may never send their funds for the payment and we don't want to leave payment in a pending state indefinitely. So after a certain expiry window is reached, the payment will Expire.

How long before a payment expires?

If expiryMinutes is specified when creating your payment and the payment is still in a pending or processing after that time the payment will be expired. If not specified in the payment request then your configured default expiry in your merchant settings will be used.

For payments that require an FX conversion between the currency that is being paid and the currency of your MID wallet, and no expiryMinutes are specified, and no default expiry setting configured, then our default expiry time of 180 minutes will be used.

How do I know the payment has expired?

You will receive a statusChanged webhook with the status field now showing EXPIRED

How do I know a payment is a late payment

You will receive a transactionLatewebhook meaning funds have been received for a payment with the status of expired, complete, or underpaid. The walletCurrency.actual value is the credited amount in your wallet currency.

📘

Payment states

Most commonly the payment will still have the EXPIRED status after funds have been received. If an additional payment is received for a COMPLETE or UNDERPAID payment this is still categorised as 'late' and the payments will remain in those states as they are considered final.

What do I need to do following a late payment?

The amount sent will be credited to the wallet in the same way as a normal payment. What to keep in mind is that a new spot rate would be given for the payment as it is now outside of the original locked exchange rate, so taking the information from the walletCurrency object on the transactionLate Webhook will let you know the amount received and converted into the settlement currency. All other information, such as the exchange rate, and the total amount sent in cryptocurrency, can all also be taken from the webhook to suit your needs.