Skip to content

Map Banxa's consolidated Google Pay and migrated ACH sell payment methods#6071

Open
j0ntz wants to merge 1 commit into
developfrom
jon/banxa-payment-methods
Open

Map Banxa's consolidated Google Pay and migrated ACH sell payment methods#6071
j0ntz wants to merge 1 commit into
developfrom
jon/banxa-payment-methods

Conversation

@j0ntz

@j0ntz j0ntz commented Jul 10, 2026

Copy link
Copy Markdown
Contributor

CHANGELOG

Does this branch warrant an entry to the CHANGELOG?

  • Yes
  • No

Dependencies

none

Requirements

If you have made any visual changes to the GUI. Make sure you have:

  • Tested on iOS device
  • Tested on Android device
  • Tested on small-screen device (iPod Touch)
  • Tested on large-screen device (tablet)

Description

Asana task

Asana: https://app.asana.com/1/9976422036640/project/1213880789473005/task/1210642564105750

Banxa consolidated its multiple per-currency Google Pay PSPs into a single new PSP and migrated its ACH sell method to a new PSP code. Edge maps Banxa paymentType strings to internal FiatPaymentTypes through a strict allowlist (asBanxaPaymentType) plus a typeMap; any code not in the allowlist is dropped (via asMaybe). The new codes were not in the map, so:

  • Google Pay: the new PRIMERGP PSP was dropped, which is why US Google Pay conversion fell to near zero (the legacy WORLDPAYGOOGLE methods Banxa is retiring were the only ones recognized).
  • ACH sell: the old ZHACHSELL code is no longer returned by Banxa (replaced by BRDGACHSELL), so ACH sell was silently broken.

This adds both codes to the allowlist and typeMap:

  • PRIMERGP -> googlepay
  • BRDGACHSELL -> ach

Both Banxa integrations carry the same mapping and both are updated to stay in sync: the live ramps plugin (src/plugins/ramps/banxa/banxaRampPlugin.ts) and the legacy provider (src/plugins/gui/providers/banxaProvider.ts).

The codes were confirmed against Banxa's live production api/payment-methods response (PRIMERGP id 6142 "Google Pay", BRDGACHSELL id 6151 "ACH", both ACTIVE). The legacy WORLDPAYGOOGLE entries remain ACTIVE during Banxa's transition, so both old and new Google Pay codes are kept mapped; Banxa disables the old ones once the new code is live.

Out of scope (deferred): other newly-available Banxa PSPs (PayPal, Klarna, SPEI, Khipu, VietQR, AU bank transfer) map to payment types that are not yet wired into Edge's allowedPaymentTypes/UI and need broader work. SEPA is intentionally left disabled (deferred to Bity).

Testing

Verified in-app on the iOS simulator by driving the ramps Buy and Sell flows and capturing the live banxaRampPlugin mapping against Banxa's production api/payment-methods response:

  • Buy: PRIMERGP #6142 (ACTIVE) -> googlepay
  • Sell: BRDGACHSELL #6151 (ACTIVE) -> ach

Without this change both would map to undefined and be dropped. Note: Google Pay is an Android-only payment method in Edge (buyPluginList.json forPlatform: android), so it does not render in the iOS payment-method list; the mapping itself was verified executing on-device against live data. tsc --noEmit, eslint, and the jest suite pass; the Record<BanxaPaymentType, FiatPaymentType> type also enforces union/map consistency at compile time.


Note

Low Risk
Small allowlist/typeMap additions in fiat ramp configuration only; no auth, payments execution, or broad UI changes.

Overview
Banxa’s API now returns new PSP codes for Google Pay (PRIMERGP) and ACH sell (BRDGACHSELL). Edge only surfaces methods whose paymentType is in a strict allowlist and mapped to an internal FiatPaymentType; anything else is dropped via asMaybe, so these methods were invisible in buy/sell flows.

This change adds both codes to asBanxaPaymentType and typeMap (PRIMERGPgooglepay, BRDGACHSELLach) in banxaRampPlugin.ts and the legacy banxaProvider.ts, keeping the two integrations aligned. The CHANGELOG records the user-facing fix.

Reviewed by Cursor Bugbot for commit a8b2f7b. Bugbot is set up for automated code reviews on this repo. Configure here.

…hods

Banxa consolidated its per-currency Google Pay PSPs into a single new
PSP (PRIMERGP) and migrated ACH sell to a new code (BRDGACHSELL). Both
codes were unrecognized by the strict paymentType allowlist and dropped,
breaking Google Pay conversion and ACH sell. Add both codes to the
allowlist and typeMap, mapping to googlepay and ach respectively.
@j0ntz

j0ntz commented Jul 10, 2026

Copy link
Copy Markdown
Contributor Author

📸 Test evidence (ramps Buy/Sell on iOS sim)

agent proof 1210642564105750 01 buy payment methods

agent proof 1210642564105750 01 buy payment methods

agent proof 1210642564105750 02 select payment method

agent proof 1210642564105750 02 select payment method

Captured by the agent's in-app test run (build-and-test).

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