A CAD customer paid a sum. Staff saw a sum no label. PayPal had not lost anything. Our capture handler stored the USD settlement and discarded the buyer-currency breakdown. If you only keep settlement, support debugs a ghost of the transaction.
The bug was not PayPal, it was us throwing away the buyer's currency
AI Skills
Use this lesson with the AI assistant you already use
A Canadian customer paid in CAD, but the payment capture handler stored only the USD settlement amount and discarded the original buyer-currency breakdown, leaving staff staring at an unlabeled number with no way to reconcile it against what the customer actually paid.
Paste the prompt, share only the context needed to answer it, and treat the result as a draft for your review. Do not include confidential information or let an AI assistant make changes without your approval.
Optional: for a visual report and saved memory, run /dxdev first.
Don’t have it? Get it at dxdev.com/skills/dxdev. The prompt works without it.
dxdev LESSON ยท paste into your AI coding agent
LESSON: Keep the buyer-currency breakdown, not just the settlement amount
SOURCE: dxdev.com/blog/2026-05-14_currency-not-paypal
WHAT HAPPENED: A Canadian customer paid in CAD, but the payment capture handler stored only the USD settlement amount and discarded the original buyer-currency breakdown the payment gateway had sent, leaving staff looking at a bare number with no currency label and no way to reconcile it against what the customer actually saw and paid. PayPal had not lost anything; the data loss happened entirely inside the capture handler.
THE RULE: When a payment gateway returns both a settlement amount and the original buyer-currency breakdown, store both. Discarding the buyer-currency side turns any support investigation into debugging a transaction using only half its data.
CHECK MY CODE, then report PASS or FAIL with file:line for each:
1. Any payment capture or webhook handler that stores only the settlement-currency amount and discards the original buyer-currency amount and currency code from the gateway's response.
2. Any support-facing transaction view showing a bare number with no currency label, when the underlying payment could have been made in a different currency than settlement.
3. Any place a multi-currency payment gateway's full response payload is not persisted in some form, even as raw JSON, for later reconciliation, only a derived or summarized value.
THEN PRINT: a table (check, PASS/FAIL, evidence, fix) + a verdict (applies / partially / OUT_OF_SCOPE / no) + the single most important next action.
Prefer to talk it through first? See the AI workflow assessment or get in touch.
Lesson: Keep the buyer-currency breakdown, not just the settlement amount
Choose your next level of detail
Want the practical version?
How AI Helps starts with the work problem, what improves, and where human judgment still matters.