Overview
PSA accepts credit card payments through Stripe and BNG (B.N. Gaskill). You can collect payments via a hosted link, charge a saved card directly, or enroll a client in autopay so invoices are charged automatically. All payment activity is reflected on the invoice in real time.
Finance → Payment Sync (/psa/admin/integrations). Connect QuickBooks Online (or Xero) and run invoice/payment sync here. These connections are owned by Bridge. You can also reach this page from Settings → Integrations & Migration → Integrations (same URL). Note: Finance → Billing Integration (/psa/finance/billing/settings) holds PSA's own billing settings. It does not set up the QuickBooks sync, so don't label it "QuickBooks."
Connecting a Payment Gateway
Before collecting payments, connect at least one gateway:
- Go to Settings > Payments.
- Click Connect Stripe or Connect BNG and follow the authorization prompts.
- Once connected, the gateway is active for all invoice payment actions.
You can connect both Stripe and BNG and use either one per transaction.
Collecting Payment via a Payment Link
A hosted payment link lets a client pay without needing a saved card on file:
- Open the invoice.
- Click Generate Payment Link.
- Copy the link and send it to the client by email or via a public note on the ticket.
The client clicks the link, enters their card details on a secure hosted page, and the payment processes. PSA receives a webhook from Stripe or BNG and marks the invoice paid automatically.
Charging a Saved Card
If the client has a card on file:
- Open the invoice.
- Click Charge Card.
- Select the saved payment method from the list.
- Confirm the amount and click Charge.
The charge processes immediately. The invoice updates to Paid (or Partial if the amount is less than the balance).
Autopay Setup
Autopay charges saved cards automatically on a schedule. To enroll a client:
- Open the company record.
- Click the Autopay tab, then Enroll.
- Select the gateway (Stripe or BNG) and the saved card to charge.
- Choose a schedule: monthly, weekly, or on due date.
- Choose how to apply payments: oldest invoice first, current month only, or all outstanding.
- Set a maximum per-run amount to cap how much can be charged in a single run (optional).
- Click Save.
Autopay runs every morning at 08:00 UTC.
Payment Status
| Status | Meaning |
|---|---|
| Unpaid | No payment received |
| Partial | Payment received but a balance remains |
| Paid | Invoice fully paid |
| Refunded | Payment returned to the client |
Issuing a Refund
- Open the invoice.
- In the Payment History section, find the payment to refund.
- Click Refund.
- Choose a full or partial refund amount.
- Confirm.
The refund is processed through the original gateway. The invoice status updates and the refund is pushed to QuickBooks if connected.
Autopay Failure Handling
When an autopay charge fails:
- PSA retries on the next scheduled run.
- After 3 consecutive failures, the autopay enrollment is paused and set to status Failed.
- A notification fires so your team knows to follow up with the client.
- To re-enable autopay, open the company's Autopay tab, resolve the card issue (update the card or confirm funds), and reactivate the enrollment.
Frequently Asked Questions
Does PSA support ACH or bank transfers?
Card processing through Stripe and BNG is the current path. For ACH payments, record them as manual payments after the ACH clears at your bank.
Can a client pay without their card being saved?
Yes. Use the hosted payment link. The card is charged but not stored in PSA.
A client paid via link but the invoice still shows unpaid — what happened?
The webhook from Stripe or BNG may have failed to reach PSA. Check Settings > Integrations > Stripe (or BNG) for webhook activity. You can replay the webhook from the Stripe dashboard — payments are idempotent so a replay is safe.