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 aCOMPLETE
orUNDERPAID
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.
Updated 2 months ago