GIFQ accounts hold a separate balance per currency, and the catalog spans many currencies and countries. This article explains how cross-currency orders are charged and how to make sure recipient currencies line up with the brands in a campaign.
Per-currency balances
Your account has one balance per currency. Orders and payout dispatches are charged atomically against the relevant balance — if funds in that currency are short, the request fails with no records created.
Cross-currency orders and the FX fee
You don't need a matching balance in every currency you order in. If you hold a balance in EUR but want a USD gift card, pass the order's payment_currency. GIFQ then:
converts the order amount at the current rate,
applies a 1% FX fee, and
charges your EUR balance.
The response includes an fx object with the FX rate applied and the resulting fee amount. Combine those with the order amount to reconcile FX-adjusted charges against your own ledger.
Worldwide (WW) brands and currency matching
When a campaign uses worldwide (WW) brands, the recipient's currency must match a currency available among the campaign's selected brands. If you anticipate cross-currency redemption, include brands that cover each recipient currency you plan to dispatch in.
If a recipient's currency has no match in the selected products, redemption fails for that recipient. The fix is either to add a brand with a matching currency or to align the recipient's currency to one that the campaign's brand mix already supports.
Planning a multi-currency campaign
Map recipients to currencies first. List the currencies you'll dispatch in, then confirm the campaign's brand mix covers all of them.
Fund the right balances. Either top up each currency you'll charge in, or rely on cross-currency orders and budget for the 1% FX fee.
Validate at the product level. Currency is a product-level constraint — check it per product, not just per brand, before dispatching.
Reconciliation
Every balance movement — top-ups, order charges, payout dispatches, refunds, and FX conversions — is recorded as a transaction (GET /api/transactions). Use it to reconcile FX-adjusted charges against your own ledger.
