#[non_exhaustive]pub enum ErrorReason {
Show 29 variants
InsufficientFunds,
InvalidExactEvmPayloadAuthorizationValidAfter,
InvalidExactEvmPayloadAuthorizationValidBefore,
InvalidExactEvmPayloadAuthorizationValueMismatch,
InvalidExactEvmPayloadSignature,
InvalidExactEvmPayloadRecipientMismatch,
InvalidNetwork,
InvalidPayload,
InvalidPaymentRequirements,
InvalidScheme,
UnsupportedScheme,
InvalidX402Version,
InvalidTransactionState,
UnexpectedVerifyError,
UnexpectedSettleError,
SettlementPending,
DuplicateSettlement,
NonceAlreadyUsed,
Permit2AllowanceRequired,
InvalidUptoEvmPayloadSettlementExceedsAmount,
UptoFacilitatorMismatch,
UptoUnauthorizedFacilitator,
UptoAmountExceedsPermitted,
InvalidExactSolanaPayloadMemoMismatch,
InvalidExactSolanaPayloadMemoCount,
IncompatibleSettlementMode,
SettlementAborted,
ExtensionEchoMismatch,
Custom(CompactString),
}Expand description
Canonical error code on the wire when a payment fails.
Unknown codes round-trip through Self::Custom.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
InsufficientFunds
Wire code: insufficient_funds.
InvalidExactEvmPayloadAuthorizationValidAfter
Wire code: invalid_exact_evm_payload_authorization_valid_after.
InvalidExactEvmPayloadAuthorizationValidBefore
Wire code: invalid_exact_evm_payload_authorization_valid_before.
InvalidExactEvmPayloadAuthorizationValueMismatch
Wire code: invalid_exact_evm_payload_authorization_value_mismatch.
InvalidExactEvmPayloadSignature
Wire code: invalid_exact_evm_payload_signature.
InvalidExactEvmPayloadRecipientMismatch
Wire code: invalid_exact_evm_payload_recipient_mismatch.
InvalidNetwork
Wire code: invalid_network.
InvalidPayload
Wire code: invalid_payload.
InvalidPaymentRequirements
Wire code: invalid_payment_requirements.
InvalidScheme
Wire code: invalid_scheme.
UnsupportedScheme
Wire code: unsupported_scheme.
InvalidX402Version
Wire code: invalid_x402_version.
InvalidTransactionState
Wire code: invalid_transaction_state.
UnexpectedVerifyError
Wire code: unexpected_verify_error.
UnexpectedSettleError
Wire code: unexpected_settle_error.
SettlementPending
Wire code: settlement_pending.
Non-terminal. A crate::payment::SettleResponse::Failure with this
reason MUST carry a non-empty transaction.
DuplicateSettlement
Wire code: duplicate_settlement.
NonceAlreadyUsed
Wire code: nonce_already_used.
Permit2AllowanceRequired
Wire code: permit2_allowance_required. HTTP mapping: 412.
InvalidUptoEvmPayloadSettlementExceedsAmount
Wire code: invalid_upto_evm_payload_settlement_exceeds_amount.
UptoFacilitatorMismatch
Wire code: upto_facilitator_mismatch.
Wire code: upto_unauthorized_facilitator.
UptoAmountExceedsPermitted
Wire code: upto_amount_exceeds_permitted.
InvalidExactSolanaPayloadMemoMismatch
Wire code: invalid_exact_solana_payload_memo_mismatch.
InvalidExactSolanaPayloadMemoCount
Wire code: invalid_exact_solana_payload_memo_count.
IncompatibleSettlementMode
Wire code: incompatible_settlement_mode. HTTP mapping: 500.
SettlementAborted
Wire code: settlement_aborted. HTTP mapping: 402.
ExtensionEchoMismatch
Wire code: extension_echo_mismatch.
Custom(CompactString)
Unknown wire code, preserved verbatim.
Implementations§
Source§impl ErrorReason
impl ErrorReason
Trait Implementations§
Source§impl Clone for ErrorReason
impl Clone for ErrorReason
Source§fn clone(&self) -> ErrorReason
fn clone(&self) -> ErrorReason
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for ErrorReason
impl Debug for ErrorReason
Source§impl<'de> Deserialize<'de> for ErrorReason
impl<'de> Deserialize<'de> for ErrorReason
Source§fn deserialize<D: Deserializer<'de>>(deserializer: D) -> Result<Self, D::Error>
fn deserialize<D: Deserializer<'de>>(deserializer: D) -> Result<Self, D::Error>
Source§impl Display for ErrorReason
impl Display for ErrorReason
impl Eq for ErrorReason
Source§impl From<&str> for ErrorReason
impl From<&str> for ErrorReason
Source§impl From<CompactString> for ErrorReason
impl From<CompactString> for ErrorReason
Source§fn from(value: CompactString) -> Self
fn from(value: CompactString) -> Self
Source§impl From<String> for ErrorReason
impl From<String> for ErrorReason
Source§impl Hash for ErrorReason
impl Hash for ErrorReason
Source§impl PartialEq for ErrorReason
impl PartialEq for ErrorReason
Source§impl Serialize for ErrorReason
impl Serialize for ErrorReason
impl StructuralPartialEq for ErrorReason
Auto Trait Implementations§
impl Freeze for ErrorReason
impl RefUnwindSafe for ErrorReason
impl Send for ErrorReason
impl Sync for ErrorReason
impl Unpin for ErrorReason
impl UnsafeUnpin for ErrorReason
impl UnwindSafe for ErrorReason
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<T> ToCompactString for Twhere
T: Display,
impl<T> ToCompactString for Twhere
T: Display,
Source§fn try_to_compact_string(&self) -> Result<CompactString, ToCompactStringError>
fn try_to_compact_string(&self) -> Result<CompactString, ToCompactStringError>
ToCompactString::to_compact_string() Read moreSource§fn to_compact_string(&self) -> CompactString
fn to_compact_string(&self) -> CompactString
CompactString. Read more