microg / GmsCore

Free implementation of Play Services
https://microg.org
Apache License 2.0
7.8k stars 1.63k 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

mar-v-in commented 7 years ago

The service bound by com.google.android.gms.tapandpay.service.BIND is not yet implemented and likely required for Android Pay to work.

ShapeShifter499 commented 7 years ago

@mar-v-in Would this be hard to implement? Or even legal since this is a payment service?

ShapeShifter499 commented 7 years ago

@mar-v-in I use microG for a mix of security, privacy, and battery saving so I'd like to see support for Android Pay implemented. I've added $5 to a bounty

ShapeShifter499 commented 7 years ago

Any potential updates on this?

ShapeShifter499 commented 7 years ago

Added another $5 to this in hope someone can add support for this.

ShapeShifter499 commented 6 years ago

@mar-v-in any chance of Android Pay support ever being implemented?

ShapeShifter499 commented 6 years ago

Is this being ignored for some reason? Will this be hard to implement?

youcanaddthenameofyourorganizationlater commented 6 years ago

I too would like to see support for this.

ale5000-git commented 6 years ago

@ShapeShifter499: He is only one developer so if he work on one thing all others are ignored, development will be faster if there will be more contributors.

ShapeShifter499 commented 6 years ago

@ale5000-git I wish I knew more to help with the code but I barely know code at all, just simple scripts.

sjug commented 6 years ago

How do we add money to a bounty?

ale5000-git commented 6 years ago

To add money for this specific issue the link is this.

ShapeShifter499 commented 5 years ago

I bumped up the bounty to a total of $25

repomaa commented 5 years ago

Bumped to $50

jacen05 commented 5 years ago

Bumped to 100$. This feature would be very useful indeed.

c0d3x27 commented 5 years ago

i could try to help but to be honest i dont have an idea of what ya trying to get done here.

ShapeShifter499 commented 5 years ago

@Banginpadr @mar-v-in suggested that Google Pay might work if a few things were implemented in microG. It would be nice to have some control over what Google does with the device by installing microG but then allow some aspects to work like tap-to-pay with Google Pay.

It's likely your transactions are heavily tracked as it is. Some people, such as I, may not care if Google knows they brought groceries somewhere at sometime. Cash is the only way to go if you're really paranoid.

c0d3x27 commented 5 years ago

@Banginpadr @mar-v-in suggested that Google Pay might work if a few things were implemented in microG. It would be nice to have some control over what Google does with the device by installing microG but then allow some aspects to work like tap-to-pay with Google Pay.

It's likely your transactions are heavily tracked as it is. Some people, such as I, may not care if Google knows they brought groceries somewhere at sometime. Cash is the only way to go if you're really paranoid.

i guess you need to use api for that to work.

Axolord commented 4 years ago

This issue can't be fixed, because SafetyNet does not pass in more modern devices, if the bootloader is unlocked. Furthermore, SafetyNet itself is not passable in microG at the moment, like at all. Even the older devices (that do pass SafetyNet with unlocked booloader under Gapps) do not pass.

It is only a matter of time until SafetyNet won't be passable on every device with an unlocked bootloader. Source: https://www.xda-developers.com/magisk-no-longer-hide-bootloader-unlock-status/

So in my opinion it would be a waste of time to implement Android Pay, just to have it not working again in a year or less time - again.

correct me if I'm wrong, cheers

notpushkin commented 3 years ago

SafetyNet does not pass in more modern devices, if the bootloader is unlocked

Can't we simulate an older device instead? I know all the dance around SafetyNet is tricky and will continue to become even trickier over years, but still.

TheOneWithTheBraid commented 3 years ago

Well, isn't it possible to hide both unlocked bootloader and root using Magisk and the Riru EdXposed HiddenCore module? I tried so on Android 11. At least, using the proprietary GApps, Google Pay works this way. This should hence similarly work with proper microG implementations too.

