1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
//! Model for InvoiceStatus enum.
use serde::{Deserialize, Serialize};
/// Indicates the status of an invoice.
#[derive(Clone, Debug, Deserialize, Eq, PartialEq, Serialize)]
#[serde(rename_all = "SCREAMING_SNAKE_CASE")]
pub enum InvoiceStatus {
/// The invoice is a draft. You must publish a draft invoice before Square can process it. A
/// draft invoice has no `public_url`, so it is not available to customers.
Draft,
/// The invoice is published but not yet paid.
Unpaid,
/// The invoice is scheduled to be processed. On the scheduled date, Square sends the invoice,
/// initiates an automatic payment, or takes no action, depending on the delivery method and
/// payment request settings. Square also sets the invoice status to the appropriate state:
/// `UNPAID`, `PAID`, `PARTIALLY_PAID`, or `PAYMENT_PENDING`.
Scheduled,
/// A partial payment is received for the invoice.
PartiallyPaid,
/// The customer paid the invoice in full.
Paid,
/// The invoice is paid (or partially paid) and some but not all the amount paid is refunded.
PartiallyRefunded,
/// The full amount that the customer paid for the invoice is refunded.
Refunded,
/// The invoice is canceled. Square no longer requests payments from the customer. The
/// `public_url` page remains and is accessible, but it displays the invoice as canceled and
/// does not accept payment.
Canceled,
/// Square canceled the invoice due to suspicious activity.
Failed,
/// A payment on the invoice was initiated but has not yet been processed.
///
/// When in this state, invoices cannot be updated and other payments cannot be initiated.
PaymentPending,
}