Troubleshooting

Why isn’t my payment showing as paid

If the invoice uses Stripe

Automatic Paid status depends on Stripe sending checkout.session.completed to your Docora webhook.

Checklist:

  1. Client completed Checkout successfully in Stripe.
  2. Your restricted/secret key is still saved in Invoice Payment settings.
  3. Webhook setup completed (not failed) when the key was saved — setup is complete when both key and webhook secret exist.
  4. In development, ngrok or Stripe CLI forwarding is running and secrets match (restart dev after changing STRIPE_CLI_WEBHOOK_SECRET).
  5. In Stripe Dashboard → Developers → Webhooks, confirm deliveries to /api/webhooks/stripe/... succeed (no signature failures).

Pay Now can open Checkout with only an API key; marking Paid still needs the webhook path.

Docora does not auto-detect those payments. Confirm funds in your bank/PayPal/Wise, then mark the invoice paid in the editor.

Partial confusion

  • Multiple invoices on one proposal each have their own status.
  • Refunds change paid/refunded state separately from “client paid me outside Docora.”

Still stuck? Email support@docora.io with the invoice id and payment method.

This documentation is a living guide and may not cover every edge case yet. Features and labels can change as Docora evolves.

Still stuck? Contact us at support@docora.io.

← Back to docs overview