Docs
DocsAPI ExplorerChangelog

Hosted Page | Customer Mode

Updated on March 24, 2026
View as Markdown

Suppose you want to collect your customers' payment details once, then use them to make payments at a later date. To support this, our hosted page supports creating customer objects instead of payments for long term, PCI-DSS-compliant storage.

One potential use case for this feature would be to implement a subscription system, where you collect user payment details once and then bill them monthly.

Step 1: Create a Session with mode=customer

The default mode for sessions is "payment". If you specify "mode": "customer" when creating your session object, the session will create a customer object instead of a payment.

The resulting session object should have a customer_id. Save this customer_id, as it will act as a token for creating future payments.

As usual, you'll want to redirect your user to the session's session_url so that they can fill in their payment information.

Step 2: Listen for customer.updated Webhooks

In step 1 you acquire a customer_id, but it is "empty". Until the user completes the session on KOMOJU, this customer_id cannot be used. To know when it becomes usable, you can use the customer.updated webhook to be notified and update your system accordingly.

Step 3: Make Payments

Once you have a usable customer_id, you can choose to omit payment_details and instead pass customer when creating payments. When done correctly, this will immediately pull money from the customer's stored account.

Page Navigation

Ctrl←Ctrl→Ctrl↑Ctrl↓