E-commerce
July 1, 2026
"I paid €89, my bank shows $102. Is this a scam?" A customer writes in the chat at midnight from Toronto. A poorly calibrated bot promises a refund of the difference, invents an exchange rate, or confuses customs fees with currency conversion. Result: chargeback and incomplete agent ticket the next day.
An international price and currency AI chatbot does not replace the CUR-DISP policy or FX-DISP-FLOW agents. It detects intent (discrepancy noted, switch checkout, refund FX), reads the Shopify order in presentment currency, explains store vs. bank scope, and escalates without promising an exact refund amount in the local currency.
This guide #394 covers bot_currency_* intents, CUR-BOT flow, AI guardrails, and currency_bot KPIs. It differs from CUR-DISP agents (#393) (policy, macros, chargeback pack) and the multilingual bot (#16) (general language): here, the focus is on the use case of international price AI, displayed currency, and checkout conversion.
Summary
Why deploy an AI chatbot for currency questions?
E-commerce chat currency inquiries often arrive post-checkout, marked by urgency and confusion between bank FX, Markets, and a perceived scam. Without a calibrated bot, four failures recurringly happen.
Four malfunctions without a currency bot
FX refund promise: bot promises bank conversion delta
Invented rate: LLM cites 1.35 without order source
Customs confusion: duties treated as FX
Incomplete ticket: agent follows up without order_id or presentment
Stripe notes that the billed amount may differ from checkout if the bank converts (Stripe, multi-currency 2026). Shopify Markets documents presentment currency by order (Shopify, Markets 2026).
Angle #394 vs adjacent content
#393 FX-DISP agents: CUR-DISP, macros, chargeback. The #394 automates 24/7 bot explanation.
#370 REF-STAT bot: refund status delay. The #394 = FX explanation before or with status.
#16 multilingual: language and localization. The #394 zooms in on currency and amount.
#100 international: global export customer service view. The #394 = specific pricing/currency bot.
DTC Example
Fashion brand, Markets US/CA/EU, 52 currency tickets/month, of which 61% are outside business hours. After CUR-BOT: currency_bot_resolution 74%, currency_auto_refund_promise 0, global currency_fcr +11 pts, FX chargeback -41%.
Responsible AI Principle
The bot reads order, explains scope, informs refund rules. It does not refund delta FX nor does it guarantee the exact billed USD/EUR amount.
How does the currency bot differ from CUR-DISP #393?
The currency bot and the FX-DISP-FLOW agents process complement each other in a pipeline, similar to GDPR-BOT (#384) and DSAR (#383).
#394 bot: upstream (minutes 0-5)
Detect intent bot_currency_* vs pricing error #247
Lookup order: presentment_currency, total, market
Classify scope: FX bank | misconfig | duties | refund FX
Explain templates CUR-DISP-FX grounded order
Collect order_id, capture masked bank statement if needed
Handoff ticket FX-1 to FX-4 pre-filled if complex
#393 agents: execution (disputes, chargebacks)
FX-5 to FX-8: difference calculation, customer gesture, chargeback evidence
CUR-DISP-EVIDENCE: bank dispute pack
Markets misconfig: dev ticket + partial refund if bug
Chargeback escalation: supervisor + legal
Structured handoff
Ticket: order_id, presentment_currency, presentment_total, bot_currency_type, scope CB-4, transcript 6 messages, customer_market, chargeback_threat Y/N. Agent resumes at FX-5 without re-asking for order details.
What the bot does not do
No FX delta API refund, no promise of exact bank statement amount, no exchange rate legal advice, no modification of order currency. CUR-DISP rule 3 #393.
Complementarity #370
bot_currency_refund_fx + ref_stat_pending: CUR-BOT explains FX drift, REF-STAT bot provides processor delay estimates.
Which bot_currency_* intents should the chatbot detect?
Twelve international currency bot intents cover pre- and post-purchase FX questions.
Twelve bot_currency intents
bot_currency_display_charge: website vs. bank statement
bot_currency_checkout_switch: currency change cart/checkout
bot_currency_bank_fees: issuer conversion fees
bot_currency_pre_purchase: "what currency will I pay in?"
bot_currency_market_select: change market / footer currency
bot_currency_refund_amount: refund amount vs. initial debit
bot_currency_refund_currency: refund received in a different currency
bot_currency_paypal_fx: PayPal conversion
bot_currency_duties_confusion: customs vs. FX (reroute #65)
bot_currency_suspicion_scam: "conversion scam"
bot_currency_vpn_wrong_market: VPN IP wrong price
bot_currency_pricing_error_confusion: SKU bug vs. FX (reroute #247)
Trigger signals
currency, dollar, euro, conversion, exchange rate, charged more, bank statement
order lookup: post-purchase with order_id or session email
Pre-purchase: "CAD or USD", "which currency checkout"
Conversation tags
currency_bot_detected, currency_bot_fx_explained, currency_bot_handoff, currency_bot_reroute_duties, currency_bot_reroute_pricing, currency_bot_chargeback_flag.
Intent priority
bot_currency_suspicion_scam + order > bot_currency_display_charge > bot_currency_refund_amount > bot_currency_pre_purchase. Chargeback threat: alert live agent if during business hours.
Session context
Read market cookie, cart currency, shipping country. Pre-fill bot_currency_pre_purchase without asking for country if known.
Which CUR-BOT conversational flow should be configured?
The CUR-BOT flow guides currency explanation in 8 steps, CB-1 to CB-8.
Post-purchase sequence (bot_currency_display_charge)
CB-1 Welcome: "AI Assistant. I am checking your order to explain the currency."
CB-2 Collect order_id: or email + OTP if logged-out
CB-3 Lookup order: presentment_currency, total, payment gateway
CB-4 Classify scope: Bank FX | duties | misconfig | pricing #247
CB-5 Explain: CUR-DISP-FX template grounded on CB-3 data
CB-6 FAQ link: /faq-currency + order PDF confirmation
CB-7 Handoff if needed: chargeback threat, misconfig, delta order ≠ checkout screenshot
CB-8 Close: "Need refund status?" REF-STAT link #370 if applicable
bot_currency_pre_purchase branch
"You are shopping in market {{market}}. Checkout is in {{currency}}. Your bank may convert if using a card in another currency." Currency selector link in the footer. Statement amount not guaranteed.
bot_currency_duties_confusion branch
Detect duties/taxes lines order → "Customs fees are separate from conversion." Reroute to customs #65.
bot_currency_refund_amount branch
Read refund presentment + status. Explain FX drift. Never say "you will receive exactly X USD." Handoff to #370 if pending > 10 days.
Flow prohibitions
Never say "we refund the conversion difference". Never use FX rates not sourced from the order/gateway.
What can and cannot the currency bot do?
The authorized vs. unauthorized bot currency matrix protects both the brand and the customer.
Authorized bot actions
Lookup order presentment_currency and total
Explain bank FX vs. boutique scope
Display active pre-purchase checkout market currency
Guide to the footer currency selector
Explain refund in the same order currency + potential FX drift
Reroute duties #65, pricing #247, REF-STAT #370
Create pre-filled handoff ticket FX-1 to FX-4
Send PDF order confirmation link
Unauthorized bot actions
Refund bank FX partial delta API
Promise exact bank statement amount in local currency
Invent daily exchange rates
Modify order presentment currency
Dispute chargeback without an agent
Non-policy advice: "use card X to avoid FX"
Confirm Markets bug without developer verification
Grey area: checkout screenshot ≠ order
Bot flags probable misconfig, agent handoff FX-3. No automatic partial. Message: "Team will verify within 24 hours."
System prompt
"Source of truth = Shopify order presentment. Never refund FX delta. Escalate bot_currency_suspicion_scam." Quarterly review with #393 policy owner.
LLM guardrails
Templates CB-5 approved by legal. No free generation of multi-currency refund amounts.
How to connect Shopify order and Markets to the bot?
The Shopify Markets bot currency integration provides grounded data without hallucination.
Read-only order fields
presentment_currency: CAD, EUR, USD, GBP
presentment_money: subtotal, tax, total
line_items duties: detect bot_currency_duties
payment_gateway_names: PayPal, Shopify Payments
refunds: presentment amount, status, created_at
customer market: via order shipping/billing country
Shopify Admin API order and Storefront context market (Shopify Dev, Order API).
Pre-purchase context
cart.cost.totalAmount.currencyCode
localization.country.isoCode
availableMarkets list for bot_currency_market_select
ID Verification CB-2
Logged-in: order list match email. Guest: order_id + email zip match. Do not expose third-party orders.
Multilingual
Templates CB-5 EN/FR/DE according to market. Align #16 localization, content #394 = currency not general translation.
Bulk savings #392
Unit price format in presentment market. Bot does not convert manually to compare formats.
How to route to an agent without promising the FX refund?
The handoff bot currency agent transmits context without making commercial over-promises.
Handoff criteria CB-7
Threat of chargeback or lawyer
Screenshot of checkout u2260 order presentment
3+ insistence messages post CB-5
Refund dispute > 15 days + REF-STAT exhausted
Order > 500 presentment units
Minimum ticket requirements
order_id, presentment_currency, presentment_total, bot_currency_type, CB-4 scope, refund_status if any, transcript, chargeback_threat, masked statement attachments.
Waiting message CB-7
u00ab Your case CUR-[ID] has been transmitted. An agent will verify it within 4 business hours. We cannot refund bank conversion fees without a complete analysis. u00bb
SLA bot vs agent
Bot CB-1 to CB-6: < 3 min, < 8 messages
Agent FX-5+: 4 hours first response for disputes
Chargeback flag
currency_bot_chargeback_flag u2192 Slack #finance + agent priority. Pack CUR-DISP-EVIDENCE prep #393.
Post-handoff bot silence
No follow-up "have you been refunded FX?" before agent response. Status lookup order currency OK.
Which triggers and widget placements for CUR-BOT?
The currency bot deployment targets international checkout and post-purchase order status.
Five CUR-BOT triggers
T1 Incoming message: currency, conversion, charged keywords
T2 International checkout: shipping country ≠ shop primary, currency hint
T3 Footer currency selector: click? → bot_currency_market_select
T4 Order status page: "Question about the amount?"
T5 Post-purchase email: reply « charged wrong currency » deep-link chat CB-2
Priority pages
/faq-devise linked from footer all markets
Checkout step payment (discreet, do not cover #386)
Markets US, CA, UK, EU top traffic
Proactivity limit
T2 max 1×/checkout session. No aggressive "currency" popup on mobile payment step.
24/7 value
61% currency tickets off-hours #393 example. Immediate CB-5 Bot reduces night/weekend chargeback.
A/B test
T4 order status widget vs passive. Measure currency_bot_resolution and FX chargeback 60 days.
Which currency_bot KPIs should be measured?
Currency bot KPIs link automation, global FCR, and FX chargebacks.
Eight Key Metrics
currency_bot_resolution_rate: resolved without handoff / currency bot sessions
currency_bot_intake_complete: order_id lookup OK / post-purchase sessions
currency_auto_refund_promise: FX delta promise incidents (target 0)
currency_bot_handoff_rate: agent escalations / sessions
currency_bot_reroute_accuracy: duties/pricing reroute correct
currency_fcr_delta: FCR increase #393 with bot
currency_chargeback_fx_rate: post CUR-BOT drop correlation
currency_bot_csat: satisfaction post CB-5
DTC Benchmark
currency_bot_resolution 70-78%, auto_refund_promise 0, intake_complete 88-94%, handoff_rate 22-30%, chargeback_fx -35-45% at 90 days.
Weekly Support + Finance Dashboard
Top intents bot_currency_*, handoff reasons, chargeback win rate, active bot hours correlation.
20/month Transcript Audit
Score: presentment mentioned? no FX refund promise? duties reroute OK? no fabricated rate?
Incident Alert
currency_auto_refund_promise > 0: pause free LLM, 24h prompt review.
Which edge cases and anti-patterns should be avoided?
Ten edge cases bot currency and playbook responses.
1. Bot promises delta FX refund
Critical incident. Hard block "refund the difference". Immediate audit.
2. Multi-refund partial cumulative FX drift
Explain each refund presentment. Handoff #368 + #393 if dispute.
3. PayPal currency different from order
bot_currency_paypal_fx template. PayPal FX policy link.
4. Shop Pay wallet multi-currency
Explain wallet vs order presentment. Distinct traditional bank FX.
5. Auth hold vs capture FX confusion
Not an FX issue. Explain auth drop 3-7 d. Payment declined docs.
6. Customer compares price #392 bulk with other market
Localized prices Markets differ. No cross-market match. Explain local pricing.
7. VPN + wrong market pre-purchase
bot_currency_vpn_wrong_market: guide footer switch before buy.
8. LLM quotes ECB rate not order
Guardrail: only order presentment in CB-5. No external rates.
9. GDPR data in bank statement question
Minimize data. Order lookup only. Reroute #384 if privacy request.
10. Generalist bot confuses #174 objection
"Too expensive" without FX → price objection flow, not CUR-BOT.
Anti-patterns
Multilingual bot #16 without bot_currency_* intents
REF-STAT #370 promises USD amount without FX disclaimer
No /faq-devise linked CB-6
How does Qstomy explain currencies and international prices?
Qstomy on Shopify Markets: CUR-BOT with lookup order presentment, CB-5 templates, reroute duties/pricing/refund, FX-DISP handoff without auto FX refund.
Qstomy CUR-BOT Capabilities
currency_intent_detect: 12 intents section 3
currency_order_lookup: presentment, refunds, duties lines
currency_scope_classify: CB-4 FX vs duties vs misconfig
currency_explain_template: CUR-DISP-FX grounded
currency_no_fx_refund_promise: hard block delta refund
currency_market_pre_purchase: cart currency + selector guide
currency_handoff_ticket: FX-1 to FX-4 agent brief #393
Addition #393
FX-DISP-FLOW dispute and chargeback agents. Qstomy CUR-BOT automates CB-1 to CB-6. currency_fcr +11 pts, currency_ticket_rate -38% combined FAQ + bot.
Quantified DTC Scenario
Fashion brand, Markets 4 zones, 52 currency tickets/month, 61% outside of hours.
After Qstomy CUR-BOT: currency_bot_resolution 76%, currency_auto_refund_promise 0, currency_bot_intake_complete 92%, FX chargeback -43%, currency_bot_csat 4.2/5.
Explore AI sales agent, customer support and request a demo.
What is the checklist for deploying CUR-BOT?
CUR-BOT Checklist (12 steps)
Document policy CUR-DISP #393 + /faq-currency
Configure 12 intents bot_currency_* section 3
Write templates CB-1 to CB-8 EN/FR top markets
Connect order lookup presentment + refunds API
Activate guardrails no_fx_refund_promise hard block
Integrate reroute duties #65, pricing #247, REF-STAT #370
Configure triggers T1-T5 + proactive checkout cap
Staging tests 8 scenarios FX, duties, refund, VPN, scam
Handoff ticket 10 fields to FX-DISP agents
Weekly currency_bot KPI Dashboard
Audit 20 transcripts/month compliance
Correlate quarterly FX chargeback vs baseline #393
At a glance
#394 = bot explains currency, #393 = dispute/chargeback agents
CUR-BOT: order lookup → scope → explanation without FX promise
Grounded presentment: never an invented FX rate
Reroute: duties, pricing error, refund status
KPI currency_bot_resolution: target 70-78%
FAQ
Difference with #393?
#393 policy + FX-DISP agents + chargeback evidence. #394 bot automation standard CB-1 to CB-7.
Can the bot refund the FX difference?
No. CUR-DISP rule 3. Agent handoff if exceptional policy gesture.
Relation to #370 refund status?
#394 explains FX. #370 provides processor delay. CB-8 links the two.
Relation to #16 multilingual?
#16 UI language. #394 international currency and amount intents.
Pre-purchase vs post-purchase?
Bot_currency_pre_purchase without order. Display_charge requires CB-2 lookup.
Go further
Test staging: "my bank charged more" + order_id CAD, verify CB-5 presentment is cited, zero FX refund promise, handoff if screenshot ≠ order.
Share this guide #394 with support and finance: a good currency bot explains the order, not the bank conversion it does not control.

Enzo
July 1, 2026





