The core rules come from the NOWPayments Integration Guide, but the logic you apply depends on what you are selling.
| Principle | Why It Matters |
|---|---|
Only act on finished (or partially_paid in scenario 2) |
Earlier statuses (confirming, confirmed) are not final. |
| Configure dashboard settings consciously ⇒ go here | The “Repeated Payments” and “Wrong‑asset deposits” settings control automation and risk. |
Always inspect outcome_amount and outcome_currency |
These tell you what actually arrived in your wallet after all fees and conversions. |
| Always set up an IPN secret and validate callbacks | It is important to to prevent fraud |
You sell a specific item for a fixed price.
You must deliver the product or service only when the exact required amount has been received.
| Aspect | Implementation |
|---|---|
| Trigger to deliver | payment.status === 'finished' only. |
| Final amount check | Mandatory: verify that outcome_amount (in your settlement currency) is ≥ the expected price. You can also use payment covering option here |
Handling partially_paid |
Do not deliver unless it fits your model. You can finish this manually. |
| Dashboard settings | Set Repeated Payments Default → Partially Paid |
Set Wrong‑asset deposits status → Partially Paid |
|
| (This protects you from underpayments and wrong‑asset risks.) |
You accept deposits to credit a user’s internal balance.
The exact amount is not critical – every satoshi received adds value to the player’s account.
| Aspect | Implementation |
|---|---|
| Trigger to credit | payment.status === 'finished' or 'partially_paid'. |
| Final amount check | Not needed for comparison. Simply credit the user’s balance with outcome_amount (in outcome_currency). |
Handling partially_paid |
Accept it - you can set up a covering percentage to make most of these finished – credit the amount received. This automatically handles underpayments and wrong‑asset conversions. |
| Dashboard settings | Set Repeated Payments Default → Finished |
Set Wrong‑asset deposits status → Finished |
|
| (Automates everything: every incoming deposit is treated as a finished top‑up.) |