braintree / braintree_android

Braintree SDK for Android
https://developer.paypal.com/braintree/docs/start/hello-client/android/v4
MIT License
403 stars 231 forks source link

com.paypal.android.sdk:data-collector not compliant with Play store policy due to device location collection #931

Closed costafotjet closed 1 month ago

costafotjet commented 6 months ago

Braintree SDK Version

3.21.1

Environment

Production

Android Version & Device

No response

Braintree dependencies

com.braintreepayments.api:braintree:3.21.1

Describe the bug

We recently updated from 3.14.0 to 3.21.1. This might look similar to others, but the messaging is different from Google, I guess due to having used 3.14.0 for so long.

Violation User Data policy: Violation of User Data, Permissions and APIs that Access Sensitive Information Policies Details We have observed that your app is using an SDK that is designed to collect device location by default. This SDK can result in your app violating the prominent disclosure and consent and/or approved purpose requirements of Google Play’s User Data and Permissions and APIs that Access Sensitive Information policies. You are hereby requested to provide evidence of your compliance with the Prominent Disclosure and Consent requirements. Your app submissions will be rejected pending your action.

How to fix

Paypal Data Collector com.paypal.android.sdk:data-collector: Consider upgrading to version com.braintreepayments.api:data-collector:3.21.0 of the SDK.

The messaging in https://github.com/braintree/braintree_android/issues/783 is about persistent device identifiers, which is not the case here.

We previously dismissed this issue, after reading up on similar issues here, by upgrading from 3.14.0 to 3.21.1.

We also updated all unused tracks, apks by uploading new builds that only include com.braintreepayments.api:braintree:3.21.1.

The warning from Google is still there, referencing old builds that have been replaced in all tracks, and the deadline is moving closer. When we appealed, we were told the latest release, that definitely includes 3.21.1, is not compliant, which does not make sense.

Maybe Google is at fault here for not removing the warning yet? Looking at the diff here, the location lookup is removed between 3.14.0 and 3.21.1 - https://github.com/braintree/braintree_android/compare/3.14.0...3.21.1.

Can you confirm that 3.21.1 does not collect anything related to location?

Upgrading to v4+ is a major piece of work that is not feasible in a few days.

To reproduce

Release an app to the Play store using com.braintreepayments.api:braintree:3.21.1

Expected behavior

The app is not flagged by Google.

Screenshots

image

antonioperez commented 5 months ago

Any other updates on getting 3.2.1 approved?

Nope. Tried com.braintreepayments.api:drop-in:5.4.2 and com.braintreepayments.api:drop-in:5.4.0. Same rejection.

sarahkoop commented 5 months ago

Issue Update

Our teams are actively working with Google and investigating internally to resolve this issue and provide an updated version of the SDK. We have identified that the root cause of this violation is due to user location data access for fraud prevention purposes within an internal library. See Google’s best practices for additional information.

Upgrade to v4

Version 3 of the Braintree Android SDK has been unsupported since June 2023, and we are not able to provide any updates to this version of the SDK. This fix will only be available for versions 4 and later when available. We encourage you to begin the process to upgrade to v4 of the Braintree Android SDK to be able to include the version of the SDK that includes this fix when available.

Play Store Extension/Appeal

In the meantime, please file an appeal with the Play Store and request an extension to allow time to upgrade and for this fix to be released. These extensions may be allowed for 30-60 days. In the appeal please include that you are requesting an extension while a fix in the underlying Braintree/PayPal SDK with location access is being developed. If location is expected to be gathered based on the function of your app (ex: travel), please include that information in the appeal. After submitting the appeal, please reach out to Braintree Support with the package ID of your appeal request.

nrferreira commented 5 months ago

Hi, the upgrade of Android SDK to v4, requires any server-side updates? Because, in my case, the server-side was implemented by another company and I don't know if they could accomodate the upgrade.

Our current dependencies:

paypal-dependencies

Thanks

sshropshire commented 5 months ago

Hi @nrferreira can you share a code snippet of your v3 data collector integration?

nrferreira commented 5 months ago

Hi @sshropshire, we don't have any code for data collector. We just declare this dependency:

implementation 'com.braintreepayments.api:braintree:3.21.1'

So, data-collector (and the others) are additional sub-dependencies that we don’t explicitly declare.

sshropshire commented 5 months ago

@nrferreira ok thanks. Your app's integration shouldn't require any server-side changes then. Have a look at our MIGRATION_GUIDE.md and the official docs site for details on upgrading to v4.

