microg / GmsCore

Free implementation of Play Services
https://microg.org
Apache License 2.0
8.12k stars 1.69k forks source link

Android Pay Support #361

Open ShapeShifter499 opened 7 years ago

ShapeShifter499 commented 7 years ago

I'm trying to use Android Pay but it constantly crashes with the following error message. "Android Pay is unavailable. Android Pay isn't available" I know I pass SafetyNet because I'm able to play Pokemon Go without issue. Is it possible to add in support for Android Pay?

I've taken a logcat during the crash. android_pay_logcat.txt [Removed for privacy]

System Moto X Pure LineageOS 14.1 Magisk 12 microG 0.2.4-81-gb1e98ea

MagicRB commented 2 years ago

@marckrieger Hmm, weird, but since you passed saftenet I suppose it checks for some other things. You are running normal Google play services right? Since right now Google Pay does not work with microg.

Micro is missing APIs which google pay relies on and assumes are present. No need to check, since it's not supposed to be installed on a non-Googled device.

MagicRB commented 2 years ago

Micro is missing APIs which google pay relies on and assumes are present. No need to check, since it's not supposed to be installed on a non-Googled device.

Id really love to know why my comment was marked outdated, if what I said is incorrect I apologize and feel free to correct. But just marking as outdated is lame.

steewbsd commented 2 years ago

I'd also like to see if someone could take a look at this. Shame it has been halted.

tslpre commented 1 year ago

And by the way, if one cannot use the flutter version of the Google Pay (com.google.android.apps.nbu.paisa.user), like me, as it does not covers Spain, then you have to install the old one, and it gets stuck at a little white rectangle when loading it.

notpushkin commented 1 year ago

Let's raise the bar a bit. I'm not really comfortable with using Bountysource for this, but if anybody wanna work on bringing this in after all these years, I can chip in another $285 $500 in addition to that. Only if it works on my device though :^)

UPD (2023): bumped the amount a little bit

ustas-eth commented 1 year ago

Let's dig up this old thread :) Now that SafetyNet is easily passable (and it seems not required to run Android Pay), I tried to install the app, and it sent me to the Microg's Google login page. After, I tried to open the app once again, but the API of Microg seemed to miss something:

Screenshot_20230703-085810_microG Services Core

notpushkin commented 1 year ago

@ustas-eth

Now that SafetyNet is easily passable

I might have missed something but this sounds like a pretty bold claim to me. Care to share any details on what changed?

ustas-eth commented 1 year ago

@ustas-eth

Now that SafetyNet is easily passable

I might have missed something but this sounds like a pretty bold claim to me. Care to share any details on what changed?

Sure! Actually, nothing changed. The only things needed are root, Magisk, and the latest version of modded Universal SafetyNet Fix by @kdrag0n and Displax https://forum.xda-developers.com/t/module-mod-universal-safetynet-fix.4553699/

I did it and passed today, so now I'm looking on how to run Google Pay because at the moment I use Fitbit Pay for contactless payments which doesn't support many major cards.

notpushkin commented 1 year ago

I see, thank you!

Slightly off-topic... > Ideally, this workaround should be incorporated in custom ROMs instead of injecting code with a Magisk module. \ > _– https://github.com/Displax/safetynet-fix/tree/dev#rom-integration_ I wonder if this might be a good patch to include in [LineageOS for microG](https://lineage.microg.org/) 🤔
RokeJulianLockhart commented 1 year ago

@ustas-eth, I believe that SafetyNet remains necessary to use Pay, because I run my phone vendor's stock ROM with merely an unlocked bootloader, and yet can't use Pay.

KCGD commented 1 year ago

I've managed to get somewhat far into google pay with my current setup. I was able to select an account and enter my phone number, but I always get met with the "this device cannot run google pay" error message. I'm current passing all safetynet checks consistently. I'm running LineageOS 20 (Android 13) 20-20230822-NIGHTLY-lemonadep on a OnePlus 9 Pro. Here's a full report of all of the frameworks, modules and testing apps i have installed, as well as their configurations:

I've set up some spoofing / app hiding apps to help pass other security checks

Here's the apps I use to test my root hiding / test the security I have set up:

