Skip to main content

PaymentConfig

Struct PaymentConfig 

Source
pub struct PaymentConfig {
    pub scheme: String,
    pub key: String,
    pub pay_network: String,
    pub asset: String,
    pub max_amount: String,
    pub svm_rpc_url: Option<String>,
    pub base_url_override: Option<String>,
}
Expand description

Binding-facing crypto-micropayment configuration. Plain data — all fields are strings so this can be a napi(object) / pyclass / Ruby hash; it is converted to the internal enum Signer + resolved config at the Rust boundary. The private key field stays readable to the caller, but the SDK’s own Debug redacts it (below) so an SDK log line or panic can’t leak it.

Do not log your own PaymentConfigprintln!("{config:?}") on the derived-Debug binding object (napi/pyclass/hash) still shows the raw key. Only the SDK’s internal rendering is redacted.

Fields§

§scheme: String

Payment protocol: "x402" (pay-per-request) or "mpp" (MPP charge).

§key: String

Raw private key. EVM/Tempo: hex (with or without 0x). Solana: base58 64-byte secret key.

§pay_network: String

CAIP-2 pay network selector, e.g. "eip155:84532" (x402/EVM), "solana:5eykt4…" (x402/Solana), or "eip155:42431" (MPP/Tempo).

§asset: String

Asset (token) address/mint to pay in. Matches the offered menu entry’s asset. EVM: token contract hex. Solana: mint base58.

§max_amount: String

Spend ceiling in base units of asset (integer string). Required. The selector skips any offered entry above this, and the driver refuses to sign one — guarding against a buggy/hostile gateway overcharging a custodied key.

§svm_rpc_url: Option<String>

Explicit Solana RPC URL for x402/Solana payment-build reads: the mint (for its decimals and owning token program) and a recent blockhash, so two reads per payment. Optional; when unset the SDK falls back to a public Solana RPC matching the pay cluster. Set this at any real volume — the public default rate-limits aggressively.

§base_url_override: Option<String>

Test-only gateway base override (points the lane at a mock gateway).

Trait Implementations§

Source§

impl Clone for PaymentConfig

Source§

fn clone(&self) -> PaymentConfig

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 PaymentConfig

Source§

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

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

impl<'de> Deserialize<'de> for PaymentConfig

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 Serialize for PaymentConfig

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

Source§

fn erased_serialize(&self, serializer: &mut dyn Serializer) -> Result<(), Error>

Source§

fn do_erased_serialize( &self, serializer: &mut dyn Serializer, ) -> Result<(), ErrorImpl>

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 = 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>,

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