How payments work in RemixCRM
RemixCRM supports three payment paths, in order of automation:
- Card payments via Square or Stripe — automatic, instant confirmation
- Venmo & Zelle — manual confirm; client pays from their app, you click "received" in RemixCRM once it lands
- Cash / check / other — admin records it from the event page
You pick one card processor per organization. You can switch later; existing payment records stay tied to whichever processor handled them.
Choosing Square vs Stripe
| Square | Stripe | |
|---|---|---|
| Card UI | Embedded form on your /pay page | Hosted Checkout (redirect) |
| Branding | Inline with your logo + colors | Stripe-branded page with your logo |
| Setup | App ID + Location ID + Access Token | Publishable key + Secret key |
| Sandbox | Yes (separate sandbox creds) | Yes (pk_test_* / sk_test_*) |
| Receipts | Square emails buyer; URL stored | Stripe emails buyer; URL stored |
| Fees (typical) | 2.6% + $0.10 (in person) / 2.9% + $0.30 (online) | 2.9% + $0.30 online |
| Existing Square POS? | Reuse same account | Need separate Stripe account |
Most users: if you don't already have Square POS hardware, Stripe is the simpler setup and the Checkout page handles 3D Secure, Apple Pay, Google Pay, and Link automatically without extra work.
Square POS users: keep payments in one place — pick Square.
Where you set this
Settings → Card Processor has a radio selector at the top. Below it, both Square and Stripe credential sections appear regardless of which is selected, so you can pre-fill the other and switch without re-entering.
Setting the provider to None disables the card form on your public pay page but keeps Venmo/Zelle (if configured) available.
Where payments are recorded
Every payment — regardless of source — becomes a row in the payments table
tied to your org and (when matchable) an event. Public-pay-page payments get
matched to an event automatically when the client email + event date match a
client on record.
You see them in:
- The event's Payments tab (per-event)
- Reports → Payments (cross-event)
- Filtered by status:
pending→completed→refunded
Manual confirmation flow (Venmo/Zelle)
Because RemixCRM can't see Venmo or Zelle transactions, these are recorded as pending when the client clicks "I've sent it." You confirm receipt from the event's Payments tab once the money lands in your account. The client doesn't get a "paid" confirmation until you confirm.
Refunds
Currently refunds must be issued in the processor's dashboard (Square or
Stripe). RemixCRM doesn't trigger refunds programmatically — you mark the
payment refunded in the event page after issuing it in the processor.
Webhook events fired
Every successful payment fires the payment.recorded outbound webhook (see
outbound webhooks) — useful for piping payments
into your accounting tool, sending Slack notifications, etc.