andyNroses commented 5 months ago

Hello @sarahkoop,

Thank you for the update. Can I ask when do you estimate this fix could be released?

gfalasca commented 4 months ago

Hi @sarahkoop, thanks for the info. For us the integration of the v4 has major impacts, any updates on the v3 fix availability?

olessavluk commented 4 months ago

I've tried version 4.44.0 - it got rejected by google. Updated again all tracks to use 4.45.0 and just got another rejection today.

As I understand there is no working solution at the moment? So the only way to unblock releases is to remove this SDK completely?

sarahkoop commented 4 months ago

Hi all - Thanks for your patience while we worked to resolve this issue!

Fix Versions

This fix has been released in Braintree Android 4.45.0 and Braintree Android Drop In 6.16.0.

Unsupported Versions

Version 3 of the Braintree Android SDK and version 5 of the Braintree Android Drop In SDK are unsupported, and we will not be able to update those versions - please upgrade to a supported version of the SDK for this fix.

Documentation

We are in the process of updating our developer documentation with the changes, but you can find the additional parameters added in the CHANGELOG.

Changes

A new hasUserLocationConsent parameter has been added to applicable request objects throughout the SDK.

Merchant applications are responsible for collecting user data consent. If your app has obtained consent from the user to collect location data in compliance with Google Play Developer Program policies, set hasUserLocationConsent to true. This flag enables PayPal to collect necessary information required for Fraud Detection and Risk Management.

Next Steps

Please update to the latest version of the SDK and update your integration to pass hasUserLocationConsent where available. Make sure you have updated ALL versions of your app, package, or build before re-releasing to the Play Store. If you continue to experience this issue, please include a screenshot of the rejection email from Google including the flagged library in your comment.

olessavluk commented 4 months ago

So is it mandatory now to ask for consent manually and pass hasUserLocationConsent: true in order for google to approve an app?

We upgraded to 4.45.0 without changing how SDK was executed and got same rejection as before:

Google Play letter

