Stripe.Resources.Mandate (tiger_stripe v0.3.0)

Copy Markdown View Source

Mandate

A Mandate is a record of the permission that your customer gives you to debit their payment method.

Summary

Types

customer_acceptance()

@type customer_acceptance() :: %{
  optional(:accepted_at) => integer() | nil,
  optional(:offline) => map() | nil,
  optional(:online) => customer_acceptance_online() | nil,
  optional(:type) => String.t() | nil,
  optional(String.t()) => term()
}
  • accepted_at - The time that the customer accepts the mandate. Format: Unix timestamp. Nullable.
  • offline
  • online
  • type - The mandate includes the type of customer acceptance information, such as: online or offline. Possible values: offline, online.

customer_acceptance_online()

@type customer_acceptance_online() :: %{
  optional(:ip_address) => String.t() | nil,
  optional(:user_agent) => String.t() | nil,
  optional(String.t()) => term()
}
  • ip_address - The customer accepts the mandate from this IP address. Max length: 5000. Nullable.
  • user_agent - The customer accepts the mandate using the user agent of the browser. Max length: 5000. Nullable.

payment_method_details()

@type payment_method_details() :: %{
  optional(:acss_debit) => Stripe.Resources.AcssDebit.t() | nil,
  optional(:amazon_pay) => Stripe.Resources.AmazonPay.t() | nil,
  optional(:au_becs_debit) => payment_method_details_au_becs_debit() | nil,
  optional(:bacs_debit) => payment_method_details_bacs_debit() | nil,
  optional(:card) => map() | nil,
  optional(:cashapp) => Stripe.Resources.Cashapp.t() | nil,
  optional(:kakao_pay) => Stripe.Resources.KakaoPay.t() | nil,
  optional(:klarna) => map() | nil,
  optional(:kr_card) => Stripe.Resources.KrCard.t() | nil,
  optional(:link) => map() | nil,
  optional(:naver_pay) => map() | nil,
  optional(:nz_bank_account) => Stripe.Resources.NzBankAccount.t() | nil,
  optional(:paypal) => payment_method_details_paypal() | nil,
  optional(:payto) => Stripe.Resources.Payto.t() | nil,
  optional(:revolut_pay) => Stripe.Resources.RevolutPay.t() | nil,
  optional(:sepa_debit) => Stripe.Resources.SepaDebit.t() | nil,
  optional(:type) => String.t() | nil,
  optional(:us_bank_account) => Stripe.Resources.UsBankAccount.t() | nil,
  optional(String.t()) => term()
}
  • acss_debit
  • amazon_pay
  • au_becs_debit
  • bacs_debit
  • card
  • cashapp
  • kakao_pay
  • klarna
  • kr_card
  • link
  • naver_pay
  • nz_bank_account
  • paypal
  • payto
  • revolut_pay
  • sepa_debit
  • type - This mandate corresponds with a specific payment method type. The payment_method_details includes an additional hash with the same name and contains mandate information that's specific to that payment method. Max length: 5000.
  • us_bank_account

payment_method_details_au_becs_debit()

@type payment_method_details_au_becs_debit() :: %{
  optional(:url) => String.t() | nil,
  optional(String.t()) => term()
}
  • url - The URL of the mandate. This URL generally contains sensitive information about the customer and should be shared with them exclusively. Max length: 5000.

payment_method_details_bacs_debit()

@type payment_method_details_bacs_debit() :: %{
  optional(:network_status) => String.t() | nil,
  optional(:reference) => String.t() | nil,
  optional(:revocation_reason) => String.t() | nil,
  optional(:url) => String.t() | nil,
  optional(String.t()) => term()
}
  • network_status - The status of the mandate on the Bacs network. Can be one of pending, revoked, refused, or accepted. Possible values: accepted, pending, refused, revoked.
  • reference - The unique reference identifying the mandate on the Bacs network. Max length: 5000.
  • revocation_reason - When the mandate is revoked on the Bacs network this field displays the reason for the revocation. Possible values: account_closed, bank_account_restricted, bank_ownership_changed, could_not_process, debit_not_authorized. Nullable.
  • url - The URL that will contain the mandate that the customer has signed. Max length: 5000.

payment_method_details_paypal()

@type payment_method_details_paypal() :: %{
  optional(:billing_agreement_id) => String.t() | nil,
  optional(:payer_id) => String.t() | nil,
  optional(String.t()) => term()
}
  • billing_agreement_id - The PayPal Billing Agreement ID (BAID). This is an ID generated by PayPal which represents the mandate between the merchant and the customer. Max length: 5000. Nullable.
  • payer_id - PayPal account PayerID. This identifier uniquely identifies the PayPal customer. Max length: 5000. Nullable.

single_use()

@type single_use() :: %{
  optional(:amount) => integer() | nil,
  optional(:currency) => String.t() | nil,
  optional(String.t()) => term()
}
  • amount - The amount of the payment on a single use mandate.
  • currency - The currency of the payment on a single use mandate. Format: ISO 4217 currency code.

t()

@type t() :: %Stripe.Resources.Mandate{
  customer_acceptance: customer_acceptance(),
  id: String.t(),
  livemode: boolean(),
  multi_use: map() | nil,
  object: String.t(),
  on_behalf_of: String.t() | nil,
  payment_method: String.t() | Stripe.Resources.PaymentMethod.t(),
  payment_method_details: payment_method_details(),
  single_use: single_use() | nil,
  status: String.t(),
  type: String.t()
}
  • customer_acceptance - Expandable.
  • id - Unique identifier for the object. Max length: 5000.
  • livemode - Has the value true if the object exists in live mode or the value false if the object exists in test mode.
  • multi_use - Expandable.
  • object - String representing the object's type. Objects of the same type share the same value. Possible values: mandate.
  • on_behalf_of - The account (if any) that the mandate is intended for. Max length: 5000.
  • payment_method - ID of the payment method associated with this mandate. Expandable.
  • payment_method_details - Expandable.
  • single_use - Expandable.
  • status - The mandate status indicates whether or not you can use it to initiate a payment. Possible values: active, inactive, pending.
  • type - The type of the mandate. Possible values: multi_use, single_use.

Functions

expandable_fields()

object_name()