Cryptopay API
  • Welcome
  • Guides
    • Introduction
    • Environments
    • Creating a Test Account
    • API Credentials
    • API Basics
      • Responses
      • Date formats
      • Authentication
        • How it works
        • Signature
        • Creating a signature. Code samples
      • Callbacks
    • API Client Libraries
    • API Reference
    • Cryptocurrency Payments
    • Currencies
      • Supported Currencies
      • Currency Icons
    • Confirmations
    • Tools for accepting payments
    • Prebuilt integrations
      • E-commerce payment plugins
      • Payment and software providers
    • Channels
      • Channel payment
      • Payment statuses
      • Channel payment sequence
      • Create a Channel
      • Visual representation at Cashier
      • Channel hosted page
      • Channel payment callbacks
    • Invoices
      • Invoice statuses
      • Invoice payment sequence
      • How to handle unresolved invoices
        • Underpaid
        • Overpaid
        • Paid late
        • Illicit resource
        • Invoice refunds sequence
      • Create an invoice
      • Visual presentation at Cashier
      • Invoice hosted page
      • Online checkout
        • How-to
      • Payment links
      • Invoice callbacks
    • Payouts
      • Payout statuses
      • Payout sequence
      • Payout fees consideration
        • Network fees
      • Create a Coin Withdrawal
        • Possible errors
        • Withdrawals from fiat accounts
        • Withdrawals from cryptocurrency accounts
        • high_risk_address error message
      • Visual representation at Cashier
      • Minimum transaction amount
      • Coin Withdrawal callbacks
      • Travel Rule Compliance
    • Email Billing
      • Create an email billing
      • Email billing callbacks
    • Testing
      • Channels
      • Invoices
      • Payouts
    • Risks
    • Customers
    • Transactions types and Statuses
Powered by GitBook
On this page
  • Criteria
  • Callbacks to be sent in this scenario
  • API auto settings and status flow
  1. Guides
  2. Invoices
  3. How to handle unresolved invoices

Underpaid

Criteria

paid_amount is less than pay_amount

Callbacks to be sent in this scenario

Callback event
Invoice status
Invoice status context
Description

transaction_created

new

null

A customer has just broadcasted their transaction on the network but paid_amount is less than pay_amount

transaction_confirmed

new

null

The transaction has been confirmed on the network

status_changed

unresolved

underpaid

The invoice needs to be resolved

status_changed

completed

null

The transaction amount was exchanged at the new exchange rate. The final invoice amount may differ from the original one

status_changed

refunded

null

The whole transaction amount was refunded

API auto settings and status flow

API Auto Settings
Payment Flow

Do nothing, I will handle them myself

new → txn sent → txn confirmed → invoice expired → unresolved:underpaid

Automatically refund to my crypto account

new → txn sent → txn confirmed → invoice expired → unresolved:underpaid → tx refunded → refunded

Automatically recalculate at a new exchange rate and settle

new → txn → txn confirmation → invoice expiration → unresolved:underpaid → tx recalculated → completed

PreviousHow to handle unresolved invoicesNextOverpaid

Last updated 1 year ago