Skip to main content

Complete Setup

POST/api/v1/complete-payment-setup

Finalizes a Stripe setup intent and links the saved payment method and shipping address to all of the user's cases. Call this after the client-side Stripe Elements flow completes successfully.

cv-api-key
Productionhttps://api.care360-next.carevalidate.com/api/v1/complete-payment-setup
Staginghttps://api-staging.care360-next.carevalidate.com/api/v1/complete-payment-setup

Headers

Headers
cv-api-keystringrequired
Your organization's secret API key.
Example: YOUR_SECRET_KEY_HERE
Content-Typestringrequired
Must be application/json.
Example: application/json

Request Body

Body Parameters
stripeSetupIDstringrequired
The Stripe setup intent ID returned by POST /api/v1/payments/setup after the client confirms it via Stripe Elements.
Example: seti_1Example00000000000000000
shippingAddressobjectrequired
Shipping address to associate with the payment method and user's cases.
Show 6 child properties
line1stringrequired
Street address line 1.
Example: 123 Main St
line2stringoptional
Street address line 2 (apartment, suite, etc.).
Example: Apt 4B
citystringrequired
City.
Example: Atlanta
statestringrequired
Two-letter state code.
Example: GA
countrystringrequired
Two-letter country code.
Example: US
postal_codestringrequired
ZIP or postal code.
Example: 30301

Response Fields

FieldTypeDescription
statusnumberHTTP status code
successbooleantrue when the setup was finalized successfully

Changelog

VersionDateChanges
1.02026-06-17Initial documentation

Request Examples

curl -X POST "https://api.care360-next.carevalidate.com/api/v1/complete-payment-setup" \
-H "cv-api-key: YOUR_SECRET_KEY_HERE" \
-H "Content-Type: application/json" \
-d '{
"stripeSetupID": "seti_1Example00000000000000000",
"shippingAddress": {
"line1": "123 Main St",
"line2": "Apt 4B",
"city": "Atlanta",
"state": "GA",
"country": "US",
"postal_code": "30301"
}
}'

Responses

200SuccessSetup finalized. Payment method and shipping address linked to the user's cases.
{
"status": 200,
"success": true
}
400Missing cv-api-keyThe cv-api-key header was not provided.
{
"status": 400,
"success": false,
"error": "Missing cv-api-key header"
}
400Missing or invalid fieldsstripeSetupID is missing or one of the required shipping address fields is empty.
{
"status": 400,
"error": "Shipping address line 1 must be provided"
}
401Permission deniedThe email on the Stripe setup intent does not belong to the requesting organization.
{
"status": 401,
"error": "Permission denied"
}

Try It Out