Navigation

Confirm Payment Method

Step 2 of payment method setup — finalize and activate the billing customer

POST /public/edge/confirmPaymentMethod

Finalizes payment method setup after the customer completes the Stripe card form or PayPal authorization. Attaches the payment method to the billing customer, activates the record, and optionally records initial charge revenue. Fires billing_customer.created and trigger.captured (if initial charge) webhooks.

Requires a valid api_key in the JSON request body

Parameters

Name In Type Required Description
api_key body string Yes Your API key.
org_id body string Yes Organization UUID.
billing_customer_id body string Yes The billing customer UUID from Step 1.
gateway body string Yes stripe or paypal.

Stripe-Specific Fields

Field Type Required Description
payment_method_id string The Stripe payment method ID (pm_xxx) returned by confirmCardSetup() on the client side.
payment_intent_id string Payment Intent ID if an initial charge was processed. Used for revenue recording.
charge_amount float Amount of the initial charge. If greater than 0, a revenue record is created.

PayPal-Specific Fields

Field Type Required Description
vault_token string The PayPal vault token from the completed authorization flow.
payer_id string PayPal payer ID.
payer_email string PayPal payer email. Used as the payment method label.
capture_id string PayPal capture ID if an initial charge was processed.
charge_amount float Amount of the initial charge. If greater than 0, a revenue record is created.

Response

200 Stripe payment method confirmed
json
{
    "data": {
        "gateway": "stripe",
        "pm_label": "Visa \u2022\u2022\u2022\u2022 4242",
        "bc_status": "active",
        "revenue_id": "rev_xxx",
        "payment_data": {
            "pm_id": "pm_xxx",
            "pm_type": "card",
            "pm_label": "Visa \u2022\u2022\u2022\u2022 4242",
            "card_brand": "visa",
            "card_last4": "4242",
            "customer_id": "cus_xxx",
            "card_exp_year": 2027,
            "card_exp_month": 12
        },
        "billing_customer_id": "bc_xxx"
    },
    "status": "success"
}
200 PayPal payment method confirmed
json
{
    "data": {
        "gateway": "paypal",
        "pm_label": "[email protected]",
        "bc_status": "active",
        "revenue_id": "rev_xxx",
        "payment_data": {
            "payer_id": "PAYER_xxx",
            "pm_label": "[email protected]",
            "vault_token": "token_xxx"
        },
        "billing_customer_id": "bc_xxx"
    },
    "status": "success"
}

Important: This endpoint fires two webhooks when successful: billing_customer.created (with payment method details) and trigger.captured (with is_initial_charge: true if charge_amount > 0). Subscribe to these events to react when billing customers are activated.

Info: Revenue is only recorded when charge_amount is greater than 0. The revenue record has source trigger, status confirmed, and metadata including type: initial_setup.

Was this article helpful?

NotebookLM Overviews