Support

Payments

Move fiat in and out of the platform — Plaid ACH, Stripe cards, manual wire references, and Astra transfers. Each rail is available behind a unified payments API.

What you can do

  • Create a payment intent for a subscription or invoice
  • Link a bank account via Plaid and pull ACH funds
  • Charge or refund a saved card via Stripe
  • Reconcile manual bank wires against outstanding invoices

Endpoints

GET Create a Plaid Link token for a user /plaid/link-token POST Exchange a Plaid public token for an access token /plaid/public-token GET List Plaid-linked bank accounts (items) for a user /plaid/items DELETE Unlink (remove) a Plaid bank account item /plaid/items/{itemId} GET Get the Plaid originator profile for a tenant (API key required) /plaid/tenant/originator GET Create a Plaid Link token for tenant-level onboarding (API key required) /plaid/tenant/link-token GET List Plaid sandbox originators /plaid-sandbox/originators POST Create a Plaid sandbox transfer originator /plaid-sandbox/originators POST Initiate KYB questionnaire for a Plaid sandbox originator /plaid-sandbox/originators/{id}/kyb GET Get a Plaid sandbox originator by client ID /plaid-sandbox/originators/{id} GET Get the Astra user intent and connection status /astra POST Create an Astra user intent for ACH transfer setup /astra GET Get the Astra OAuth authorization URL /astra/auth GET Get linked bank accounts via Astra /astra/accounts POST Link a Plaid bank account via Astra for ACH transfers /astra/link-account POST Preview an Astra recurring transfer routine /astra/routine/preview POST Receive Astra webhook event /astra/callback/{tenantId}/hook GET Handle Astra OAuth callback and save authorization code /astra/callback/{tenantId}/auth POST Refresh Astra access token for a user /astra/refresh POST Sync Astra user connection state /astra/sync GET List payments, optionally filtered by user /payments GET Get a payment by ID /payments/{id} GET Get a manual payment by ID /manual-payments/{id} POST Create a manual payment (investor-initiated) /manual-payments POST Create a manual payment on behalf of a user (issuer) /manual-payments/{userId} POST Approve a pending manual payment /manual-payments/{id}/approve POST Reject a pending manual payment /manual-payments/{id}/reject POST Create a Stripe payment intent and return the client secret /stripe-payments POST Receive Stripe payment event webhook /stripe-payments/webhook