All tests were run with Amarok's app hiding on, and all the listed modules enabled. Note: google pay will show a white screen unless running off of a fresh install of the app.

ustas-eth commented 10 months ago

Good day, everyone! Let me remind, this issue is still very much alive

invaliddayta commented 10 months ago

I'd like to support this but the bounty link does not seem to be valid anymore

LeVraiRoiDHyrule commented 10 months ago

I would be very interested in any progression made on this, it probably is one of the biggest challenges for microg

Iey4iej3 commented 8 months ago

There was some progress: https://github.com/microg/GmsCore/commit/91e830b102b8a46d296c9f338ab46cfc8522b95f

KCGD commented 8 months ago

There was some progress: 91e830b

Yay!! It looks like they're laying the groundwork for pay support. It isn't close to functional yet though.

Revyrun607 commented 7 months ago

Any way we can still add money to the bounty thing? I'd really appreciate this being available HW devices

notpushkin commented 7 months ago

I'm afraid Bountysource has scammed everybody: https://github.com/bountysource/core/issues/1539

My $500 offer still stands though :-)

ignisf commented 7 months ago

Guys, would you genuinely risk something automatically flagging your Google account for fraud because of using payments without Google's blessing?

I mean, the rest of microg they may be OK with ignoring... However when payments are concerned, there might be risk of outside regulators having an issue with Google, which I expect would warrant a swift reaction.

And while microg may not be affected by direct legal action or could be protected by interoperability clauses, if Google bans all microg users that dare to use payments and word goes out, that's it with the project...

KCGD commented 7 months ago

Personally, I don't think this would be an issue. All payments would still go through Google and be appropriately charged to whatever account they're linked to. MicroG's implementation will allow Google pay to work as intended.

I don't believe any sort of fraud would be possible either, as Googles servers would still need to process and approve this request before any charges are made.

What I'm trying to say is that MicroG's implementation would not undercut or circumvent google pays's security. It will do exactly what play services would do and allow the app to function normally.

Also, even if payment does not work for some reason, Google pay is still used for other things like nfc based ID cards, which would also be awesome to have work.

If microG runs into legal trouble down the road, we can revert pay support and be back where we are now, but I'd say it's worth a shot.

CutestNekoAqua commented 6 months ago

How can we contribute to this? I'd like to help where I can, cause this is the only thing which will make me need to switch back to normal google services for the time being, cause I need google pay :p

Might also be interesting for other people looking to help, so just pop some info here if you have it ;)

Kaydax commented 4 months ago

I opened up a new bounty for this issue if anyone is interested in helping fund this: https://gitpay.me/#/task/797

rugk commented 4 months ago

@Kaydax Yet on another platform that may inevitable scam you? (or be bought etc.) After the bountysource issue, I am not sure people will built trust in such platforms again.

alexanmtz commented 4 months ago

@rugk @Kaydax I'm a maintainer of Gitpay, which is entirely Open Source, and I've been supporting the project for more than six years. I can assure you we are not a scam, and we're not under any big company umbrella to dictate our direction; it is made by developers for developers, helping developers receive bounties across the globe, and we do not retain the funds who merge A PR to this issue can claim the bounty from your payments.

I would love to have you on board, and any feedback is very welcomed 🙏

knocte commented 2 months ago

I opened up a new bounty for this issue if anyone is interested in helping fund this: https://gitpay.me/#/task/797

