Confirm Payment Method
Step 2 of payment method setup — finalize and activate the billing customer
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`. |
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`.