Skip to content

[Due for payment 2026-10-21] [CFI][FE 4/7] Payment history: Payment details page #101831

Closed

Description

@melvin-bot

Sub-task of [CFI] Add a "View payment history" page with historical billing receipts and monthly user activity.

Goal

Tapping a row in the payment history table opens a Payment details page in the RHP with the full breakdown for that bill.

Scope

  • New screen name, route (with a purchase identifier param), linking config entry, modal stack registration, and navigation param list entry — the same five places as FE 1/7.
  • Render the breakdown for the selected bill, reusing the normalised row model from FE 3/7.
  • Dynamic badge text. Three of the states carry extra detail that only renders on this page:
    • Balance transfer to <userEmail>
    • Balance transfer from <userEmail>
    • Disputed on <date> (Pending)
    • Disputed on <date> (Refunded)
    • Disputed on <date> (Closed)
    • Refunded on <date>
    • Refunded <amount> on <date> — partial refund
  • Handle a purchase identifier that isn't in Onyx with NotFoundPage.
  • Copy in every src/languages/*.ts locale, with the date / amount / email parameters declared in src/languages/params.ts.

Acceptance criteria

  • Tapping any row opens the details page for that bill; back returns to the table.
  • All seven dynamic badge variants render with the correct interpolated values.
  • Dates and amounts are formatted for the user's locale and the purchase currency.
  • Deep-linking a details route works, and an unknown purchase identifier renders the not-found page.
  • Renders correctly wide and narrow.

Depends on

FE 3/7 (the row model and the badge states).

Easy to get wrong

  • Hard-coding the badge strings instead of translating them with parameters.
  • Formatting the dispute and refund dates with raw string manipulation rather than the app's locale-aware date helpers.
Issue OwnerCurrent Issue Owner: @mallenexpensify

Activity

  1. self-assigned this
    on Sep 25, 2026
  2. dukenv0307 commented on Oct 1, 2026

    @dukenv0307
    Contributor

    Not overdue

  3. 6 remaining items

  4. dukenv0307 commented on Oct 12, 2026

    @dukenv0307
    Contributor

    Not overdue

  5. changed the title [-][CFI][FE 4/7] Payment history: Payment details page[/-] [+][Due for payment 2026-10-21] [CFI][FE 4/7] Payment history: Payment details page[/+] on Oct 14, 2026
  6. melvin-bot commented on Oct 14, 2026

    @melvin-bot
    Author

    @nkdengineer

    The solution for this issue has been 🚀 deployed to production 🚀 in version 9.5.8-5 and is now subject to a 7-day regression period 📆. Here is the list of pull requests that resolve this issue:

    If no regressions arise, payment will be issued on 2026-10-21. 🎊

  7. melvin-bot commented on Oct 15, 2026

    @melvin-bot
    Author

    @nkdengineer Whoops! This issue is 2 days overdue. Let's get this updated quick!

  8. melvin-bot commented on Oct 19, 2026

    @melvin-bot
    Author

    @nkdengineer 6 days overdue. This is scarier than being forced to listen to Vogon poetry!

  9. melvin-bot commented on Oct 20, 2026

    @melvin-bot
    Author

    Triggered auto assignment to @mallenexpensify (Awaiting Payment)

  10. melvin-bot commented on Oct 20, 2026

    @melvin-bot
    Author

    Payment Summary

    Resolving PRs:

    BugZero Checklist (@mallenexpensify)

    • I have confirmed assignees, roles, and Upwork contracts look correct
    • I have paid out Upwork contracts / manual NewDot requests
    • [BugZero Assignee] I have created a GH issue for creating/updating the regression test once above steps have been agreed upon
  11. mallenexpensify commented on Oct 21, 2026

    @mallenexpensify
    Contributor

    Payment Summary

    Contributor+: @nkdengineer due $250 via NewDot

    I'm guessing this project started before 2026-09-19 . Also assuming we don't need a test case, post one if you disagree.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Labels

Awaiting PaymentAuto-added when associated PR is deployed to productionDailyKSv2

Type

No type

Projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions