Payments

Payments overview

How card payments work in RemixCRM and how to pick a processor.

How payments work in RemixCRM

RemixCRM supports three payment paths, in order of automation:

  1. Card payments via Square or Stripe — automatic, instant confirmation
  2. Venmo & Zelle — manual confirm; client pays from their app, you click "received" in RemixCRM once it lands
  3. 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: pendingcompletedrefunded

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.