/** * Collect PayPal device information for fraud identification purposes. * * @param fragment {@link BraintreeFragment} * @param listener listener to be called with the device data String to send to Braintree. */ public static void collectPayPalDeviceData(final BraintreeFragment fragment, final BraintreeResponseListener<String> listener) { final JSONObject deviceData = new JSONObject(); try { String clientMetadataId = getPayPalClientMetadataId(fragment.getApplicationContext()); if (!TextUtils.isEmpty(clientMetadataId)) { deviceData.put(CORRELATION_ID_KEY, clientMetadataId); } } catch (JSONException ignored) {} listener.onResponse(deviceData.toString()); }
/** * @deprecated Use {@link #collectDeviceData(BraintreeFragment, String, BraintreeResponseListener)} instead. */ @Deprecated public static String collectDeviceData(BraintreeFragment fragment, String merchantId) { JSONObject deviceData = new JSONObject(); try { String deviceSessionId = UUIDHelper.getFormattedUUID(); startDeviceCollector(fragment, merchantId, deviceSessionId, null); deviceData.put(DEVICE_SESSION_ID_KEY, deviceSessionId); deviceData.put(FRAUD_MERCHANT_ID_KEY, merchantId); } catch (ClassNotFoundException | NoClassDefFoundError | NumberFormatException | JSONException ignored) {} try { String clientMetadataId = getPayPalClientMetadataId(fragment.getApplicationContext()); if (!TextUtils.isEmpty(clientMetadataId)) { deviceData.put(CORRELATION_ID_KEY, clientMetadataId); } } catch (JSONException ignored) {} return deviceData.toString(); }
@Test public void getPayPalClientMetadataId_returnsClientMetadataId() { String clientMetadataId = DataCollector.getPayPalClientMetadataId(RuntimeEnvironment.application); assertFalse(TextUtils.isEmpty(clientMetadataId)); }
String clientMetadataId = getPayPalClientMetadataId(fragment.getApplicationContext()); if (!TextUtils.isEmpty(clientMetadataId)) { deviceData.put(CORRELATION_ID_KEY, clientMetadataId);