CaramelFur commented 2 years ago

The new flutter based google pay app does not check for safetynet, it runs fine on another device I own with broken safetynet and normal google services. So it should be possible to make it work with microg.

notpushkin commented 2 years ago

Can confirm: just installed Google Pay on an old phone with GApps and Magisk, SafetyNet fails, but Google Pay seems to be happy with that. :eyes:

c0d3x27 commented 2 years ago

@notpushkin I have it on a root note 8 and is working

Kranzes commented 2 years ago

I am not sure that I am understanding this correctly. Let's say I have a device like one of the newer Redmi's from Xiaomi, with MicroG, Magisk (magisk hide), but without any GAPPS, Will I be able to use Google Pay with it? Now with the new flutter based Google Pay app.

TheLastGimbus commented 2 years ago

Hi there! My banking app (mBank, pl.mbank) recently added their own nfc payemnts (without google pay) - it looks like everything is going well, and the app even opens when I touch terminal with my phone (!!!) but then it fails

(I can provide more details later of course)

Would com.google.android.gms.tapandpay.service.BIND be hard to implement? Is it just some "launch X when Y intent received" or some more API logic etc? If I got some guidance, I could try...

notpushkin commented 2 years ago

I've recently tried a similar feature by Sberbank of Russia (ru.sberbankmobile), with a similar result (the app asks for device PIN confirmation, then crashes). I'll try to get more details next time I try it (I don't really use it for anything other than metro rides, and I don't want to experiment with a 5+ people queue behind me so it can take a while).

Kranzes commented 2 years ago

I have to add that I am using tap-and-pay (contact-less payment via NFC) using my bank's app (Leumi Bank). I also only have MicroG without any GAPPS, everything in the app works fine.

notpushkin commented 2 years ago

Some Belarus banks have dedicated apps that also work pretty well with tap and pay.

In Russia, we also have an app called Wallet (called Koshelek in Russian; not to be confused with Apple Wallet) which many different banks (in both 🇷🇺 and 🇧🇾, and they plan on expanding to 🇪🇺 next year I think) support in addition to Google Pay. Sadly, it doesn't seem work on my microG setup, but it might be interesting to explore.

Kranzes commented 2 years ago

Making Google Pay work with MicroG would be fantastic, though, I don't know if it will work because of SafetyNet.

CaramelFur commented 2 years ago

@Kranzes that is not a problem, I've already checked and the new flutter based google pay does not check for safetynet. The older one does tho, but that one is discontinued so it doesnt matter.

PylotLight commented 2 years ago

@rubikscraft I've tried the latest google play and it just spins on launch with a small white rectangle, are you saying you've gotten further than that?

CaramelFur commented 2 years ago

@PylotLight If you have a small white rectangle you have the old pay version (https://play.google.com/store/apps/details?id=com.google.android.apps.walletnfcrel). With the new version you should get dropped into a full screen app immediately: (https://play.google.com/store/apps/details?id=com.google.android.apps.nbu.paisa.user)

PylotLight commented 2 years ago

Looks like it may not be available in my country Australia for some reason. Also I don't have the play store. Grabbed from APKMirror, that one just freezes on splash screen with icon in the middle instead. Sigh ;p

CaramelFur commented 2 years ago

If you are using aurora store you should be able to open those links. You should also be able to change your google play country with it. Maybe you can get the new one that way. Or you could just download the apk from apkmirror: https://www.apkmirror.com/apk/google-inc/tez-a-new-payments-app-by-google/. Either way, region locks are stupid.

CaramelFur commented 2 years ago

Oh and in case you didnt realize, the new app only does not check for safetynet anymore. It still requires all the other pay intents that have not yet been implemented into microg. So if you are trying to get it working with microg, right now it wont work. But if you are trying to get it working on a device with gapps but a broken safetynet, the new app should fix it.

dumprop commented 2 years ago

Some Belarus banks have dedicated apps that also work pretty well with tap and pay.

In Russia, we also have an app called Wallet (called Koshelek in Russian; not to be confused with Apple Wallet) which many different banks (in both ru and belarus, and they plan on expanding to eu next year I think) support in addition to Google Pay. Sadly, it doesn't seem work on my microG setup, but it might be interesting to explore.

MIR Pay should work

dylangerdaly commented 2 years ago

I'd like to see this implemented, I'd prefer however if I could hand over my Google creds to GooglePay specifically, and not microG/all other Google apps I have installed.

I don't know if that's possible.

It looks like it's just task of reverse engineering GooglePay and re-implementing whatever it's calling from GMS into microG.

puuuuh commented 2 years ago

Some Belarus banks have dedicated apps that also work pretty well with tap and pay. In Russia, we also have an app called Wallet (called Koshelek in Russian; not to be confused with Apple Wallet) which many different banks (in both ru and belarus, and they plan on expanding to eu next year I think) support in addition to Google Pay. Sadly, it doesn't seem work on my microG setup, but it might be interesting to explore.

MIR Pay should work

It doesnt, because google sign-in not implemented yet:)

