App Connections
App Connections is planned: OAuth-based connections to the applications your customers use, with token refresh, revocation and connector-specific scopes handled by Paycux. The foundation exists today as provider connections: your own Stripe or Paddle account attached to an environment with a verified key and signed webhooks.
Not available yet — App Connections is a planned capability. It is not part of Paycux today and cannot be enabled from the console. What Paycux provides today.
This preview is not a currently available API contract.
Status
Foundation
An owner or admin creates the connection with a key from your own provider account. Its prefix must match the mode, and it is checked with a read-only provider call before anything is stored.
The key and the signing secret go to OpenBao under a path scoped to the environment. Paycux keeps the path and a version, never the value, and leases it only for the request that needs it.
The connection gets a webhook path. The first event that verifies against the signing secret activates the connection; every later event is verified the same way and its raw payload is encrypted before it is stored.
Your account, your money
A provider connection never moves money through Paycux. Checkout and portal sessions are created on your own Stripe or Paddle account with a key that Paycux leases per request, and subscriptions are projected from the signed events that account sends back.
Planned
App Connections is designed to reuse what provider connections already prove: credentials by reference, verification before storage, signed inbound events and explicit lifecycle states. What is new, and not built, is the OAuth flow on behalf of a customer, token refresh and revocation, scopes per connector and sync contracts.
Foundation
Everything here exists in the deployed API for Stripe and Paddle. Connections to other applications are planned and not available.
Provider-connection routes
These calls connect your own provider account to an environment. OAuth connections to other applications are not available yet.
1# Console session: owner or admin2curl -X POST "https://api.paycux.com/v1/environments/<environment id>/provider-connections" \3 --cookie "__Host-paycux_session=<session cookie>" \4 -H "Content-Type: application/json" \5 -d '{6 "projectId": "<project id>",7 "name": "stripe-test",8 "provider": "stripe",9 "mode": "test",10 "apiKey": "<Stripe test secret or restricted key>",11 "webhookSecret": "<Stripe webhook signing secret>"12 }'1314# 201 Created15{16 "id": "<connection id>",17 "name": "stripe-test",18 "provider": "stripe",19 "mode": "test",20 "status": "pending_webhook_verification",21 "hasWebhookSecret": true,22 "createdAt": "2026-10-13T09:00:00.000Z",23 "updatedAt": "2026-10-13T09:00:00.000Z",24 "webhookPath": "/v1/provider-connections/<connection id>/webhooks/stripe"25}
Questions
No. The deployed API connects Stripe and Paddle accounts only, with a key you enter. OAuth connections to other applications, token refresh and connector scopes are planned and cannot be enabled from the console.
No. Paycux is not a payment processor and holds no funds. The connection lets Paycux create checkout and portal sessions on your own provider account and read the signed events that account sends back.
A connection starts as pending_webhook_verification. The first event from the provider that verifies against the signing secret activates it, which proves the webhook path and the secret are both right before anything depends on them.
The new secret is written as a new version and activated; the previous version is revoked afterwards. Rotate it in Paycux first, then at the provider, so there is no window in which events fail to verify.
Owners and admins create, rotate, disable and enable connections; every member can read the list. Those actions are damped per member and count against the plan's connection limit while the connection is not disabled.
Keep exploring
Provider connections to your own Stripe or Paddle account exist today. Connections to other applications will be listed on the implemented page when they exist.