![image](https://github.com/braintree/braintree_android/assets/1577804/da5ff7c5-da46-4d47-8421-9d62672ed70f)

`./gradlew app:dependencies | grep -e paypal -e braintree -e cardinal`

``` > Configure project :ekreative_react-native-braintree +--- project :ekreative_react-native-braintree +--- project :ekreative_react-native-braintree | +--- com.braintreepayments.api:data-collector:4.45.0 | | +--- com.braintreepayments.api:braintree-core:4.45.0 | | | +--- com.braintreepayments.api:browser-switch:2.6.1 | | | +--- com.braintreepayments.api:shared-utils:4.45.0 | | \--- com.braintreepayments.api:paypal-data-collector:4.45.0 | | +--- com.braintreepayments.api:braintree-core:4.45.0 (*) | +--- com.braintreepayments.api:google-pay:4.45.0 | | +--- com.braintreepayments.api:braintree-core:4.45.0 (*) | | +--- com.braintreepayments.api:paypal:4.45.0 | | | +--- com.braintreepayments.api:braintree-core:4.45.0 (*) | | | \--- com.braintreepayments.api:paypal-data-collector:4.45.0 (*) | | +--- com.braintreepayments.api:card:4.45.0 | | | +--- com.braintreepayments.api:braintree-core:4.45.0 (*) | +--- com.braintreepayments.api:paypal:4.45.0 (*) | +--- com.braintreepayments.api:three-d-secure:4.45.0 | | +--- com.braintreepayments.api:braintree-core:4.45.0 (*) | | +--- com.braintreepayments.api:card:4.45.0 (*) | | +--- org.jfrog.cardinalcommerce.gradle:cardinalmobilesdk:2.2.7-5 | \--- com.braintreepayments.api:card:4.45.0 (*) +--- project :ekreative_react-native-braintree +--- project :ekreative_react-native-braintree | +--- com.braintreepayments.api:data-collector:4.45.0 | | +--- com.braintreepayments.api:braintree-core:4.45.0 | | | +--- com.braintreepayments.api:browser-switch:2.6.1 | | | +--- com.braintreepayments.api:shared-utils:4.45.0 | | \--- com.braintreepayments.api:paypal-data-collector:4.45.0 | | +--- com.braintreepayments.api:braintree-core:4.45.0 (*) | +--- com.braintreepayments.api:google-pay:4.45.0 | | +--- com.braintreepayments.api:braintree-core:4.45.0 (*) | | +--- com.braintreepayments.api:paypal:4.45.0 | | | +--- com.braintreepayments.api:braintree-core:4.45.0 (*) | | | \--- com.braintreepayments.api:paypal-data-collector:4.45.0 (*) | | +--- com.braintreepayments.api:card:4.45.0 | | | +--- com.braintreepayments.api:braintree-core:4.45.0 (*) | +--- com.braintreepayments.api:paypal:4.45.0 (*) | +--- com.braintreepayments.api:three-d-secure:4.45.0 | | +--- com.braintreepayments.api:braintree-core:4.45.0 (*) | | +--- com.braintreepayments.api:card:4.45.0 (*) | | +--- org.jfrog.cardinalcommerce.gradle:cardinalmobilesdk:2.2.7-5 | \--- com.braintreepayments.api:card:4.45.0 (*) +--- project :ekreative_react-native-braintree +--- project :ekreative_react-native-braintree +--- project :ekreative_react-native-braintree | +--- com.braintreepayments.api:data-collector:4.45.0 | | +--- com.braintreepayments.api:braintree-core:4.45.0 | | | +--- com.braintreepayments.api:browser-switch:2.6.1 | | | +--- com.braintreepayments.api:shared-utils:4.45.0 | | \--- com.braintreepayments.api:paypal-data-collector:4.45.0 | | +--- com.braintreepayments.api:braintree-core:4.45.0 (*) | +--- com.braintreepayments.api:google-pay:4.45.0 | | +--- com.braintreepayments.api:braintree-core:4.45.0 (*) | | +--- com.braintreepayments.api:paypal:4.45.0 | | | +--- com.braintreepayments.api:braintree-core:4.45.0 (*) | | | \--- com.braintreepayments.api:paypal-data-collector:4.45.0 (*) | | +--- com.braintreepayments.api:card:4.45.0 | | | +--- com.braintreepayments.api:braintree-core:4.45.0 (*) | +--- com.braintreepayments.api:paypal:4.45.0 (*) | +--- com.braintreepayments.api:three-d-secure:4.45.0 | | +--- com.braintreepayments.api:braintree-core:4.45.0 (*) | | +--- com.braintreepayments.api:card:4.45.0 (*) | | +--- org.jfrog.cardinalcommerce.gradle:cardinalmobilesdk:2.2.7-5 | \--- com.braintreepayments.api:card:4.45.0 (*) +--- project :ekreative_react-native-braintree +--- project :ekreative_react-native-braintree | +--- com.braintreepayments.api:data-collector:4.45.0 | | +--- com.braintreepayments.api:braintree-core:4.45.0 | | | +--- com.braintreepayments.api:browser-switch:2.6.1 | | | +--- com.braintreepayments.api:shared-utils:4.45.0 | | \--- com.braintreepayments.api:paypal-data-collector:4.45.0 | | +--- com.braintreepayments.api:braintree-core:4.45.0 (*) | +--- com.braintreepayments.api:google-pay:4.45.0 | | +--- com.braintreepayments.api:braintree-core:4.45.0 (*) | | +--- com.braintreepayments.api:paypal:4.45.0 | | | +--- com.braintreepayments.api:braintree-core:4.45.0 (*) | | | \--- com.braintreepayments.api:paypal-data-collector:4.45.0 (*) | | +--- com.braintreepayments.api:card:4.45.0 | | | +--- com.braintreepayments.api:braintree-core:4.45.0 (*) | +--- com.braintreepayments.api:paypal:4.45.0 (*) | +--- com.braintreepayments.api:three-d-secure:4.45.0 | | +--- com.braintreepayments.api:braintree-core:4.45.0 (*) | | +--- com.braintreepayments.api:card:4.45.0 (*) | | +--- org.jfrog.cardinalcommerce.gradle:cardinalmobilesdk:2.2.7-5 | \--- com.braintreepayments.api:card:4.45.0 (*) +--- project :ekreative_react-native-braintree +--- project :ekreative_react-native-braintree | +--- com.braintreepayments.api:data-collector:4.45.0 | | +--- com.braintreepayments.api:braintree-core:4.45.0 | | | +--- com.braintreepayments.api:browser-switch:2.6.1 | | | +--- com.braintreepayments.api:shared-utils:4.45.0 | | \--- com.braintreepayments.api:paypal-data-collector:4.45.0 | | +--- com.braintreepayments.api:braintree-core:4.45.0 (*) | +--- com.braintreepayments.api:google-pay:4.45.0 | | +--- com.braintreepayments.api:braintree-core:4.45.0 (*) | | +--- com.braintreepayments.api:paypal:4.45.0 | | | +--- com.braintreepayments.api:braintree-core:4.45.0 (*) | | | \--- com.braintreepayments.api:paypal-data-collector:4.45.0 (*) | | +--- com.braintreepayments.api:card:4.45.0 | | | +--- com.braintreepayments.api:braintree-core:4.45.0 (*) | +--- com.braintreepayments.api:paypal:4.45.0 (*) | +--- com.braintreepayments.api:three-d-secure:4.45.0 | | +--- com.braintreepayments.api:braintree-core:4.45.0 (*) | | +--- com.braintreepayments.api:card:4.45.0 (*) | | +--- org.jfrog.cardinalcommerce.gradle:cardinalmobilesdk:2.2.7-5 | \--- com.braintreepayments.api:card:4.45.0 (*) +--- project :ekreative_react-native-braintree +--- project :ekreative_react-native-braintree | +--- com.braintreepayments.api:data-collector:4.45.0 | | +--- com.braintreepayments.api:braintree-core:4.45.0 | | | +--- com.braintreepayments.api:browser-switch:2.6.1 | | | +--- com.braintreepayments.api:shared-utils:4.45.0 | | \--- com.braintreepayments.api:paypal-data-collector:4.45.0 | | +--- com.braintreepayments.api:braintree-core:4.45.0 (*) | +--- com.braintreepayments.api:google-pay:4.45.0 | | +--- com.braintreepayments.api:braintree-core:4.45.0 (*) | | +--- com.braintreepayments.api:paypal:4.45.0 | | | +--- com.braintreepayments.api:braintree-core:4.45.0 (*) | | | \--- com.braintreepayments.api:paypal-data-collector:4.45.0 (*) | | +--- com.braintreepayments.api:card:4.45.0 | | | +--- com.braintreepayments.api:braintree-core:4.45.0 (*) | +--- com.braintreepayments.api:paypal:4.45.0 (*) | +--- com.braintreepayments.api:three-d-secure:4.45.0 | | +--- com.braintreepayments.api:braintree-core:4.45.0 (*) | | +--- com.braintreepayments.api:card:4.45.0 (*) | | +--- org.jfrog.cardinalcommerce.gradle:cardinalmobilesdk:2.2.7-5 | \--- com.braintreepayments.api:card:4.45.0 (*) +--- project :ekreative_react-native-braintree +--- project :ekreative_react-native-braintree | +--- com.braintreepayments.api:data-collector:4.45.0 | | +--- com.braintreepayments.api:braintree-core:4.45.0 | | | +--- com.braintreepayments.api:browser-switch:2.6.1 | | | +--- com.braintreepayments.api:shared-utils:4.45.0 | | \--- com.braintreepayments.api:paypal-data-collector:4.45.0 | | +--- com.braintreepayments.api:braintree-core:4.45.0 (*) | +--- com.braintreepayments.api:google-pay:4.45.0 | | +--- com.braintreepayments.api:braintree-core:4.45.0 (*) | | +--- com.braintreepayments.api:paypal:4.45.0 | | | +--- com.braintreepayments.api:braintree-core:4.45.0 (*) | | | \--- com.braintreepayments.api:paypal-data-collector:4.45.0 (*) | | +--- com.braintreepayments.api:card:4.45.0 | | | +--- com.braintreepayments.api:braintree-core:4.45.0 (*) | +--- com.braintreepayments.api:paypal:4.45.0 (*) | +--- com.braintreepayments.api:three-d-secure:4.45.0 | | +--- com.braintreepayments.api:braintree-core:4.45.0 (*) | | +--- com.braintreepayments.api:card:4.45.0 (*) | | +--- org.jfrog.cardinalcommerce.gradle:cardinalmobilesdk:2.2.7-5 | \--- com.braintreepayments.api:card:4.45.0 (*) +--- project :ekreative_react-native-braintree +--- project :ekreative_react-native-braintree | +--- com.braintreepayments.api:data-collector:4.45.0 | | +--- com.braintreepayments.api:braintree-core:4.45.0 | | | +--- com.braintreepayments.api:browser-switch:2.6.1 | | | +--- com.braintreepayments.api:shared-utils:4.45.0 | | \--- com.braintreepayments.api:paypal-data-collector:4.45.0 | | +--- com.braintreepayments.api:braintree-core:4.45.0 (*) | +--- com.braintreepayments.api:google-pay:4.45.0 | | +--- com.braintreepayments.api:braintree-core:4.45.0 (*) | | +--- com.braintreepayments.api:paypal:4.45.0 | | | +--- com.braintreepayments.api:braintree-core:4.45.0 (*) | | | \--- com.braintreepayments.api:paypal-data-collector:4.45.0 (*) | | +--- com.braintreepayments.api:card:4.45.0 | | | +--- com.braintreepayments.api:braintree-core:4.45.0 (*) | +--- com.braintreepayments.api:paypal:4.45.0 (*) | +--- com.braintreepayments.api:three-d-secure:4.45.0 | | +--- com.braintreepayments.api:braintree-core:4.45.0 (*) | | +--- com.braintreepayments.api:card:4.45.0 (*) | | +--- org.jfrog.cardinalcommerce.gradle:cardinalmobilesdk:2.2.7-5 | \--- com.braintreepayments.api:card:4.45.0 (*) +--- project :ekreative_react-native-braintree +--- project :ekreative_react-native-braintree +--- project :ekreative_react-native-braintree | +--- com.braintreepayments.api:data-collector:4.45.0 | | +--- com.braintreepayments.api:braintree-core:4.45.0 | | | +--- com.braintreepayments.api:browser-switch:2.6.1 | | | +--- com.braintreepayments.api:shared-utils:4.45.0 | | \--- com.braintreepayments.api:paypal-data-collector:4.45.0 | | +--- com.braintreepayments.api:braintree-core:4.45.0 (*) | +--- com.braintreepayments.api:google-pay:4.45.0 | | +--- com.braintreepayments.api:braintree-core:4.45.0 (*) | | +--- com.braintreepayments.api:paypal:4.45.0 | | | +--- com.braintreepayments.api:braintree-core:4.45.0 (*) | | | \--- com.braintreepayments.api:paypal-data-collector:4.45.0 (*) | | +--- com.braintreepayments.api:card:4.45.0 | | | +--- com.braintreepayments.api:braintree-core:4.45.0 (*) | +--- com.braintreepayments.api:paypal:4.45.0 (*) | +--- com.braintreepayments.api:three-d-secure:4.45.0 | | +--- com.braintreepayments.api:braintree-core:4.45.0 (*) | | +--- com.braintreepayments.api:card:4.45.0 (*) | | +--- org.jfrog.cardinalcommerce.gradle:cardinalmobilesdk:2.2.7-5 | \--- com.braintreepayments.api:card:4.45.0 (*) +--- project :ekreative_react-native-braintree +--- project :ekreative_react-native-braintree | +--- com.braintreepayments.api:data-collector:4.45.0 | | +--- com.braintreepayments.api:braintree-core:4.45.0 | | | +--- com.braintreepayments.api:browser-switch:2.6.1 | | | +--- com.braintreepayments.api:shared-utils:4.45.0 | | \--- com.braintreepayments.api:paypal-data-collector:4.45.0 | | +--- com.braintreepayments.api:braintree-core:4.45.0 (*) | +--- com.braintreepayments.api:google-pay:4.45.0 | | +--- com.braintreepayments.api:braintree-core:4.45.0 (*) | | +--- com.braintreepayments.api:paypal:4.45.0 | | | +--- com.braintreepayments.api:braintree-core:4.45.0 (*) | | | \--- com.braintreepayments.api:paypal-data-collector:4.45.0 (*) | | +--- com.braintreepayments.api:card:4.45.0 | | | +--- com.braintreepayments.api:braintree-core:4.45.0 (*) | +--- com.braintreepayments.api:paypal:4.45.0 (*) | +--- com.braintreepayments.api:three-d-secure:4.45.0 | | +--- com.braintreepayments.api:braintree-core:4.45.0 (*) | | +--- com.braintreepayments.api:card:4.45.0 (*) | | +--- org.jfrog.cardinalcommerce.gradle:cardinalmobilesdk:2.2.7-5 | \--- com.braintreepayments.api:card:4.45.0 (*) +--- project :ekreative_react-native-braintree +--- project :ekreative_react-native-braintree | +--- com.braintreepayments.api:data-collector:4.45.0 | | +--- com.braintreepayments.api:braintree-core:4.45.0 | | | +--- com.braintreepayments.api:browser-switch:2.6.1 | | | +--- com.braintreepayments.api:shared-utils:4.45.0 | | \--- com.braintreepayments.api:paypal-data-collector:4.45.0 | | +--- com.braintreepayments.api:braintree-core:4.45.0 (*) | +--- com.braintreepayments.api:google-pay:4.45.0 | | +--- com.braintreepayments.api:braintree-core:4.45.0 (*) | | +--- com.braintreepayments.api:paypal:4.45.0 | | | +--- com.braintreepayments.api:braintree-core:4.45.0 (*) | | | \--- com.braintreepayments.api:paypal-data-collector:4.45.0 (*) | | +--- com.braintreepayments.api:card:4.45.0 | | | +--- com.braintreepayments.api:braintree-core:4.45.0 (*) | +--- com.braintreepayments.api:paypal:4.45.0 (*) | +--- com.braintreepayments.api:three-d-secure:4.45.0 | | +--- com.braintreepayments.api:braintree-core:4.45.0 (*) | | +--- com.braintreepayments.api:card:4.45.0 (*) | | +--- org.jfrog.cardinalcommerce.gradle:cardinalmobilesdk:2.2.7-5 | \--- com.braintreepayments.api:card:4.45.0 (*) +--- project :ekreative_react-native-braintree +--- project :ekreative_react-native-braintree | +--- com.braintreepayments.api:data-collector:4.45.0 | | +--- com.braintreepayments.api:braintree-core:4.45.0 | | | +--- com.braintreepayments.api:browser-switch:2.6.1 | | | +--- com.braintreepayments.api:shared-utils:4.45.0 | | \--- com.braintreepayments.api:paypal-data-collector:4.45.0 | | +--- com.braintreepayments.api:braintree-core:4.45.0 (*) | +--- com.braintreepayments.api:google-pay:4.45.0 | | +--- com.braintreepayments.api:braintree-core:4.45.0 (*) | | +--- com.braintreepayments.api:paypal:4.45.0 | | | +--- com.braintreepayments.api:braintree-core:4.45.0 (*) | | | \--- com.braintreepayments.api:paypal-data-collector:4.45.0 (*) | | +--- com.braintreepayments.api:card:4.45.0 | | | +--- com.braintreepayments.api:braintree-core:4.45.0 (*) | +--- com.braintreepayments.api:paypal:4.45.0 (*) | +--- com.braintreepayments.api:three-d-secure:4.45.0 | | +--- com.braintreepayments.api:braintree-core:4.45.0 (*) | | +--- com.braintreepayments.api:card:4.45.0 (*) | | +--- org.jfrog.cardinalcommerce.gradle:cardinalmobilesdk:2.2.7-5 | \--- com.braintreepayments.api:card:4.45.0 (*) +--- project ekreative_react-native-braintree (n) ```

sarahkoop commented 4 months ago

@olessavluk The version of data collector (3.21.0) included in the email from Google is from the previous Braintree SDK version - so this looks like there are still tracks or versions of your app that have not been fully updated. The below steps may help to fully update your app with the latest version:

Screenshot 2024-04-24 at 10 12 42 AM

olessavluk commented 4 months ago

Thanks, we got approved now 🎉 Apparently sercet was in setting roll out to 100% and not less 🤦

lth159856 commented 4 months ago

@sarahkoop thank you for providing the updates while we have the same issue when updating braintree SDK. We are doing an e-shop App. Now, our app dev says there will be a location permission popup to ask the user to 'Allow App to access location'. What if the user clicks 'Deny' then the SDK would never launch which means the user cannot pay. Is it how it works?

I mean as a user experience point of view by adding a location permission popup is weird before payment. And is there any way to bypass collecting user location data to allow the user to pay (launch SDK) when the user clicks 'Deny'?

Thanks

sarahkoop commented 4 months ago

@sarahkoop thank you for providing the updates while we have the same issue when updating braintree SDK. We are doing an e-shop App. Now, our app dev says there will be a location permission popup to ask the user to 'Allow App to access location'. What if the user clicks 'Deny' then the SDK would never launch which means the user cannot pay. Is it how it works?

I mean as a user experience point of view by adding a location permission popup is weird before payment. And is there any way to bypass collecting user location data to allow the user to pay (launch SDK) when the user clicks 'Deny'?

Thanks

If your app does not have consent to collect user location data (for example, if the user has "denied" the pop-up), then pass false for the hasUserLocationConsent parameter. This will still allow the SDK to be used for payment, but will not allow user location data to be collected for Fraud Protection and Risk Management.