dumprop commented 2 years ago

Some Belarus banks have dedicated apps that also work pretty well with tap and pay. In Russia, we also have an app called Wallet (called Koshelek in Russian; not to be confused with Apple Wallet) which many different banks (in both ru and belarus, and they plan on expanding to eu next year I think) support in addition to Google Pay. Sadly, it doesn't seem work on my microG setup, but it might be interesting to explore.

MIR Pay should work

It doesnt, because google sign-in not implemented yet:)

Hm, maybe.. I'm not sure because maybe I had the original Google services in the sandbox

dumprop commented 2 years ago

Some Belarus banks have dedicated apps that also work pretty well with tap and pay. In Russia, we also have an app called Wallet (called Koshelek in Russian; not to be confused with Apple Wallet) which many different banks (in both ru and belarus, and they plan on expanding to eu next year I think) support in addition to Google Pay. Sadly, it doesn't seem work on my microG setup, but it might be interesting to explore.

MIR Pay should work

It doesnt, because google sign-in not implemented yet:)

A year ago, the mir pay did not require Google services. Now such a problem, yes

d-513 commented 2 years ago

@TheLastGimbus does mBank work now? I am considering installing microG but I need my bank app

TheLastGimbus commented 2 years ago

mBank, as is, works very well 💯

But Blik nfc doesn't :/ but blick through code - perfectly fine 👍

droserasprout commented 2 years ago

Thanks for your participation, guys! I suggest creating a GitHub Wiki page in this project to gather reports about the current status of various payment services with microG installed.

dylangerdaly commented 2 years ago

I think Google dropped the SafetyNet requirement for GooglePay, so it should be a little easier to suport it

Sent from ProtonMail mobile

-------- Original Message -------- On Apr 17, 2022, 10:39 PM, Lev Gorodetskiy wrote:

Thanks for your participation, guys! I suggest creating a GitHub Wiki page in this project to gather reports about the current status of various payment services with microG installed.

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you commented.Message ID: @.***>

marckrieger commented 2 years ago

I just passed SafetyNet with LineageOS 18.1 for MicroG and the GooglePay app still didn't work (inmediately crashes and a loading pop-up shows up).

CaramelFur commented 2 years ago

@marckrieger are you sure you are using the new flutter based google pay app? The loading pop-up you are talking about sounds more like the older version. The app id should be com.google.android.apps.nbu.paisa.user for the new version.

marckrieger commented 2 years ago

@rubikscraft you are right it wasn't the flutter version. I tried with this one too and it doesn't work either. It just gets stuck with the splash screen.

CaramelFur 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.

marckrieger commented 2 years ago

No, I am using MicroG, I know it's normal it doesn't work. I just wanted to share that GPay does not work with MicroG even with passing SafetyNet, in case it was not clear yet.