What you get
Square as your card processor. The public payment page renders Square's Web Payments SDK inline, so the client never leaves your branded page. Tokenization happens entirely client-side — your server never sees raw card data.
Prerequisites
- A Square account at squareup.com
- A Square business location (sandbox locations are auto-created in dev)
Setup
1. Create a Square application
- Go to developer.squareup.com/apps
- Click + Create application
- Give it a name (e.g. "RemixCRM payments")
2. Grab credentials
In your application, the Sandbox tab gives you three values to copy:
- Application ID — starts with
sandbox-sq0idb-…(orsq0idb-…in production) - Access Token — starts with
EAAA… - Location ID — under Locations → your location → ID like
L1234567890
In production, the Application ID will start with sq0idb-… (no
sandbox- prefix) and the Access Token will be a longer production token.
3. Configure in RemixCRM
- Go to Settings → Card Processor
- Select Square
- Scroll to Square Payments
- Pick Environment — Sandbox (testing) or Production (live)
- Paste Application ID, Location ID, Access Token
- Save
4. Test the flow
Visit https://app.remixcrm.com/pay/<your-org-slug> and use a sandbox test card:
| Card | Result |
|---|---|
4111 1111 1111 1111 |
Approved |
4000 0000 0000 0002 |
Declined |
Any future expiry, any CVV, any postal code.
How RemixCRM uses Square
| Step | API call |
|---|---|
| Client visits pay page | Web Payments SDK loads from Square's CDN, tokenizes card client-side |
| Client clicks "Pay with card" | Server calls POST /v2/payments with the tokenized source_id |
The access token never leaves your server. The Application ID and Location ID are exposed publicly (the SDK needs them on the client) but they can't be used without the token.
Switching to production
- Set Environment to Production
- Replace Application ID, Location ID, and Access Token with the production values
- Save and test with a real (small) card
Troubleshooting
"Square SDK did not initialize"
The Web Payments SDK script couldn't load from Square's CDN. Check the browser console — usually a network/ad-blocker issue.
"Card tokenization failed"
The card was rejected before reaching your server. Common causes: AVS mismatch, CVC mismatch, declined by issuer. Have the client try a different card.
"Payments are not configured for this business"
The org has Square selected but either the access token or location ID is missing. Go to Settings → Card Processor → Square Payments and fill them in.