Vexar API

Payment Settings

Configure how a site accepts payments and connect a Stripe account (Stripe Connect) to receive funds directly. Authentication required; the form-submit endpoint is public (used by the widget after payment).

Settings & submissions

GET /api/v1/sites/{id}/payment-settings Auth

Get payment settings.

Response
{ "success": true, "config": { … } }
PUT /api/v1/sites/{id}/payment-settings Auth

Update payment settings (payment webhooks are plan-gated).

Response
{ "success": true, "config": { … } }
GET /api/v1/sites/{id}/site-payments Auth

List payments / post-payment form submissions.

Response
{ "success": true, "payments": [ … ] }
GET /api/v1/sites/{id}/site-payments/{paymentId}/form Auth

Get a single form submission.

Response
{ "success": true, "submission": { … } }
POST /api/v1/payment-form/submit Public

Submit the post-payment form from the widget.

Request body
{ "site_key": "sk_…", "payment_id": 12, "form_data": { … } }
Response
{ "success": true, "submission_id": 7 }

Stripe Connect

POST /api/v1/sites/{id}/stripe-connect Auth

Start Stripe Connect onboarding; returns the onboarding URL.

Response
{ "success": true, "url": "https://connect.stripe.com/…" }
GET /api/v1/sites/{id}/stripe-connect/status Auth

Connection status.

Response
{ "success": true, "connected": true }
DELETE /api/v1/sites/{id}/stripe-connect Auth

Disconnect the Stripe account.

Response
{ "success": true }
POST /api/v1/sites/{id}/stripe-connect/request Auth

Submit a manual approval request (if required by plan).

Response
{ "success": true, "request_id": 4, "status": "pending" }
GET /api/v1/sites/{id}/stripe-connect/request Auth

Approval request status.

Response
{ "status": "pending" }