Hey @Kaydax did you add any amount to it? It looks empty. With regards to funding options, I'm very sad about BountySource's rugpull, but happy that there are still offers here from some comments, such as @notpushkin's. As for me, I'd be willing to contribute money too, but only with crypto. To this end, I think the platform that may take BountySource/Gitcoin's baton might be SphinxBounties system: https://community.sphinx.chat/bounties But I haven't tested it yet (I don't see that GitPay supports crypto btw, that's why I'm discarding it as an idea)

With regards to this issue itself, I guess its title should be renamed? AndroidPay was the name of Google's Android's option to pay, but that changed to GooglePay as far as I understand, and these days it's Google Wallet actually.

In fact, to share my 2 sats, I bought a Murena phone recently (hardware: Fairphone5) that has e/OS 2.0 pre-installed (in particular, 2.0-t-20240506399547-stable-FP5) and this was the result when trying to run GoogleWallet:

My microG version is: 0.3.1.240913-10 (0ade9a9)

Regards to all, especially opensource supporters&contributors.

CutestNekoAqua commented 2 months ago

Anything we can help to get this to work?

knocte commented 2 months ago

Anything we can help to get this to work?

Hi @CutestNekoAqua: no idea, I'm a dev but not Android dev. From what I can see, there's a new linked issue to this issue: https://github.com/microg/GmsCore/issues/2086 where someone claims that their microG version is not new enough. I myself have checked in my phone (e/OS 2.1-t-xyz) and I have a version that is too old as well (0.3.1.x). Apparently 0.3.2.y may improve things. Are you able to test on your end and try to upgrade to that microG version?

Iey4iej3 commented 2 months ago

The MicroG (0.3.2.240913) that I installed does not seem to have anything working about Google Pay as well.

knocte commented 2 months ago

@Iey4iej3 please report that in #2086

nociza commented 2 months ago

Mostly wondering if this will support for hw pay as well? Microg is already a godsend for making hw's useable right now

knocte commented 2 months ago

Mostly wondering if this will support for hw pay as well? Microg is already a godsend for making hw's useable right now

Excuse me, what does 'hw' mean exactly?

notpushkin commented 2 months ago

Excuse me, what does 'hw' mean exactly?

Huawei, perhaps?

LeVraiRoiDHyrule commented 2 months ago

Hi, I guess that Google Pay/Wallet is the final boss of microG's journey, and that it will probably take a lot of time before someone has the ressources and time to invest in this.

While we wait, I wonder if there would be a way to have google pay on a microG phone by having a containerized version of the official Google Play Services. Would there be a way to have a container / virtual machine or similar, on the phone, that would contain only Google Wallet and official Google Play Services ? That way, maybe we could limit Play Services tracking while allowing to use Google Wallet.

Is there such thing as a containerized Play Services that could be installed along microG ?

Thanks in advance for any answer.

Weissnix4711 commented 2 months ago

Hi, I guess that Google Pay/Wallet is the final boss of microG's journey, and that it will probably take a lot of time before someone has the ressources and time to invest in this.

While we wait, I wonder if there would be a way to have google pay on a microG phone by having a containerized version of the official Google Play Services. Would there be a way to have a container / virtual machine or similar, on the phone, that would contain only Google Wallet and official Google Play Services ? That way, maybe we could limit Play Services tracking while allowing to use Google Wallet.

Is there such thing as a containerized Play Services that could be installed along microG ?

Thanks in advance for any answer.

GrapheneOS does this, though I've never tried it because I don't have a supported device. I don't think any other ROM does a similar thing.

notpushkin commented 2 months ago

DivestOS used to do this for both Google Play and microG, although nowadays I think they support microG only.

Offtop rant I'm using this now and while it's neat and secure, it doesn't support UnifiedNlp at all for political reasons (“The primary reason for not supporting network location providers is that they effectively divulge your location to third-parties (eg. Google/Qualcomm/Apple/Mozilla) every time they are used”). Then again, they are working on [an UnifiedNlp backend](https://codeberg.org/divested-mobile/wlanbackend), too, so maybe that won't always be the case.
yangyang628 commented 1 month ago

Is there any new progress on how to use Google Wallet?

znbaboy commented 1 month ago

hopefully this is solved soon. this is the only thing holding me back from switching to MicroG permanently

robog-two commented 1 month ago

Even if it's not possible to get say, debit cards to work, due to the restrictions on SafetyNet. I would appreciate if it were possible to get loyalty cards (A great example would be a CVS card) or other passes that are just a number & barcode. I don't expect 100% compatibility with normal play services, but I think the basic framework/UI for the card system would be really nice.

brennoflavio commented 1 month ago

Even if it's not possible to get say, debit cards to work, due to the restrictions on SafetyNet. I would appreciate if it were possible to get loyalty cards (A great example would be a CVS card) or other passes that are just a number & barcode. I don't expect 100% compatibility with normal play services, but I think the basic framework/UI for the card system would be really nice.

Have you tried Catima? Its a free app that should cover this use case