pub struct X402V2PaymentPayload {
pub accepted: X402V2PaymentRequirements,
pub extensions: Map<String, Value>,
pub payload: X402v2PaymentPayloadPayload,
pub resource: Option<X402ResourceInfo>,
pub x402_version: X402Version,
}Expand description
The x402 protocol payment payload that the client attaches to x402-paid API requests to the resource server in the X-PAYMENT header.
JSON schema
{
"description": "The x402 protocol payment payload that the client attaches to x402-paid API requests to the resource server in the X-PAYMENT header.",
"examples": [
{
"accepted": {
"amount": "1000",
"asset": "0x036CbD53842c5426634e7929541eC2318f3dCF7e",
"extra": {
"name": "USDC",
"version": "2"
},
"maxTimeoutSeconds": 60,
"network": "eip155:84532",
"payTo": "0x122F8Fcaf2152420445Aa424E1D8C0306935B5c9",
"scheme": "exact"
},
"payload": {
"authorization": {
"from": "0x742d35Cc6634C0532925a3b844Bc454e4438f44e",
"nonce": "0x1234567890abcdef1234567890abcdef12345678",
"to": "0x742d35Cc6634C0532925a3b844Bc454e4438f44e",
"validAfter": "1716150000",
"validBefore": "1716150000",
"value": "1000000000000000000"
},
"signature": "0xf3746613c2d920b5fdabc0856f2aeb2d4f88ee6037b8cc5d04a71a4462f13480"
},
"resource": {
"description": "Premium API access for data analysis.",
"mimeType": "application/json",
"url": "https://api.example.com/premium/resource/123"
},
"x402Version": 2
}
],
"type": "object",
"required": [
"accepted",
"payload",
"x402Version"
],
"properties": {
"accepted": {
"$ref": "#/components/schemas/x402V2PaymentRequirements"
},
"extensions": {
"description": "Optional protocol extensions.",
"examples": [
{
"bazaar": {
"discoveryEnabled": true
}
}
],
"type": "object",
"additionalProperties": true
},
"payload": {
"description": "The payload of the payment depending on the x402Version, scheme, and network.",
"examples": [
{
"authorization": {
"from": "0x742d35Cc6634C0532925a3b844Bc454e4438f44e",
"nonce": "0x1234567890abcdef1234567890abcdef12345678",
"to": "0x742d35Cc6634C0532925a3b844Bc454e4438f44e",
"validAfter": "1716150000",
"validBefore": "1716150000",
"value": "1000000000000000000"
},
"signature": "0xf3746613c2d920b5fdabc0856f2aeb2d4f88ee6037b8cc5d04a71a4462f13480"
}
],
"type": "object",
"oneOf": [
{
"$ref": "#/components/schemas/x402ExactEvmPayload"
},
{
"$ref": "#/components/schemas/x402ExactSolanaPayload"
}
]
},
"resource": {
"$ref": "#/components/schemas/x402ResourceInfo"
},
"x402Version": {
"$ref": "#/components/schemas/X402Version"
}
}
}Fields§
§accepted: X402V2PaymentRequirements§extensions: Map<String, Value>Optional protocol extensions.
payload: X402v2PaymentPayloadPayloadThe payload of the payment depending on the x402Version, scheme, and network.
resource: Option<X402ResourceInfo>§x402_version: X402VersionImplementations§
Source§impl X402V2PaymentPayload
impl X402V2PaymentPayload
pub fn builder() -> X402V2PaymentPayload
Trait Implementations§
Source§impl Clone for X402V2PaymentPayload
impl Clone for X402V2PaymentPayload
Source§fn clone(&self) -> X402V2PaymentPayload
fn clone(&self) -> X402V2PaymentPayload
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for X402V2PaymentPayload
impl Debug for X402V2PaymentPayload
Source§impl<'de> Deserialize<'de> for X402V2PaymentPayload
impl<'de> Deserialize<'de> for X402V2PaymentPayload
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>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl From<&X402V2PaymentPayload> for X402V2PaymentPayload
impl From<&X402V2PaymentPayload> for X402V2PaymentPayload
Source§fn from(value: &X402V2PaymentPayload) -> Self
fn from(value: &X402V2PaymentPayload) -> Self
Converts to this type from the input type.
Source§impl From<X402V2PaymentPayload> for X402PaymentPayload
impl From<X402V2PaymentPayload> for X402PaymentPayload
Source§fn from(value: X402V2PaymentPayload) -> Self
fn from(value: X402V2PaymentPayload) -> Self
Converts to this type from the input type.
Source§impl From<X402V2PaymentPayload> for X402V2PaymentPayload
impl From<X402V2PaymentPayload> for X402V2PaymentPayload
Source§fn from(value: X402V2PaymentPayload) -> Self
fn from(value: X402V2PaymentPayload) -> Self
Converts to this type from the input type.
Source§impl Serialize for X402V2PaymentPayload
impl Serialize for X402V2PaymentPayload
Source§impl TryFrom<X402V2PaymentPayload> for X402V2PaymentPayload
impl TryFrom<X402V2PaymentPayload> for X402V2PaymentPayload
Source§type Error = ConversionError
type Error = ConversionError
The type returned in the event of a conversion error.
Source§fn try_from(value: X402V2PaymentPayload) -> Result<Self, ConversionError>
fn try_from(value: X402V2PaymentPayload) -> Result<Self, ConversionError>
Performs the conversion.
Auto Trait Implementations§
impl Freeze for X402V2PaymentPayload
impl RefUnwindSafe for X402V2PaymentPayload
impl Send for X402V2PaymentPayload
impl Sync for X402V2PaymentPayload
impl Unpin for X402V2PaymentPayload
impl UnwindSafe for X402V2PaymentPayload
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
Mutably borrows from an owned value. Read more