International Donations on Shopify: Multi-Currency Charity Checkout
International donations on Shopify checkout sound like a new product. For most stores they are the same donation, shown in another currency. You turned on Shopify Markets so a shopper in Toronto or Berlin sees CAD or EUR. Then you added a round-up, and the penny donation SKU that worked in USD quietly became a dollar in CAD.
This guide is for Markets merchants who want a multi-currency charity checkout they can defend. It covers what cross-border donations ecommerce actually is, why catalog round-up products break under FX rounding, when percent of sales is the better mechanic, and how GoodAPI runs verified US 501(c)(3) gifts without inventing overseas tax receipts.
What international donations on Shopify checkout actually means
Shopify Markets lets one store present prices, languages, and domains per region. The shopper pays in the market currency. You still settle in your shop currency through Shopify Payments or another gateway. The donation, if you collect one, is a line on that same order.
That is the whole trick. You are not opening a UK charity account. You are collecting a gift on a CAD or EUR cart and sending it to the nonprofits you already picked. In GoodAPI those nonprofits are verified US 501(c)(3)s from a network of 1.3M organizations, searched by name or EIN, with up to three active at a time.
Verified checkout donations are covered in our verified donations guide. US cause-marketing law is in the CCV compliance guide. This page is the Markets and FX layer those posts do not cover.
Two funding modes still apply. Customer round-up asks the shopper to close the gap to the next whole unit. Brand-funded percent of sales donates a share of the order without asking. Both live on the donations product. Grow remains free for trees, then $0.43 per tree after the first 50. Give is $15/mo for donations. Lead is $49/mo for checkout round-ups, custom work, and API access.
The Shopify Markets round-up trap
Most donation apps still implement round-up as a product. Virtue says it plainly: the round-up variant is priced at the smallest subunit of the shop currency, so $0.01 if you sell in USD, and the platform converts that variant into every other currency you sell in. When it is time to round up, the app calculates the gap to the next whole amount. If the converted variant is already a whole unit, Virtue offers $1.00 regardless of the cart remainder.
DailyKarma’s Shop for Good help center has a dedicated Markets article for the same bug. If you skip the fix, the round-up donation product converts, then Shopify rounds it to the nearest dollar in the international market. Their workaround is to open Markets, open Products and Pricing, and force the Gift for Good round-up product back to $0.01 in each market. Skip that and a CAD shopper can be asked for a dollar instead of spare change.
Shopify’s own Markets pricing docs explain why. Converted prices pick up messy endings, so Markets lets you round product prices to a common ending per currency. Gift cards are excluded. A $0.01 donation SKU is not a gift card. It gets rounded like a product.
That is a bad object for a donation. Spare change is supposed to be small and optional. A Markets-rounded penny SKU is neither.
GoodAPI’s round-up is a native checkout extension, not a catalog product. The prompt sits in checkout, names the nonprofit, and calculates against the presented total. You do not maintain a hidden $0.01 SKU per market. That is the GoodAPI-specific reason this post exists. We are not a ratings API and we are not DailyKarma’s SKU workaround. We are the checkout ask plus CCV, with trees and plastic on the same install.
Always-on round-up placement by Shopify plan is in how to add round-up donations. Read that for Plus vs non-Plus surfaces. Come back here for the currency math.
Multi-currency charity checkout: round-up vs percent of sales
Round-up is a remainder. Percent of sales is a rate. In one currency they feel similar. Across Markets they do not.
An $18.40 USD cart rounds up by $0.60. The same basket at CAD 24.70 rounds up by CAD 0.30. After FX, those gifts are not the same size, and they should not be. The shopper is rounding the number they see. That is fine when 90 percent of orders are USD. It is messy when Canada, the UK, and the EU are real volume, because your dashboard then mixes leftover cents from three unit systems and your email copy cannot quote one typical gift.
Percent of sales ignores the remainder. One percent of CAD 80 and one percent of USD 80 are both one percent. The brand funds it, so you are not asking a foreign shopper to opt into a US charity on a converted penny SKU. You still disclose the nonprofit, the share, and the duration, because that promise is what CCV regulates.
| Mechanic | What FX does to it | Who funds it | Best when |
|---|---|---|---|
| Catalog $0.01 round-up SKU | Markets conversion plus price rounding can turn a penny into a whole unit | Shopper | You have one currency and you like fighting admin |
| Checkout-extension round-up | Ask is calculated on the presented total, not a converted penny product | Shopper | Most orders share one presentment currency |
| Percent of sales | A rate, so every market donates the same share of the order | Brand | Shopify Markets is a real share of revenue |
Shopify Markets stores that want international donations at checkout without a $0.01 donation SKU or a fake overseas tax receipt
You can run both. Keep percent of sales on as the brand-funded floor. Add round-up for shoppers who want to chip in spare change in the currency on the screen. Toggle either off for a market if the copy does not fit.
Cross-border donations ecommerce and US 501(c)(3)s
Cross-border donations ecommerce, in this product, means a shopper outside the United States giving to a US 501(c)(3) on your checkout. The money is real. The tax story is not the shopper’s local charity law.
A US customer who itemizes may have a receipt path. That split, customer-funded vs brand-funded, is in are checkout donations tax-deductible. A nonresident who is not filing a US return with effectively connected income should not expect a US charitable deduction, and they should not expect Gift Aid or a CRA receipt either. Treaties exist. They are not something your checkout widget should summarize.
Say what is true. “This gift goes to [named 501(c)(3)], EIN [xx-xxxxxxx]. GoodAPI takes a 0 percent platform fee. Card processing still applies.” Do not say “tax-deductible in your country.”
CCV is the merchant-side counterpart, and it is US-only. The moment a US brand advertises that purchases support a named charity, many states treat that as a commercial co-venture. GoodAPI takes on registrations, contracts, disclosures, annual reports, and surety bonds in all 50 states. That is the legal product on Give. It does not file the UK, Canada, or Australia for you. If those markets matter, keep the public claim inside what you actually do: US nonprofits, US CCV, optional trees.
EU shoppers add a second overlay. The ECGT rules on vague green claims still apply if you sell to EU consumers, even if the donation is a US 501(c)(3). “Eco-friendly checkout” is a problem. “Round up to [named charity]” is a specific action. Details sit in the EU green claims Shopify guide.
How to run international donations on Shopify
You do not need a second fundraising site per market. You need one donation surface, a short cause list, and copy that survives translation.
Install Give and pick up to three US 501(c)(3)s
Add GoodAPI from the Shopify App Store. Turn on Give at $15 per month. Search the 1.3 million verified nonprofits by name or EIN. Keep the list short so every Markets locale can name the same causes without a novel in the disclosure.
Prefer percent of sales, then add round-up
For a multi-currency charity checkout, start with brand-funded percent of sales so FX cannot resize the gift. Add round-up if most volume still shares one currency. Confirm the prompt on a non-USD market before you announce anything.
Write the disclosure in the shopper's currency
Show the nonprofit name, EIN, and the exact amount or percent. If you also plant trees, say $0.43 per tree after the free allotment, verified through Veritree, GoodAPI’s reforestation partner. Trees are a purchased service, not a charitable deduction. Plastic recovery is $0.05 per bottle after the first 100.
Report in one dashboard, not one per market
Donations, trees, and plastic already post to order confirmations, Klaviyo, and customer accounts. Publish totals with evidence links. Do not invent impact numbers to make a CAD market look busier than it is.
The app is rated 5.0★ across 221 Shopify App Store reviews. Use that figure. Do not round it down.
What you should not promise
A local tax deduction you cannot issue. Link the tax guide and stop.
A CCV-style filing in a country that is not the United States. If you need that, you need local counsel, not a blog post.
A donate-for-discount coupon as the international story. That mechanic is a conversion campaign, covered in donate for discount on Shopify. It is a bad fit for Markets because now you are converting both the gift and the coupon.
A second widget per region. One app. Same causes. Different presentment currency.
Per-donation app fees we have not confirmed. GoodAPI takes 0 percent on the gift on Give. Card processing still applies. There is no invented per-donation surcharge in this post.
Start the Markets donation the honest way
If Shopify Markets is live, your checkout is already international. The missing piece is a donation that survives FX without a penny SKU and without a fake receipt. Install GoodAPI, turn on Give, prefer percent of sales, and keep round-up as the optional spare-change ask. Product details live on the donations page. For the US legal layer, keep the CCV guide next to this one.