Я читаю документацию в течение последних 3 дней и не смог разобраться (или, по крайней мере, заставить ее работать).
То, что я хочу, - это Drop-In UIон запоминает ранее добавленные учетные записи Paypal, поэтому пользователю нужно только снова щелкнуть имя учетной записи, поэтому я буду использовать поток Vault.
Я сделал следующее:
- Получить токен Braintree с моего сервера
Определить схему URL следующим образом:
android:name="com.braintreepayments.api.BraintreeBrowserSwitchActivity"
android:launchMode="singleTask">
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="${applicationId}.braintree" />
Инициализировать BraintreeFragment и Dropin UI, используя следующий код:
braintreeFragment = BraintreeFragment.newInstance(getActivity(),
braintreeToken);
braintreeFragment.addListener(PaymentFragment.this);
DropInRequest dropInRequest = new DropInRequest()
.clientToken(braintreeToken)
.collectDeviceData(true);
startActivityForResult(dropInRequest.getIntent(context), 1);
@Override
public void onPaymentMethodNonceCreated(PaymentMethodNonce paymentMethodNonce)
{
if (paymentMethodNonce instanceof PayPalAccountNonce)
{
PayPalAccountNonce paypalAccountNonce = (PayPalAccountNonce) paymentMethodNonce;
Toasty.info(context, paypalAccountNonce.getFirstName()).show();
}
}
Когда я запускаю приложение, раскрывающийся пользовательский интерфейс не отображается, и вместо этого я вижу белую область в нижней части экрана с кружком прогресса.
Если я удаляю BraintreeFragment
и onPaymentMethodNonceCreated
, интерфейс DropIn отображается нормально, но нажатие кнопки Paypal не делает ничего, кроме его закрытия.
Что я здесь не так делаю?Я видел много учебников по внедрению CreditCard, но ни одного по PayPal, которые могут мне помочь.