pub struct CreatePaymentSessionRequest {
pub amount: String,
pub asset: Asset,
pub auto_capture: bool,
pub compliance: Option<PaymentSessionCompliance>,
pub customer_display: Option<CustomerDisplay>,
pub expiries: Option<PaymentExpiries>,
pub external_reference_id: Option<CreatePaymentSessionRequestExternalReferenceId>,
pub metadata: Option<Metadata>,
pub redirect: Option<PaymentRedirect>,
pub target: PaymentSessionTarget,
}Expand description
A request to create a new payment session.
JSON schema
{
"description": "A request to create a new payment session.",
"type": "object",
"required": [
"amount",
"asset",
"target"
],
"properties": {
"amount": {
"description": "A decimal representation of the payment amount, denominated in `asset`.",
"examples": [
"1.00"
],
"type": "string"
},
"asset": {
"description": "The symbol of the asset for the payment amount.",
"examples": [
"usdc"
],
"allOf": [
{
"$ref": "#/components/schemas/Asset"
}
]
},
"autoCapture": {
"description": "When true, a capture is automatically created after a successful authorization. When false or omitted, the merchant must create captures manually via the captures endpoint.",
"default": false,
"examples": [
false
],
"type": "boolean"
},
"compliance": {
"description": "Compliance context for this payment session. Carries buyer information required by some entity configurations to meet regulatory requirements.",
"writeOnly": true,
"examples": [
{
"buyer": {
"address": {
"city": "San Francisco",
"countryCode": "US",
"line1": "123 Market St",
"postCode": "94105",
"state": "CA"
},
"name": "John Doe"
}
}
],
"allOf": [
{
"$ref": "#/components/schemas/PaymentSessionCompliance"
}
]
},
"customerDisplay": {
"$ref": "#/components/schemas/CustomerDisplay"
},
"expiries": {
"$ref": "#/components/schemas/PaymentExpiries"
},
"externalReferenceId": {
"description": "A merchant-provided internal identifier for this payment session, from the merchant's own system—not visible to the payer. It must not contain personally identifiable information (PII) or payment credentials.",
"examples": [
"merchant-order-abc123"
],
"type": "string",
"maxLength": 256
},
"metadata": {
"$ref": "#/components/schemas/Metadata"
},
"redirect": {
"$ref": "#/components/schemas/PaymentRedirect"
},
"target": {
"description": "The target of the payment session.",
"examples": [
{
"address": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"network": "base"
}
],
"allOf": [
{
"$ref": "#/components/schemas/PaymentSessionTarget"
}
]
}
}
}Fields§
§amount: StringA decimal representation of the payment amount, denominated in asset.
asset: AssetThe symbol of the asset for the payment amount.
auto_capture: boolWhen true, a capture is automatically created after a successful authorization. When false or omitted, the merchant must create captures manually via the captures endpoint.
compliance: Option<PaymentSessionCompliance>Compliance context for this payment session. Carries buyer information required by some entity configurations to meet regulatory requirements.
customer_display: Option<CustomerDisplay>§expiries: Option<PaymentExpiries>§external_reference_id: Option<CreatePaymentSessionRequestExternalReferenceId>A merchant-provided internal identifier for this payment session, from the merchant’s own system—not visible to the payer. It must not contain personally identifiable information (PII) or payment credentials.
metadata: Option<Metadata>§redirect: Option<PaymentRedirect>§target: PaymentSessionTargetThe target of the payment session.
Implementations§
Trait Implementations§
Source§impl Clone for CreatePaymentSessionRequest
impl Clone for CreatePaymentSessionRequest
Source§impl Debug for CreatePaymentSessionRequest
impl Debug for CreatePaymentSessionRequest
Source§impl<'de> Deserialize<'de> for CreatePaymentSessionRequest
impl<'de> Deserialize<'de> for CreatePaymentSessionRequest
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<&CreatePaymentSessionRequest> for CreatePaymentSessionRequest
impl From<&CreatePaymentSessionRequest> for CreatePaymentSessionRequest
Source§fn from(value: &CreatePaymentSessionRequest) -> Self
fn from(value: &CreatePaymentSessionRequest) -> Self
Converts to this type from the input type.
Source§impl From<CreatePaymentSessionRequest> for CreatePaymentSessionRequest
impl From<CreatePaymentSessionRequest> for CreatePaymentSessionRequest
Source§fn from(value: CreatePaymentSessionRequest) -> Self
fn from(value: CreatePaymentSessionRequest) -> Self
Converts to this type from the input type.
Source§impl TryFrom<CreatePaymentSessionRequest> for CreatePaymentSessionRequest
impl TryFrom<CreatePaymentSessionRequest> for CreatePaymentSessionRequest
Source§type Error = ConversionError
type Error = ConversionError
The type returned in the event of a conversion error.
Source§fn try_from(value: CreatePaymentSessionRequest) -> Result<Self, ConversionError>
fn try_from(value: CreatePaymentSessionRequest) -> Result<Self, ConversionError>
Performs the conversion.
Auto Trait Implementations§
impl Freeze for CreatePaymentSessionRequest
impl RefUnwindSafe for CreatePaymentSessionRequest
impl Send for CreatePaymentSessionRequest
impl Sync for CreatePaymentSessionRequest
impl Unpin for CreatePaymentSessionRequest
impl UnsafeUnpin for CreatePaymentSessionRequest
impl UnwindSafe for CreatePaymentSessionRequest
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