You can think of a Payment as a one-time invoice which is a request for cryptocurrency payment that is connected to its unique cryptocurrency address as well as the amount that must be paid during the payment window.
Once the payment is created, we start monitoring the payment's cryptocurrency address in order to detect the incoming transaction.
There are a few things to make sure of to avoid issues while accepting payments:
Please deem the payment finalized on the Coindirect side once it updates the status to "complete" or "underpaid"
Please do make another GET /api/v1/pay/:uuid/summary call to check the payment status via the API
Once you receive either"status": "COMPLETE" or "status": "UNDERPAID"from GET /api/v1/pay/:uuid/summary,please finalize the payment on your side and update the payment amount based on the displayCurrency.actual value in the payload
Once you finalize the payment on your side, please ensure that no more transactions will appear on the customer's balance in case you receive further webhooks with the same payment UUID from us - this is to avoid potential issues with duplicate transactions on the customer’s balance