Skip to main content

IneligibleWalletAuthorizationAddress

Struct IneligibleWalletAuthorizationAddress 

Source
pub struct IneligibleWalletAuthorizationAddress {
    pub address: BlockchainAddress,
    pub code: IneligibleWalletAuthorizationAddressCode,
    pub funds_required: Vec<WalletAuthorizationFundsRequirement>,
    pub message: String,
}
Expand description

A requested payer wallet address that has no eligible authorization option for this payment session, along with a machine- and human-readable reason.

JSON schema
{
 "title": "Ineligible Wallet Authorization Address",
 "description": "A requested payer wallet address that has no eligible authorization option for this payment session, along with a machine- and human-readable reason.",
 "examples": [
   {
     "address": "0xDeF9876543210FeDcBa9876543210FedcBa987654",
     "code": "insufficient_funds",
     "fundsRequired": [
       {
         "asset": "usdc",
         "currentBalance": "0.40",
         "network": "base",
         "requiredBalance": "1.00"
       },
       {
         "asset": "usdc",
         "currentBalance": "0.00",
         "network": "ethereum",
         "requiredBalance": "1.00"
       }
     ],
     "message": "The payer does not have sufficient funds."
   }
 ],
 "type": "object",
 "required": [
   "address",
   "code",
   "message"
 ],
 "properties": {
   "address": {
     "description": "The requested payer wallet address that has no eligible authorization option.",
     "examples": [
       "0xDeF9876543210FeDcBa9876543210FedcBa987654"
     ],
     "allOf": [
       {
         "$ref": "#/components/schemas/BlockchainAddress"
       }
     ]
   },
   "code": {
     "description": "A machine-readable code indicating why this address has no eligible authorization option. The enum is closed — any value the server returns must be listed below. Adding a new code is a deliberate, coordinated API change; clients receiving an undocumented value should treat it as a server violating the spec.",
     "examples": [
       "insufficient_funds"
     ],
     "type": "string",
     "enum": [
       "insufficient_funds",
       "superseded_by_preferred_option"
     ],
     "x-enum-descriptions": [
       "The address does not hold enough of the session asset on a supported source network to cover the session amount.",
       "The address was superseded because a preferred funding option was selected instead."
     ]
   },
   "fundsRequired": {
     "description": "The funding options for this address, one entry per (network, asset) combination the payer could fund to become eligible. Only present when `code` is `insufficient_funds`, and honors the request's `network` and `asset` filters. May be an empty array.",
     "examples": [
       [
         {
           "asset": "usdc",
           "currentBalance": "0.40",
           "network": "base",
           "requiredBalance": "1.00"
         },
         {
           "asset": "usdc",
           "currentBalance": "0.00",
           "network": "ethereum",
           "requiredBalance": "1.00"
         }
       ]
     ],
     "type": "array",
     "items": {
       "$ref": "#/components/schemas/WalletAuthorizationFundsRequirement"
     }
   },
   "message": {
     "description": "A human-readable, English-language description of why this address has no eligible authorization option. Suitable for surfacing in product UIs — does not contain personally identifiable information or internal infrastructure details. Clients that need localized strings should dispatch on `code` and provide their own translations.",
     "examples": [
       "The payer does not have sufficient funds."
     ],
     "type": "string"
   }
 }
}

Fields§

§address: BlockchainAddress

The requested payer wallet address that has no eligible authorization option.

§code: IneligibleWalletAuthorizationAddressCode

A machine-readable code indicating why this address has no eligible authorization option. The enum is closed — any value the server returns must be listed below. Adding a new code is a deliberate, coordinated API change; clients receiving an undocumented value should treat it as a server violating the spec.

§funds_required: Vec<WalletAuthorizationFundsRequirement>

The funding options for this address, one entry per (network, asset) combination the payer could fund to become eligible. Only present when code is insufficient_funds, and honors the request’s network and asset filters. May be an empty array.

§message: String

A human-readable, English-language description of why this address has no eligible authorization option. Suitable for surfacing in product UIs — does not contain personally identifiable information or internal infrastructure details. Clients that need localized strings should dispatch on code and provide their own translations.

Implementations§

Trait Implementations§

Source§

impl Clone for IneligibleWalletAuthorizationAddress

Source§

fn clone(&self) -> Self

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

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

Performs copy-assignment from source. Read more
Source§

impl Debug for IneligibleWalletAuthorizationAddress

Source§

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

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

impl<'de> Deserialize<'de> for IneligibleWalletAuthorizationAddress

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 From<&IneligibleWalletAuthorizationAddress> for IneligibleWalletAuthorizationAddress

Source§

fn from(value: &IneligibleWalletAuthorizationAddress) -> Self

Converts to this type from the input type.
Source§

impl From<IneligibleWalletAuthorizationAddress> for IneligibleWalletAuthorizationAddress

Source§

fn from(value: IneligibleWalletAuthorizationAddress) -> Self

Converts to this type from the input type.
Source§

impl Serialize for IneligibleWalletAuthorizationAddress

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
Source§

impl TryFrom<IneligibleWalletAuthorizationAddress> for IneligibleWalletAuthorizationAddress

Source§

type Error = ConversionError

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

fn try_from( value: IneligibleWalletAuthorizationAddress, ) -> Result<Self, ConversionError>

Performs the conversion.

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> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

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

Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

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

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

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> PolicyExt for T
where T: ?Sized,

Source§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Sized + Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow only if self and other return Action::Follow. Read more
Source§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Sized + Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow if either self or other returns Action::Follow. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

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

Source§

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, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

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

fn try_from(value: U) -> Result<T, !>

Performs the conversion.
Source§

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

Source§

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.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

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
Source§

fn with_current_subscriber(self) -> WithDispatch<Self> ⓘ

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