Alternative payment methods let you accept payments beyond traditional credit card gateways. These include PayPal Wallet, external/offline payments, and more.
Navigation: Sidebar > Payments > Alternative Payments (the page itself is titled “Alternative Payment Methods”)
Supported Payment Types
| Payment Type | Status | Integration | Description |
|---|---|---|---|
| PayPal Wallet | Available | Full API | Accept PayPal payments with redirect flow, refunds, and seamless upsells |
| Whop | Available | Full API | Accept payments through Whop’s embedded checkout with Whop-managed subscriptions — see Whop Checkout |
| External Payment | Available | Manual | Manually confirmed payments processed outside the platform |
| Cash App | Available | Manual | Accept Cash App payments (manually confirmed) |
| Zelle | Available | Manual | Accept Zelle payments (manually confirmed) |
| Venmo | Available | Manual | Accept Venmo payments (manually confirmed) |
| Bank Transfer | Available | Manual | Accept direct bank transfers (manually confirmed) |
| Cryptocurrency | Coming Soon | API | Accept cryptocurrency payments |
Note: PayPal Wallet and Whop have full API integrations with programmatic refunds, voids, and connection testing. All other available types (External, Cash App, Zelle, Venmo, Bank Transfer) are manual payment methods — transactions are recorded in Spark CRM but the actual payment is processed outside the platform.
Whop setup and implementation is covered separately — see Whop Checkout for credentials, webhooks, the embedded checkout flow, upsells, and subscriptions.
Adding an Alternative Payment Method
- Go to Payments > Alternative Payments in the sidebar
- Click New Payment Method (on an empty list the button reads Create Payment Method)
- Fill in the form fields:
- Payment Method Name — A friendly name to identify this method (e.g., “My PayPal Account”)
- Payment Type — Select from the available types
- Status — Active or Inactive
- Configure credentials (if required by the payment type)
- Click Create Payment Method
PayPal Wallet Setup
PayPal Wallet is the most feature-rich alternative payment method. It supports a redirect-based checkout flow where customers approve payments on PayPal, then return to complete the order.
Prerequisites
- A PayPal Business account at paypal.com
- A REST API app created in the PayPal Developer Dashboard
- Your Client ID and Client Secret from the API app
Step 1: Create the Payment Method
- Click New Payment Method
- Enter a descriptive name (e.g., “PayPal Production”)
- Select PayPal Wallet as the payment type
Step 2: Enter Credentials
| Field | Description | Required |
|---|---|---|
| Client ID | Your PayPal REST API Client ID | Yes |
| Client Secret | Your PayPal REST API Client Secret | Yes |
| Environment | Sandbox for testing or Live for production |
Yes |
| Brand Name | Displayed on the PayPal checkout page when customers approve the payment (max 127 characters) | Yes |
| Soft Descriptor | Appears on customer PayPal statements and activity (max 22 characters) | No |
Tip: The Environment setting automatically sets the payment method’s test mode — selecting
Sandboxenables test mode, selectingLivedisables it.
Step 3: Configure Capabilities
PayPal Wallet supports refunds through the PayPal API, and voids on authorizations only — a captured payment must be refunded rather than voided. Supports Refunds and Supports Voids are pre-checked when you select PayPal Wallet, but they are editable checkboxes — leave them checked. If Supports Refunds is unchecked, refunds on PayPal orders are recorded in the ledger only and no money is returned to the customer.
- Supports Refunds — Enabled by default for PayPal Wallet, and should be left enabled. Process full or partial refunds directly through PayPal. If you uncheck it, refunds on this method’s orders are recorded as external/manual refunds and no PayPal API call is made.
- Supports Voids — Enabled by default for PayPal Wallet and should be left enabled; it is an editable checkbox. Voids reverse an authorization only; a captured payment must be refunded instead. If you uncheck it, the Void Transaction option disappears from the transaction menu on orders paid with this method.
- Reference Transactions — Disabled by default. Requires PayPal account approval. See Reference Transactions below.
Step 4: Save and Verify
Click Create Payment Method. The system saves the payment method. You can verify your PayPal credentials at any time from the payment method’s three-dot menu > Connection Status, then Test Now in the modal.
Reference Transactions
Reference transactions allow you to vault (save) a customer’s PayPal payment source after their first purchase. This enables:
- Seamless upsells — Charge the customer without redirecting them back to PayPal
- Subscriptions — Process recurring payments automatically
- Recurring charges — Bill customers on a schedule without requiring re-approval
How It Works
- On the initial purchase, the customer is redirected to PayPal to approve payment
- If reference transactions are enabled, PayPal vaults the payment source and returns a Billing Agreement ID
- For subsequent charges (upsells, subscriptions), Spark CRM uses the Billing Agreement ID to charge the customer directly — no redirect required
Enabling Reference Transactions
Reference transactions require approval from PayPal. They are not enabled by default on PayPal Business accounts.
- Contact PayPal Support and request that reference transactions and vaulting be enabled on your account
- Allow 1–2 business days for PayPal to process the request
- Once enabled, edit your payment method in Spark CRM and check Reference Transactions
- Save the payment method. Spark CRM does not verify vault eligibility — confirm with PayPal Support that reference transactions are live on your account before enabling the checkbox, because an unapproved account will cause PayPal to reject the vaulted order at checkout.
Important: There is no automatic check. The Reference Transactions checkbox is always saved exactly as you set it — if you enable it without PayPal approval it stays enabled, and PayPal will reject the vaulted checkout order. Verify approval with PayPal first.
The connection test only confirms your Client ID and Secret authenticate against the selected environment (see Testing Connections). It cannot report vault or reference-transaction status — check that with PayPal directly.
What Happens Without Reference Transactions?
| Scenario | Result |
|---|---|
| One-time payment, Reference Transactions OFF | Works normally — customer redirected to PayPal, payment captured |
| One-time payment, Reference Transactions ON (vault enabled) | Works normally — payment source also vaulted for future use |
| Upsell after initial PayPal payment, vault enabled | Charges seamlessly using saved Billing Agreement ID — no redirect |
| Upsell after initial PayPal payment, vault NOT enabled | Falls back to standard redirect flow — customer must approve on PayPal again |
| Subscription/recurring, vault enabled | Processes automatically using Billing Agreement ID |
| Subscription/recurring, vault NOT enabled | Fails — subscriptions require reference transactions |
Sandbox Testing
PayPal provides a full sandbox environment for testing:
- Log in to the PayPal Developer Dashboard
- Create a sandbox REST API app (or use the default one)
- Copy the sandbox Client ID and Client Secret
- In Spark CRM, set the Environment to
Sandbox - Use PayPal sandbox test accounts to simulate buyer payments
Tip: To test reference transactions in sandbox, you’ll need to request vaulting be enabled on your sandbox app as well. The connection test cannot confirm this — verify it with PayPal.
External & Manual Payment Types
External Payment, Cash App, Zelle, Venmo, and Bank Transfer are all manual payment methods. They don’t connect to any API — the actual payment is processed outside the platform and recorded in Spark CRM for tracking purposes.
Setup
- Click New Payment Method
- Select the payment type (e.g., External Payment, Cash App, Zelle)
- Enter a descriptive name (e.g., “Wire Transfer”, “Cash App Payments”)
- No credentials or capabilities configuration is required
How It Works
- No API connection — payments are confirmed manually by your team
- No connection test is needed
- No programmatic refunds or voids — these must be handled outside the platform
- Refunds can still be recorded in the order for tracking purposes (marked as manual/external refunds)
Refunds on Manual Payment Orders
When a transaction was processed through a manual payment method, you can still record a refund on the order:
- Navigate to the order
- Click Refund on the transaction
- The refund is automatically recorded as a manual/external refund — no API call is made
- The order status updates to Partially Refunded for a partial refund, or RDR Refunded for a full external refund (external refund rows are recorded with the RDR Refunded transaction status, and the order status is derived from the transaction ledger)
This ensures your order records accurately reflect that money was returned, even though the actual refund was processed outside the platform.
Refunds & Voids
How refunds and voids work depends on the payment type:
| Payment Type | Refund | Void | How It Works |
|---|---|---|---|
| PayPal Wallet | API | API (authorizations only) | Refunds are processed through PayPal’s API. The Void action calls PayPal’s authorization-void endpoint; because Spark CRM always creates PayPal orders with intent CAPTURE, use a refund rather than a void for captured PayPal payments. Both depend on the Supports Refunds / Supports Voids checkboxes staying enabled. |
| Whop | API | API | Processed automatically through Whop’s API — settles asynchronously, see Whop Checkout |
| External Payment | Manual | Not available | Recorded in system, actual refund handled outside platform |
| Cash App | Manual | Not available | Recorded in system, actual refund handled outside platform |
| Zelle | Manual | Not available | Recorded in system, actual refund handled outside platform |
| Venmo | Manual | Not available | Recorded in system, actual refund handled outside platform |
| Bank Transfer | Manual | Not available | Recorded in system, actual refund handled outside platform |
PayPal Wallet Refunds
PayPal Wallet supports full and partial refunds directly through the PayPal API:
- Navigate to the order
- Click Refund (full) or Partial Refund on the transaction
- The refund is processed through PayPal automatically
- The order status updates accordingly
PayPal Wallet Voids
The Void option appears on any transaction that is Authorized, or Completed within the last 24 hours. For PayPal Wallet, orders are always captured immediately and the void call targets PayPal’s authorization-void endpoint, so voiding a captured PayPal payment will fail — use Refund instead to reverse it.
- Navigate to the order
- Click Void Transaction on the transaction
- The void request is sent to PayPal
- The order status is recalculated from the whole transaction ledger. It becomes Voided only when the void cancels the order’s entire captured balance; on a multi-transaction order it becomes Partially Refunded instead
Note: The Void option disappears 24 hours after a completed transaction. For PayPal Wallet, reverse the payment with a refund rather than a void.
Testing Connections
Connection testing verifies that your credentials authenticate against the selected environment. It does not check vault or reference-transaction eligibility.
From the List View
- Find the payment method in the list
- Click the three-dot menu (…)
- Select Connection Status
From the Connection Modal
- Open the connection details modal
- Click Test Now
Test Results
| Result | Meaning |
|---|---|
| Connection Test Successful (green) | Credentials authenticate successfully against the selected environment |
| Connection Test Failed (red) | Invalid credentials or API error |
Tip: External payments do not require connection testing since they don’t connect to an external API.
Managing Payment Methods
Editing
- Find the payment method in the list
- Click the three-dot menu (…)
- Select Edit
- Modify settings as needed
- Click Update Payment Method
Deleting
- Find the payment method in the list
- Click the three-dot menu (…)
- Select Delete
- Type the payment method name to confirm
- Click Delete Payment Method
Warning: Deleting removes the payment method from the list, but it is a soft delete — creating a new method with the same name restores and updates the original record rather than creating a fresh one. Campaigns do not reference alternative payment methods, but before deleting, make sure no active subscriptions bill through the method and no orders still need refunds: its subscriptions can no longer rebill (they are marked Failed on the next attempt), and refunds on its existing transactions are silently recorded as external, ledger-only refunds with no API call to the provider. Set the method to Inactive instead when you only want to stop new payments.
Status
| Status | Description |
|---|---|
| Active | Payment method available for processing |
| Inactive | Payment method disabled, not used for new transactions |
Troubleshooting
PayPal Connection Test Fails
Check:
- Client ID and Client Secret are correct
- You’re using the right credentials for the selected environment (sandbox vs live)
- Your PayPal REST API app is active in the Developer Dashboard
Reference Transactions Not Enabled on Your PayPal Account
Spark CRM does not detect or warn about this. If vaulted PayPal payments are being rejected, your PayPal account does not have vaulting enabled:
- Contact PayPal Support to request reference transactions
- Allow 1–2 business days for activation
- Confirm activation with PayPal directly — neither re-saving nor re-testing in Spark CRM can detect whether reference transactions are enabled on your PayPal account
PayPal Payment Declined with Vault Error
If a PayPal payment is declined with a vaulting error (the transaction’s response text will be PayPal’s description saying the payment source cannot be vaulted; the raw issue code NOT_ENABLED_TO_VAULT_PAYMENT_SOURCE appears only in the application logs):
- Your PayPal account does not support vaulting
- Disable the Reference Transactions checkbox on the payment method
- Or contact PayPal Support to enable reference transactions
Upsells Not Working with PayPal
- Verify the payment method has Reference Transactions enabled
- Check that the original order’s customer payment method actually stored a Billing Agreement ID — the connection test only validates credentials and cannot report vault eligibility
- Confirm with PayPal that reference transactions are active on the account, since the initial order must have been placed with a vault-enabled PayPal method
Related Topics
- Whop Checkout — Embedded checkout, upsells, and Whop-managed subscriptions
- Payment Gateways — Traditional credit card payment processing
- Payment Orchestrators — Route transactions across multiple gateways
- Decline Mappings — Standardize decline codes

