Skip to content

Alternative Payment Methods

Configure alternative payment methods like PayPal Wallet and external payments in Spark CRM.

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

  1. Go to Payments > Alternative Payments in the sidebar
  2. Click New Payment Method (on an empty list the button reads Create Payment Method)
  3. 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
  4. Configure credentials (if required by the payment type)
  5. 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

Step 1: Create the Payment Method

  1. Click New Payment Method
  2. Enter a descriptive name (e.g., “PayPal Production”)
  3. 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 Sandbox enables test mode, selecting Live disables 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

  1. On the initial purchase, the customer is redirected to PayPal to approve payment
  2. If reference transactions are enabled, PayPal vaults the payment source and returns a Billing Agreement ID
  3. 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.

  1. Contact PayPal Support and request that reference transactions and vaulting be enabled on your account
  2. Allow 1–2 business days for PayPal to process the request
  3. Once enabled, edit your payment method in Spark CRM and check Reference Transactions
  4. 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:

  1. Log in to the PayPal Developer Dashboard
  2. Create a sandbox REST API app (or use the default one)
  3. Copy the sandbox Client ID and Client Secret
  4. In Spark CRM, set the Environment to Sandbox
  5. 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

  1. Click New Payment Method
  2. Select the payment type (e.g., External Payment, Cash App, Zelle)
  3. Enter a descriptive name (e.g., “Wire Transfer”, “Cash App Payments”)
  4. 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:

  1. Navigate to the order
  2. Click Refund on the transaction
  3. The refund is automatically recorded as a manual/external refund — no API call is made
  4. 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:

  1. Navigate to the order
  2. Click Refund (full) or Partial Refund on the transaction
  3. The refund is processed through PayPal automatically
  4. 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.

  1. Navigate to the order
  2. Click Void Transaction on the transaction
  3. The void request is sent to PayPal
  4. 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

  1. Find the payment method in the list
  2. Click the three-dot menu (…)
  3. Select Connection Status

From the Connection Modal

  1. Open the connection details modal
  2. 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

  1. Find the payment method in the list
  2. Click the three-dot menu (…)
  3. Select Edit
  4. Modify settings as needed
  5. Click Update Payment Method

Deleting

  1. Find the payment method in the list
  2. Click the three-dot menu (…)
  3. Select Delete
  4. Type the payment method name to confirm
  5. 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:

  1. Contact PayPal Support to request reference transactions
  2. Allow 1–2 business days for activation
  3. 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

Navigation

Type to search…

↑↓ navigate↵ selectEsc close