Hosted checkout creation, preview and status operations.
Summary
Types
Parameters for checkout_sessions_create. Exact fields use atom keys; string-keyed and mixed-key maps remain supported. Source: locked upstream resources/checkout-sessions.ts declaration CheckoutSessionCreateParams.
Parameters for checkout_sessions_preview. Exact fields use atom keys; string-keyed and mixed-key maps remain supported. Source: locked upstream resources/checkout-sessions.ts declaration CheckoutSessionPreviewParams.
Functions
Calls Dodo operation checkout_sessions_create (POST /checkouts). Required parameters: :product_cart.
Calls Dodo operation checkout_sessions_create (POST /checkouts). Required parameters: :product_cart.
Calls Dodo operation checkout_sessions_preview (POST /checkouts/preview). Required parameters: :product_cart.
Calls Dodo operation checkout_sessions_preview (POST /checkouts/preview). Required parameters: :product_cart.
Calls Dodo operation checkout_sessions_retrieve (GET /checkouts/{id}). Required parameters: none.
Types
@type create_params() :: %{ :product_cart => [DodoPayments.RequestTypes.checkout_product_item()], optional(:allowed_payment_method_types) => [ DodoPayments.Enums.payment_method_type() ], optional(:billing_address) => DodoPayments.RequestTypes.billing_address(), optional(:billing_currency) => DodoPayments.Enums.currency(), optional(:cancel_url) => String.t(), optional(:confirm) => boolean(), optional(:custom_fields) => [ DodoPayments.RequestTypes.checkout_custom_field() ], optional(:customer) => DodoPayments.RequestTypes.customer_request(), optional(:customer_business_name) => String.t(), optional(:customization) => DodoPayments.RequestTypes.checkout_customization(), optional(:discount_code) => String.t(), optional(:discount_codes) => [String.t()], optional(:feature_flags) => DodoPayments.RequestTypes.checkout_session_flags(), optional(:force_3ds) => boolean(), optional(:mandate_min_amount_inr_paise) => number(), optional(:metadata) => DodoPayments.RequestTypes.flat_metadata(), optional(:minimal_address) => boolean(), optional(:payment_method_id) => String.t(), optional(:product_collection_id) => String.t(), optional(:return_url) => String.t(), optional(:short_link) => boolean(), optional(:show_saved_payment_methods) => boolean(), optional(:subscription_data) => DodoPayments.RequestTypes.checkout_subscription_data(), optional(:tax_id) => String.t(), optional(String.t()) => DodoPayments.RequestTypes.input_value() } | DodoPayments.RequestTypes.compatibility_params()
Parameters for checkout_sessions_create. Exact fields use atom keys; string-keyed and mixed-key maps remain supported. Source: locked upstream resources/checkout-sessions.ts declaration CheckoutSessionCreateParams.
@type preview_params() :: %{ :product_cart => [DodoPayments.RequestTypes.checkout_product_item()], optional(:allowed_payment_method_types) => [ DodoPayments.Enums.payment_method_type() ], optional(:billing_address) => DodoPayments.RequestTypes.billing_address(), optional(:billing_currency) => DodoPayments.Enums.currency(), optional(:cancel_url) => String.t(), optional(:confirm) => boolean(), optional(:custom_fields) => [ DodoPayments.RequestTypes.checkout_custom_field() ], optional(:customer) => DodoPayments.RequestTypes.customer_request(), optional(:customer_business_name) => String.t(), optional(:customization) => DodoPayments.RequestTypes.checkout_customization(), optional(:discount_code) => String.t(), optional(:discount_codes) => [String.t()], optional(:feature_flags) => DodoPayments.RequestTypes.checkout_session_flags(), optional(:force_3ds) => boolean(), optional(:mandate_min_amount_inr_paise) => number(), optional(:metadata) => DodoPayments.RequestTypes.flat_metadata(), optional(:minimal_address) => boolean(), optional(:payment_method_id) => String.t(), optional(:product_collection_id) => String.t(), optional(:return_url) => String.t(), optional(:short_link) => boolean(), optional(:show_saved_payment_methods) => boolean(), optional(:subscription_data) => DodoPayments.RequestTypes.checkout_subscription_data(), optional(:tax_id) => String.t(), optional(String.t()) => DodoPayments.RequestTypes.input_value() } | DodoPayments.RequestTypes.compatibility_params()
Parameters for checkout_sessions_preview. Exact fields use atom keys; string-keyed and mixed-key maps remain supported. Source: locked upstream resources/checkout-sessions.ts declaration CheckoutSessionPreviewParams.
Functions
@spec create(DodoPayments.Client.t(), create_params()) :: {:ok, DodoPayments.CheckoutSession.t()} | {:error, Exception.t()}
Calls Dodo operation checkout_sessions_create (POST /checkouts). Required parameters: :product_cart.
API parameters must be supplied as a map.
@spec create(DodoPayments.Client.t(), create_params(), keyword()) :: {:ok, DodoPayments.CheckoutSession.t() | DodoPayments.Response.t(DodoPayments.CheckoutSession.t())} | {:error, Exception.t()}
Calls Dodo operation checkout_sessions_create (POST /checkouts). Required parameters: :product_cart.
The final argument contains request-local options.
@spec preview(DodoPayments.Client.t(), preview_params()) :: {:ok, DodoPayments.CheckoutSessionPreview.t()} | {:error, Exception.t()}
Calls Dodo operation checkout_sessions_preview (POST /checkouts/preview). Required parameters: :product_cart.
API parameters must be supplied as a map.
@spec preview(DodoPayments.Client.t(), preview_params(), keyword()) :: {:ok, DodoPayments.CheckoutSessionPreview.t() | DodoPayments.Response.t(DodoPayments.CheckoutSessionPreview.t())} | {:error, Exception.t()}
Calls Dodo operation checkout_sessions_preview (POST /checkouts/preview). Required parameters: :product_cart.
The final argument contains request-local options.
@spec retrieve(DodoPayments.Client.t(), String.t() | integer(), keyword()) :: {:ok, DodoPayments.CheckoutSessionStatus.t() | DodoPayments.Response.t(DodoPayments.CheckoutSessionStatus.t())} | {:error, Exception.t()}
Calls Dodo operation checkout_sessions_retrieve (GET /checkouts/{id}). Required parameters: none.
Options are request-local.