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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
//! Model for InvoiceRequestMethod enum.

/// Specifies the action for Square to take for processing the invoice.
///
/// For example, email the invoice, charge a customer's card on file, or do nothing. DEPRECATED at
/// version 2021-01-21. The corresponding `request_method` field is replaced by the
/// `Invoice.delivery_method` and `InvoicePaymentRequest.automatic_payment_source` fields.
use serde::{Deserialize, Serialize};
#[derive(Clone, Debug, Deserialize, Eq, PartialEq, Serialize)]
#[serde(rename_all = "SCREAMING_SNAKE_CASE")]
pub enum InvoiceRequestMethod {
    /// Directs Square to send invoices, reminders, and receipts to the customer using email. Square
    /// sends the invoice after it is published (either immediately or at the `scheduled_at time`,
    /// if specified in the [Invoice]).
    #[deprecated]
    Email,
    /// Directs Square to charge the card on file on the `due_date` specified in the payment request
    /// and to use email to send invoices, reminders, and receipts.
    #[deprecated]
    ChargeCardOnFile,
    /// Directs Square to take no specific action on the invoice. In this case, the seller (or the
    /// application developer) follows up with the customer for payment. For example, a seller might
    /// collect a payment in the Seller Dashboard or use the Point of Sale (POS) application. The
    /// seller might also share the URL of the Square-hosted invoice page (`public_url`) with the
    /// customer requesting payment.
    #[deprecated]
    ShareManually,
    /// Directs Square to charge the bank account on file on the `due_date` specified in the payment
    /// request and to use email to send invoices, reminders, and receipts.
    ///
    /// The bank on file payment method applies only to recurring invoices that sellers create in
    /// the Seller Dashboard or other Square first-party applications. The bank account is provided
    /// by the customer during the payment flow. You cannot set `CHARGE_BANK_ON_FILE` as a request
    /// method using the Invoices API.
    #[deprecated]
    ChargeBankOnFile,
    /// Directs Square to send invoices and receipts to the customer using SMS (text message).
    /// Square sends the invoice after it is published (either immediately or at the `scheduled_at`
    /// time, if specified in the [Invoice]).
    ///
    /// You cannot set `SMS` as a request method using the Invoices API.
    #[deprecated]
    Sms,
    /// Directs Square to charge the card on file on the `due_date` specified in the payment request
    /// and to use SMS (text message) to send invoices and receipts.
    ///
    /// You cannot set `SMS_CHARGE_CARD_ON_FILE` as a request method using the Invoices API.
    #[deprecated]
    SmsChargeCardOnFile,
    /// Directs Square to charge the bank account on file on the `due_date` specified in the payment
    /// request and to use SMS (text message) to send invoices and receipts.
    ///
    /// The bank on file payment method applies only to recurring invoices that sellers create in
    /// the Seller Dashboard or other Square first-party applications. The bank account is provided
    /// by the customer during the payment flow. You cannot set `SMS_CHARGE_BANK_ON_FILE` as a
    /// request method using the Invoices API.
    #[deprecated]
    SmsChargeBankOnFile,
}