Page MenuHomePhabricator

Internal testing of Google Pay functionality
Closed, ResolvedPublic

Description

This task is for testing of Google Pay integration with our donation workflow, and resolving any remaining issues or inconsistencies that may be found.

The following APK can be used, which has Google Pay enabled (and live), and unrestricted to any locale or language:
https://releases.wikimedia.org/mobile/android/wikipedia/betas/wikipedia-2.7.50488-beta-2024-05-15.apk

This installs as the Wikipedia Beta app, so it can exist alongside any Production version of the app that might already be on your device.


The app uses the current GeoIP country code for determining all of the following:

  • Which currency to use for the amount selection interface.
  • Whether to show the email opt-in checkbox.
  • Whether the Google Pay method is accepted in this region.

To override your GeoIP code for testing purposes, go to Developer settings in the app and select "GeoIP Country Override". (must be uppercase country codes, e.g. "JP", "DE"; then change this field back to blank to remove the override.)

Related Objects

Event Timeline

Dbrant triaged this task as Medium priority.Apr 30 2024, 6:24 PM

I'm seeing something weird related to number formatting of the amount vs error message

Steps to reproduce:

  1. Open APK from task description
  2. Set GeoIP to ES
  3. System language to Spanish
  4. Select an amount from those given

What happens:
Minimum amount error appears

image.png (2×1 px, 189 KB)

Expected behavior:
Error should only be shown when amount is below minimum accepted donation amount (matching donate.wikimedia.org)

I'm seeing something weird related to number formatting of the amount vs error message

Great catch, and... done. (I've updated the link in the task description)
Number formats (with culture-aware decimal separators) are always a pain to get right, and there's actually an issue deep in the internals of Android that we need to work around here, but it should work properly now for all cases.

HNordeenWMF added a subscriber: cmadeo.

@ABorbaWMF the description is updated with the latest Alpha from Dmitry

Hi @Dbrant unfortunately the link above isn't working for me

doh, here is a link that actually works:
https://drive.google.com/file/d/1sBJ-6SrBApe6H8NBiMSBJwmAhp-10R9V/view?usp=sharing

I ran into an issue where the large amount error does not show/register for non USD currencies

  • Change country to JP
  • Start a GPay donation
  • Enter in amount that is equivalent more than 25,000 USD in Yen (4,000,000)

&

  • Change country to AT
  • Start a GPay donation
  • Enter in amount that is equivalent more than 25,000 USD in EUR - 30,000

What happened: No large amount error is shown, can proceed with transaction
Expected behavior: Cannot proceed with donation larger than local equivalent of 25k, large amount error is shown, in keeping with donate.wikimedia.org

Screenshot 2024-05-13 at 11.01.07 AM.png (812×740 px, 103 KB)

I was able to make a 2 GBP donation! Received my thank you email, and the utm tracking info all looks right

However I noticed that in the dark themes some of the text is unreadable:

Screenshot_20240513-183157.png (2×1 px, 124 KB)
Screenshot_20240513-183216.png (2×1 px, 114 KB)

I was able to make a 2 GBP donation! Received my thank you email, and the utm tracking info all looks right

However I noticed that in the dark themes some of the text is unreadable:

Screenshot_20240513-183157.png (2×1 px, 124 KB)
Screenshot_20240513-183216.png (2×1 px, 114 KB)

@Pcoombe Great! Re the dark-mode issue: you might be using a slightly outdated APK. This has been resolved in the very latest.

I ran into an issue where the large amount error does not show/register for non USD currencies

@HNordeenWMF The maximums and minimums are defined by the fundraising API, and it looks like the API only defines a maximum for the USD currency:

currencyMinimumDonation: {
    USD: 1,
    CAD: 1.35,
    AUD: 1.45,
    NZD: 1.56,
    GBP: 0.81,
    EUR: 0.92,
    DKK: 6.88,
    HUF: 365,
    ILS: 3.4,
    INR: 10,
    JPY: 128,
    MYR: 4.31,
    NOK: 9.92,
    PLN: 4.36,
    CZK: 22,
    RON: 4.55,
    SEK: 10,
    UAH: 37,
    ZAR: 17,
    BRL: 5.19,
    ARS: 183,
    CLP: 825,
    COP: 4684,
    MXN: 19,
    PEN: 3.8,
    UYU: 39,
    CHF: 0.92
},
currencyMaximumDonation: {
    USD: 25000
},
Dbrant claimed this task.