Wallets
Wallets
A wallet is a balance of customer funds held outside Shopify - in a loyalty platform, a stored value system, or a system that also works across your physical stores. Cardigan synchronises each customer's wallet with their native Shopify store credit balance, so the funds they hold are spendable in your Shopify checkout without leaving your system of record behind.
How it works
The wallet is the source of truth. Shopify store credit is a mirror of it.
Cardigan synchronises a customer's wallet at the points where an accurate balance matters:
- when the customer enters the checkout;
- immediately before they complete their order;
- when an order is paid with store credit, or refunded to it;
- when a Shopify Flow workflow adds funds to a wallet;
- when a member of staff presses Sync now on the customer's page in the Shopify admin.
Each synchronisation reads the balance from your external system, applies anything that happened on the Shopify side to the wallet, and then adjusts the customer's Shopify store credit balance to match.
Because the wallet is authoritative, a customer who spends in one of your stores sees that reflected in their Shopify balance at their next checkout, and a customer who spends store credit in your Shopify checkout has those funds deducted from their wallet.
What moves in each direction
Movements originating in Shopify are applied to the wallet:
| In Shopify | Effect on the wallet |
|---|---|
| Order paid with store credit | Funds deducted |
| Refund issued to store credit | Funds added |
| Payment failed or order cancelled | Deducted funds returned |
| Store credit added or removed by staff in the Shopify admin | Funds added or removed to match |
| Store credit expired by Shopify | Funds deducted |
Movements originating in the wallet - a purchase in one of your stores, an adjustment in your loyalty platform, a Flow workflow adding funds - change the wallet balance directly. The next synchronisation brings the customer's Shopify store credit balance into line.
Staff can keep using the Shopify admin
Adding or removing store credit from the customer's page in the Shopify admin works exactly as it normally does. Cardigan notices the change and applies the same movement to the wallet, so your staff don't need to learn a second tool.
Multiple currencies
Shopify holds a separate store credit account per customer and currency, and Cardigan mirrors each one with its own wallet. A customer checking out in a currency they hold no funds in simply sees no store credit available.
Whether your external system can hold funds in more than one currency depends on the system itself. Some hold a single currency per account, in which case the profile is configured with the currency it transacts in, and a checkout in any other currency has no wallet to synchronise.
Limits worth knowing
Store credit requires new customer accounts. A customer's store credit balance is only redeemable at checkout when they're signed in through Shopify's new customer accounts. A customer checking out as a guest has no balance to spend, and no wallet to synchronise.
Store credit can't be tested on a development store. Shopify doesn't make store credit available on development stores or in payments test mode, so testing wallets needs a real store and a real customer account.
Synchronisation is not continuous. A customer's wallet is synchronised at the moments listed above, not on a constant loop. If a customer looks at their account page in your online store, the balance shown there is the result of the last synchronisation.
Setting it up
See Setting up wallets for the profile and extensions involved.