Skip to content

Add Pesalink branding to bank transfer flow and remove change-bank picker#129

Merged
Peter-John-paystack merged 3 commits into
mainfrom
feature/Adding-logos-to-payment-methods
Jun 30, 2026
Merged

Add Pesalink branding to bank transfer flow and remove change-bank picker#129
Peter-John-paystack merged 3 commits into
mainfrom
feature/Adding-logos-to-payment-methods

Conversation

@Peter-John-paystack

Copy link
Copy Markdown
Collaborator

Brand the bank-transfer channel as "Pesalink" (Kenya rail) instead of
the standard Nigeria-style Pay-with-Transfer when the transaction
currency is KES. Pesalink shares the underlying PWT rail and Pusher
contract; the difference is purely branding (tile title + logo) plus a
customer-facing "Narration / Reason" row on the account-details screen.

  • Introduce BankTransferProvider (.standard / .pesalink), resolved at
    flow entry by ChargeViewModel based on the new pesalinkCurrencyCodes
    static (KES today). Currency is a stand-in for country until the
    backend ships a country code on verify-access-code.
  • Thread provider through BankTransferConfig and SupportedChannel to
    drive the Pesalink display title and bundled wordmark (pesalinkLogo).
  • Surface the Pesalink-only "Narration / Reason" row on the account
    details screen.
  • Remove the change-bank picker from the UI (backend no longer supports
    changing the bank mid-flow). BankPickerSheet and the view-model
    picker logic are preserved with re-enablement notes for later.
  • Add ChargeViewModel tests covering KES/NGN/USD resolution, the
    configurable currency-code gate, and Pesalink display title.

  Replace the generic placeholder icons with provider-specific logos
  (M-Pesa, MTN, Airtel/ATL, Telecel/Vodafone) and a dedicated bank
  transfer logo, wiring each mobile money key to its own asset in
  SupportedChannel.

  Rework ChannelSelectionView from a two-column LazyVGrid into a full-
  width vertical list of tappable rows. Each channel is now a PlainButton
  with a leading logo and single-line, scalable title, giving a larger
  tap target and consistent layout regardless of channel count.

  If you'd prefer something shorter for a squash merge:

  Add provider logos and redesign Mobile Money channel selection list
…cker

  Brand the bank-transfer channel as "Pesalink" (Kenya rail) instead of
  the standard Nigeria-style Pay-with-Transfer when the transaction
  currency is KES. Pesalink shares the underlying PWT rail and Pusher
  contract; the difference is purely branding (tile title + logo) plus a
  customer-facing "Narration / Reason" row on the account-details screen.

  - Introduce BankTransferProvider (.standard / .pesalink), resolved at
    flow entry by ChargeViewModel based on the new pesalinkCurrencyCodes
    static (KES today). Currency is a stand-in for country until the
    backend ships a country code on verify-access-code.
  - Thread provider through BankTransferConfig and SupportedChannel to
    drive the Pesalink display title and bundled wordmark (pesalinkLogo).
  - Surface the Pesalink-only "Narration / Reason" row on the account
    details screen.
  - Remove the change-bank picker from the UI (backend no longer supports
    changing the bank mid-flow). BankPickerSheet and the view-model
    picker logic are preserved with re-enablement notes for later.
  - Add ChargeViewModel tests covering KES/NGN/USD resolution, the
    configurable currency-code gate, and Pesalink display title.
…ature/Adding-logos-to-payment-methods

# Conflicts:
#	Sources/PaystackUI/Charge/Models/SupportedChannel.swift
@sonarqubecloud

Copy link
Copy Markdown

Quality Gate Failed Quality Gate failed

Failed conditions
0.0% Coverage on New Code (required ≥ 80%)

See analysis details on SonarQube Cloud

@Peter-John-paystack Peter-John-paystack merged commit fd157f8 into main Jun 30, 2026
4 of 6 checks passed
@Peter-John-paystack Peter-John-paystack deleted the feature/Adding-logos-to-payment-methods branch June 30, 2026 08:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants