Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.whop.com/llms.txt

Use this file to discover all available pages before exploring further.

There is no createSetupIntent endpoint. Setup intents are created indirectly by creating a Checkout Configuration with mode: "setup". The buyer completes that checkout, and Whop creates the setup intent behind the scenes. Listen for the setup_intent.succeeded webhook to receive the payment method ID once it’s saved.See Save payment methods for the full flow.
// Create a setup intent by opening a checkout in setup mode
const checkoutConfiguration = await client.checkoutConfigurations.create({
	company_id: "biz_xxxxxxxxxxxxx",
	mode: "setup",
	redirect_url: "https://yoursite.com/return",
	metadata: { customer_id: "your_internal_id" },
});

// Redirect the buyer to checkoutConfiguration.purchase_url
// or use <WhopCheckoutEmbed sessionId={checkoutConfiguration.id} />.
// Then listen for setup_intent.succeeded on your webhook handler.

A setup intent allows a user to save a payment method for future use without making an immediate purchase.

id
string
required

The unique identifier for the setup intent.

Example:

"sint_xxxxxxxxxxxxx"

status
enum<string>
required

The current status of the setup intent.

Available options:
processing,
succeeded,
canceled,
requires_action
created_at
string<date-time>
required

The datetime the setup intent was created.

Example:

"2023-12-01T05:00:00.401Z"

error_message
string | null
required

A human-readable error message explaining why the setup intent failed. Null if no error occurred.

Example:

"Your card was declined."

company
object
required

The company that initiated this setup intent. Null if the company has been deleted.

checkout_configuration
object
required

The checkout session configuration associated with this setup intent. Null if no checkout session was used.

member
object
required

The company member associated with this setup intent. Null if the user is not a member.

payment_method
object
required

The saved payment method created by this setup intent. Null if the setup has not completed successfully.

metadata
object
required

Custom key-value pairs attached to this setup intent. Null if no metadata was provided.