Skip to content

Feat/kkiapay widget flow - #9

Merged
jules-mahounou merged 4 commits into
mainfrom
feat/kkiapay-widget-flow
Oct 6, 2026
Merged

jules-mahounou merged 4 commits into
mainfrom
feat/kkiapay-widget-flow

Conversation

@jules-mahounou

Copy link
Copy Markdown
Collaborator

What & why

Checklist

  • Commits are signed off (git commit -s) — see DCO
  • Tests added or updated
  • If this touches routing/fallback: tests prove no double charge is possible
  • Docs and CHANGELOG.md (Unreleased) updated if behavior changed
  • No real secrets or personal data in code, tests, or fixtures

jules-mahounou and others added 4 commits October 6, 2026 10:02
The sandbox answers an unknown transaction id with HTTP 400 and
`{ "status": "TRANSACTION_NOT_FOUND" }`, not 404 as assumed. Only this
explicit answer now counts as "not found", whatever the HTTP status.
Found by the opt-in sandbox test, which now passes.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Signed-off-by: Jules Mahounou <234069818+jules-mahounou@users.noreply.github.com>
Payenv keeps requiring E.164 (a number without its country is ambiguous,
and could charge the wrong person), but customers type local numbers.
`toE164(phone, country)` converts them, with per-country rules: the
leading 0 is a trunk prefix in Nigeria, Ghana, Kenya…, but part of the
number in Benin (+22901…) and Côte d'Ivoire.

demo: accepts local numbers (via toE164), pre-fills the Kkiapay test
number when the FedaPay outage is simulated, and shows widget failures.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Signed-off-by: Jules Mahounou <234069818+jules-mahounou@users.noreply.github.com>
An apostrophe in "n'a bougé" closed a JavaScript string inside the page
template, so the whole inline script failed to load and the form was
submitted natively (the page just reloaded). Use a typographic
apostrophe.

To catch this class of bug: the page moves to page.ts, and a test parses
its inline script in every demo configuration (it fails on the original
bug).

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Signed-off-by: Jules Mahounou <234069818+jules-mahounou@users.noreply.github.com>
FedaPay (simulated outage) → Kkiapay widget → payenv.confirm succeeded.
The status response echoes the widget's partnerId and reports the amount
requested (fees apart), which is what confirm's anti-fraud checks rely
on. The opt-in sandbox tests pass against the real API.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Signed-off-by: Jules Mahounou <234069818+jules-mahounou@users.noreply.github.com>
@jules-mahounou
jules-mahounou merged commit 9b1757d into main Oct 6, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant