DodoPayments.CheckoutSessions (dodo_payments v0.1.0)

Copy Markdown View Source

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

create_params()

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

preview_params()

@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

create(client, params)

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

create(client, params, opts)

Calls Dodo operation checkout_sessions_create (POST /checkouts). Required parameters: :product_cart.

The final argument contains request-local options.

preview(client, params)

Calls Dodo operation checkout_sessions_preview (POST /checkouts/preview). Required parameters: :product_cart.

API parameters must be supplied as a map.

preview(client, params, opts)

Calls Dodo operation checkout_sessions_preview (POST /checkouts/preview). Required parameters: :product_cart.

The final argument contains request-local options.

retrieve(client, id, opts \\ [])

Calls Dodo operation checkout_sessions_retrieve (GET /checkouts/{id}). Required parameters: none.

Options are request-local.