# Invoices

1. Make sure that you know how to update `underpaid` payment statuses
2. Make sure that you know how to update `overpaid` payment statuses
3. Make sure that you know how to update `paid_late` payment statuses
4. Make sure that you use the settings that suit you in the Settings section > API > How to handle unresolved invoices to process `unresolved` status
5. [Create](https://reference.cryptopay.me/#tag/Invoices/operation/invoices.create) multiple invoices
6. Reproduce the `underpaid` scenario by sending cryptocurrency to the invoice address
7. Reproduce the `overpaid`”scenario by sending cryptocurrency to the invoice address
8. Reproduce the `paid_Late` scenario by sending cryptocurrency to the invoice address
9. Update payment statuses in the above three scenarios to one of the final statuses `completed` or `refunded`
10. Make sure that you have received the [callbacks](https://developers.cryptopay.me/guides/api-basics/callbacks) and processed them correctly on your side
11. Check the payment status using the [GET request](https://reference.cryptopay.me/#tag/Invoices/operation/invoices.retrieve)
12. Make sure that you credit funds to the customer balance when the payment status is `completed`
13. Make sure that resending callbacks with the `completed` status does not result in the recharging of funds to the customer's balance on your side
14. Make sure that the relevant teams on your side (Support Team, Finance Team, Fraud Team, Transaction Monitoring Team) are aware of how Cryptopay payment [risk scoring](https://developers.cryptopay.me/guides/risks) works and that incoming payments can be put on hold with the `unresolved` status and the context `Illicit Resources` in cases where they were sent from wallets connected to criminal activity
