Create Checkout
Unified endpoint for creating checkout sessions for all types of billing requirements.
Request
use dodopayments_rust::{ models::{CreateCheckoutSessionRequest, ProductItemReq}, to_pretty_json, DodoPaymentsClientBuilder, }; #[tokio::main] async fn main() -> Result<(), Box<dyn std::error::Error>> { let api_key = std::env::var("DODO_API_KEY")?; let client = DodoPaymentsClientBuilder::new() .bearer_token(&api_key) .enviroment("test_mode") .build()?; let resp = client .checkout_session() .create() .body(CreateCheckoutSessionRequest { product_cart: vec![ProductItemReq { product_id: "prod_xxxxxxxxxx".to_string(), quantity: 1, addons: None, amount: None, }], return_url: Some("https://example.com/success".to_string()), ..Default::default() }) .send() .await?; println!("{}", to_pretty_json(&resp)?); Ok(()) }
Responses
200 Status
Checkout session successfully created
422 Status
Invalid Request Object or Parameters
500 Status
Something went wrong :(