POST /v1/bind with payment.token for first-time payment. This endpoint handles post-bind renewal cycles only: record required term acceptances for the new term and capture payment.billing_mode | payment.method | Response mode |
|---|---|---|
prepaid (default) | credit_card, ach, affirm | token — use clientSecret with Stripe Elements |
invoiced | any | invoice_account — invoice posted immediately |
| any | any, with stripeChargeId | finalized — agent/back-office path |
| any | account (carrier-tokenized) | carrier_charge — forwarded to carrier |
curl --location '/v1/policy//pay' \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"acceptedTerms": [
{
"termId": "a1b2c3d4-0000-0000-0000-000000000001",
"termKey": "tos",
"termVersion": "3.2",
"acceptanceMethod": "checkbox",
"acceptanceValue": null
}
],
"payment": {
"method": "credit_card"
}
}'{
"success": true,
"data": {
"mode": "token",
"policyId": "f9e8d7c6-b5a4-3210-fedc-ba9876543210",
"policyTermId": "e7f8g9h0-1234-5678-90ab-cdef01234567",
"paymentIntentId": "pi-db-uuid-here",
"clientSecret": "pi_xxx_secret_yyy",
"stripePaymentIntentId": "pi_3PxxxxxxxxxxxQ",
"recordedAcceptances": [
{
"termId": "a1b2c3d4-0000-0000-0000-000000000001",
"termKey": "tos",
"termVersion": "3.2",
"acceptedAt": "2026-05-01T12:00:00Z"
}
]
}
}