pub struct PaymentInitiationPayment {
Show 18 fields pub adjusted_reference: Option<String>, pub adjusted_scheme: Option<PaymentScheme>, pub amount: PaymentAmount, pub amount_refunded: Option<PaymentAmountRefunded>, pub bacs: Option<RecipientBacs>, pub consent_id: Option<String>, pub iban: Option<String>, pub last_status_update: DateTime<Utc>, pub payment_id: String, pub recipient_id: String, pub reference: String, pub refund_details: Option<ExternalPaymentRefundDetails>, pub refund_ids: Option<Vec<String>>, pub schedule: Option<ExternalPaymentScheduleBase>, pub scheme: Option<PaymentScheme>, pub status: String, pub transaction_id: Option<String>, pub wallet_id: Option<String>,
}
Expand description

PaymentInitiationPayment defines a payment initiation payment

Fields§

§adjusted_reference: Option<String>

The value of the reference sent to the bank after adjustment to pass bank validation rules.

§adjusted_scheme: Option<PaymentScheme>

Payment scheme. If not specified - the default in the region will be used (e.g. SEPA_CREDIT_TRANSFER for EU). Using unsupported values will result in a failed payment.

LOCAL_DEFAULT: The default payment scheme for the selected market and currency will be used.

LOCAL_INSTANT: The instant payment scheme for the selected market and currency will be used (if applicable). Fees may be applied by the institution. If the market does not support an Instant Scheme (e.g. Denmark), the default in the region will be used.

SEPA_CREDIT_TRANSFER: The standard payment to a beneficiary within the SEPA area.

SEPA_CREDIT_TRANSFER_INSTANT: Instant payment within the SEPA area. May involve additional fees and may not be available at some banks.

§amount: PaymentAmount

The amount and currency of a payment

§amount_refunded: Option<PaymentAmountRefunded>

The amount and currency of a payment

§bacs: Option<RecipientBacs>

An object containing a BACS account number and sort code. If an IBAN is not provided or if this recipient needs to accept domestic GBP-denominated payments, BACS data is required.

§consent_id: Option<String>

The payment consent ID that this payment was initiated with. Is present only when payment was initiated using the payment consent.

§iban: Option<String>

The International Bank Account Number (IBAN) for the sender, if specified in the /payment_initiation/payment/create call.

§last_status_update: DateTime<Utc>

The date and time of the last time the status was updated, in IS0 8601 format

§payment_id: String

The ID of the payment. Like all Plaid identifiers, the payment_id is case sensitive.

§recipient_id: String

The ID of the recipient

§reference: String

A reference for the payment.

§refund_details: Option<ExternalPaymentRefundDetails>

Details about external payment refund

§refund_ids: Option<Vec<String>>

Refund IDs associated with the payment.

§schedule: Option<ExternalPaymentScheduleBase>

The schedule that the payment will be executed on. If a schedule is provided, the payment is automatically set up as a standing order. If no schedule is specified, the payment will be executed only once.

§scheme: Option<PaymentScheme>

Payment scheme. If not specified - the default in the region will be used (e.g. SEPA_CREDIT_TRANSFER for EU). Using unsupported values will result in a failed payment.

LOCAL_DEFAULT: The default payment scheme for the selected market and currency will be used.

LOCAL_INSTANT: The instant payment scheme for the selected market and currency will be used (if applicable). Fees may be applied by the institution. If the market does not support an Instant Scheme (e.g. Denmark), the default in the region will be used.

SEPA_CREDIT_TRANSFER: The standard payment to a beneficiary within the SEPA area.

SEPA_CREDIT_TRANSFER_INSTANT: Instant payment within the SEPA area. May involve additional fees and may not be available at some banks.

§status: String

The status of the payment.

PAYMENT_STATUS_INPUT_NEEDED: This is the initial state of all payments. It indicates that the payment is waiting on user input to continue processing. A payment may re-enter this state later on if further input is needed.

PAYMENT_STATUS_INITIATED: The payment has been successfully authorised and accepted by the financial institution. For successful payments, this is a potential terminal status. Further status transitions can be to REJECTED and, when supported by the institution, to EXECUTED.

PAYMENT_STATUS_INSUFFICIENT_FUNDS: The payment has failed due to insufficient funds.

PAYMENT_STATUS_FAILED: The payment has failed to be initiated. This error may be caused by transient system outages and is retryable once the root cause is resolved.

PAYMENT_STATUS_BLOCKED: The payment has been blocked by Plaid. This can occur, for example, due to Plaid flagging the payment as potentially risky. This is a retryable error.

PAYMENT_STATUS_AUTHORISING: The payment is currently being processed. The payment will automatically exit this state when the financial institution has authorised the transaction.

PAYMENT_STATUS_CANCELLED: The payment was cancelled (typically by the end user) during authorisation.

PAYMENT_STATUS_EXECUTED: The funds have successfully left the payer account and payment is considered complete. Not all institutions support this status: support is more common in the UK, and less common in the EU. For institutions where this status is not supported, the terminal status for a successful payment will be PAYMENT_STATUS_INITIATED.

PAYMENT_STATUS_SETTLED: The payment has settled and funds are available for use. A payment will typically settle within seconds to several days, depending on which payment rail is used. This status is only available to customers using Plaid Virtual Accounts.

PAYMENT_STATUS_ESTABLISHED: Indicates that the standing order has been successfully established. This state is only used for standing orders.

PAYMENT_STATUS_REJECTED: The payment was rejected by the financial institution.

Deprecated: These statuses will be removed in a future release.

PAYMENT_STATUS_UNKNOWN: The payment status is unknown.

PAYMENT_STATUS_PROCESSING: The payment is currently being processed. The payment will automatically exit this state when processing is complete.

PAYMENT_STATUS_COMPLETED: Indicates that the standing order has been successfully established. This state is only used for standing orders.

§transaction_id: Option<String>

The transaction ID that this payment is associated with, if any. This is present only when a payment was initiated using virtual accounts.

§wallet_id: Option<String>

The EMI (E-Money Institution) wallet that this payment is associated with, if any. This wallet is used as an intermediary account to enable Plaid to reconcile the settlement of funds for Payment Initiation requests.

Trait Implementations§

source§

impl Clone for PaymentInitiationPayment

source§

fn clone(&self) -> PaymentInitiationPayment

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for PaymentInitiationPayment

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for PaymentInitiationPayment

source§

fn default() -> PaymentInitiationPayment

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for PaymentInitiationPayment

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Display for PaymentInitiationPayment

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
source§

impl Serialize for PaymentInitiationPayment

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> ToOwned for T
where T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T> ToString for T
where T: Display + ?Sized,

source§

default fn to_string(&self) -> String

Converts the given value to a String. Read more
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more
source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,