Invoices represent a billed amount a merchant sends to a customer for payment.

Each invoice moves through a status lifecycle, starting as a Draft the merchant can freely edit.
Publishing an invoice sends it to the customer and locks its status to Published.
From there it can become Paid, Expired, Canceled, ProcessingPayment, or Refunded.

The Invoices endpoints support creating, editing, publishing, and collecting payment on an invoice.
A draft invoice can be updated or deleted, but a published invoice cannot be deleted.
Once published, an invoice can be submitted for card or ACH payment, canceled, or marked as paid.
Additional endpoints send email or SMS notifications, calculate totals, and download a PDF copy.

* GET /pay-int-api/invoices.
Lists invoices for the current merchant, filtered by the specified query parameters.
* POST /pay-int-api/invoices.
Creates a new invoice in Draft status.
* GET /pay-int-api/invoices/{invoiceId}.
Retrieves a single invoice's details.
* PUT /pay-int-api/invoices/{invoiceId}.
Updates a specified invoice.
* DELETE /pay-int-api/invoices/{invoiceId}.
Deletes an invoice; published invoices cannot be deleted.
* POST /pay-int-api/invoices/publish.
Publishes an invoice, sending it to the customer.
* POST /pay-int-api/invoices/{invoiceId}/submit.
Submits an invoice for card payment processing.
* POST /pay-int-api/invoices/{invoiceId}/ach/submit.
Submits an invoice for ACH payment processing.
* PUT /pay-int-api/invoices/{invoiceId}/cancel.
Cancels a published, unpaid invoice.
* PUT /pay-int-api/invoices/{invoiceId}/mark-as-paid.
Marks a published, unpaid invoice as paid.
* GET /pay-int-api/invoices/{invoiceId}/calculations.
Retrieves the calculated totals for an invoice.
* GET /pay-int-api/invoices/{invoiceId}/download-pdf.
Downloads a PDF copy of the invoice.
* POST /pay-int-api/invoices/{invoiceId}/send-email-notification.
Sends the invoice to the customer by email.
* POST /pay-int-api/invoices/{invoiceId}/send-published-sms-notification.
Sends the invoice to the customer by SMS.