pub struct PaymentAttempt {Show 16 fields
pub id: PaymentAttemptId,
pub organization_id: String,
pub payment_account_id: Option<PaymentAccountId>,
pub session_id: Option<String>,
pub capability: String,
pub operation: String,
pub rail: Option<PaymentRail>,
pub amount_usd: f64,
pub currency: String,
pub target_url: String,
pub request_hash: Option<String>,
pub status: PaymentStatus,
pub error_message: Option<String>,
pub receipt: Value,
pub created_at: DateTime<Utc>,
pub updated_at: DateTime<Utc>,
}Expand description
A single paid-call settlement attempt — the durable record of one authorization+settlement cycle issued through the payment authority. Persisted regardless of outcome so failed attempts remain auditable.
Fields§
§id: PaymentAttemptIdPrefixed public identifier. See ID Schema.
organization_id: StringOwning organization’s prefixed public identifier.
payment_account_id: Option<PaymentAccountId>Payment account that settled (or attempted to settle) this attempt. None if no account could be resolved.
session_id: Option<String>Session that initiated the paid call, if any.
capability: StringCapability ID that originated this paid call.
operation: StringCapability-specific operation name that originated this paid call.
rail: Option<PaymentRail>Settlement rail actually used. None if the attempt failed before rail selection.
amount_usd: f64Amount actually charged (USD).
currency: StringISO 4217 currency code for the charge (typically USD).
target_url: StringDestination URL of the paid outbound call.
request_hash: Option<String>Stable hash of the outbound request used to detect replays. None when not applicable.
status: PaymentStatusCurrent lifecycle status of this attempt.
error_message: Option<String>Human-readable error message when status is failed; None otherwise.
receipt: ValueRail-specific receipt payload (transaction id, block reference, signature, etc.).
created_at: DateTime<Utc>Timestamp when this attempt was created (RFC 3339).
updated_at: DateTime<Utc>Timestamp when this attempt was last updated (RFC 3339).
Trait Implementations§
Source§impl Clone for PaymentAttempt
impl Clone for PaymentAttempt
Source§fn clone(&self) -> PaymentAttempt
fn clone(&self) -> PaymentAttempt
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 PaymentAttempt
impl Debug for PaymentAttempt
Source§impl<'de> Deserialize<'de> for PaymentAttempt
impl<'de> Deserialize<'de> for PaymentAttempt
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Auto Trait Implementations§
impl Freeze for PaymentAttempt
impl RefUnwindSafe for PaymentAttempt
impl Send for PaymentAttempt
impl Sync for PaymentAttempt
impl Unpin for PaymentAttempt
impl UnsafeUnpin for PaymentAttempt
impl UnwindSafe for PaymentAttempt
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
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> FutureExt for T
impl<T> FutureExt for T
Source§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
Source§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a tonic::Request