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,
}