# 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](/guides/risks.md) 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


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://developers.cryptopay.me/guides/testing/invoices.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
