2016-09-21 9 views
0

Я пытаюсь отобразить пользовательский интерфейс Drop-in в своем приложении после нажатия на определенную кнопку. Я использовал руководство на сайте Braintree, но почему-то ничего не происходит.Неверный пользовательский интерфейс для Android SDK от Braintree

код ниже:

функция OnClick:

public void onClick(View v){ 
       switch (v.getId()){ 
        case R.id.showUI_button: 
    onBraintreeSubmit(v); 
        break; 
} 
} 

падения в функции:

public void onBraintreeSubmit(View v) { 
     PaymentRequest paymentRequest = new PaymentRequest() 
       .clientToken(token) 
       .amount("$10.00") 
       .primaryDescription("Awesome payment") 
       .secondaryDescription("Using the Client SDK") 
       .submitButtonText("Pay"); 
     startActivityForResult(paymentRequest.getIntent(this), REQUEST_CODE); 
    } 

    @Override 
    protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
     if (requestCode == REQUEST_CODE) { 
      if (resultCode == BraintreePaymentActivity.RESULT_OK) { 
       PaymentMethodNonce paymentMethodNonce = data.getParcelableExtra(
         BraintreePaymentActivity.EXTRA_PAYMENT_METHOD_NONCE 
       ); 
       String nonce = paymentMethodNonce.getNonce(); 
       // Send the nonce to your server. 
      } 
     } 
    } 

Я проверил, что маркер возвращается с сервера. Я также попытался установить onClick через xml-код кнопки и удалить onClick из java-файла, но результат тот же, никакой пользовательский интерфейс не показан.

Журнал имеет только две строки

performCreate Call Injection Manager 
Timeline: Activity_idle id:[email protected] 

Любые идеи? Если вам нужна дополнительная информация, чтобы лучше понять, пожалуйста, дайте мне знать

+0

Вы нашли решение для отображения пользовательского интерфейса PayPal – jyomin

ответ

0

На самом деле я обнаружил, что есть часть «BraintreeFragment». Мне кажется, что документация Braintree должна быть более ясной. https://developers.braintreepayments.com/guides/client-sdk/setup/android/v2

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 

    try { 
     mBraintreeFragment = BraintreeFragment.newInstance(this, mAuthorization); 
     // mBraintreeFragment is ready to use! 
    } catch (InvalidArgumentException e) { 
     // There was an issue with your authorization string. 
    } 
} 

Приведенные выше код должен работать вместе с предыдущим кодом, публикуемым. mAuthorization - это токен, и он должен быть действительным, чтобы отображать экран оплаты (так что переменная «токен» в предыдущем коде размещена в моем коде, который у меня есть только как закрытый, но видимый из всего действия). Попробуйте тестовый токен, который у них есть на своей странице, и если это работает, то основная настройка в порядке. https://developers.braintreepayments.com/start/hello-client/android/v2

Для установки токенов на вашем сервере, у них есть дополнительная документация, чтобы те тест-маркеры работали над песочницей.

 Смежные вопросы

  • Нет связанных вопросов^_^