コード例 #1
0
        private void performReset()
        {
            mAuthorization = null;
            mCustomerId    = Settings.GetCustomerId(this);

            if (mBraintreeFragment == null)
            {
                mBraintreeFragment = (BraintreeFragment)FragmentManager.FindFragmentByTag(mBraintreeFragment.Tag);
            }

            if (mBraintreeFragment != null)
            {
                if (Build.VERSION.SdkInt >= Build.VERSION_CODES.N)
                {
                    FragmentManager.BeginTransaction().Remove(mBraintreeFragment).CommitNow();
                }
                else
                {
                    FragmentManager.BeginTransaction().Remove(mBraintreeFragment).Commit();
                    FragmentManager.ExecutePendingTransactions();
                }

                mBraintreeFragment = null;
            }

            Reset();
            FetchAuthorization();
        }
コード例 #2
0
        void PerformReset()
        {
            mAuthorization = null;
            mCustomerId    = Settings.GetCustomerId(this);

            if (mBraintreeFragment == null)
            {
                mBraintreeFragment = (BraintreeFragment)FragmentManager
                                     .FindFragmentByTag("com.braintreepayments.api.BraintreeFragment");// change this line later
            }

            if (mBraintreeFragment != null)
            {
                if (Build.VERSION.SdkInt >= BuildVersionCodes.N)
                {
                    FragmentManager.BeginTransaction().Remove(mBraintreeFragment).CommitNow();
                }
                else
                {
                    FragmentManager.BeginTransaction().Remove(mBraintreeFragment).Commit();
                    FragmentManager.ExecutePendingTransactions();
                }

                mBraintreeFragment = null;
            }

            Reset();
            FetchAuthorization();
        }
コード例 #3
0
        public async Task <bool> InitializeAsync(string clientToken)
        {
            try
            {
                initializeTcs      = new TaskCompletionSource <bool>();
                mBraintreeFragment = BraintreeFragment.NewInstance(CrossCurrentActivity.Current.Activity, clientToken);

                GooglePayment.IsReadyToPay(mBraintreeFragment, this);
            }
            catch (InvalidArgumentException e)
            {
                initializeTcs.TrySetException(e);
            }
            return(await initializeTcs.Task);
        }
コード例 #4
0
        protected override void OnAuthorizationFetched()
        {
            try
            {
                mBraintreeFragment = BraintreeFragment.NewInstance(this, mAuthorization);

                if (ClientToken.FromString(mAuthorization) is ClientToken)
                {
                    DropInResult.FetchDropInResult(this, mAuthorization, this);
                }
                else
                {
                    mAddPaymentMethodButton.Visibility = ViewStates.Visible;
                }
            }
            catch (InvalidArgumentException e)
            {
                ShowDialog(e.Message);
            }
        }
コード例 #5
0
        protected override void OnCreate (Bundle savedInstanceState)
        {
            base.OnCreate (savedInstanceState);

            try {
                mBraintreeFragment = BraintreeFragment.NewInstance(this, "token");
                // mBraintreeFragment is ready to use!
            } catch (Exception e) {
                Console.WriteLine (e);
            }

            // Set our view from the "main" layout resource
            SetContentView (Resource.Layout.Main);

            // Get our button from the layout resource,
            // and attach an event to it
            Button button = FindViewById<Button> (Resource.Id.myButton);
			
            button.Click += delegate
            {
                
            };
        }
コード例 #6
0
        public override void GetNoncenBrainTree(BrainTreeCard brainTreeCard, Action <object> action)
        {
            try
            {
                BraintreeFragment          mBraintreeFragment         = BraintreeFragment.NewInstance(MainActivity, brainTreeCard.Token);
                PaymentMethodNonceListener paymentMethodNonceListener = new PaymentMethodNonceListener();
                paymentMethodNonceListener.Callback += (sender, e) =>
                {
                    if (e is PaymentMethodNonce)
                    {
                        string nouce = (e as PaymentMethodNonce).Nonce;
                        action(nouce);
                    }
                    else
                    {
                        if (action != null)
                        {
                            action(e);
                        }
                    }
                };

                mBraintreeFragment.AddListener(paymentMethodNonceListener);
                var cardBuilder = new CardBuilder()
                                  .CardNumber(brainTreeCard.CardNumber)
                                  .Cvv(brainTreeCard.Cvv)
                                  .PostalCode(brainTreeCard.PostalCode)
                                  .ExpirationDate(brainTreeCard.ExpirationDate.ToString("MM/yyyy"));
                cardBuilder.Validate(false);
                Card.Tokenize(mBraintreeFragment, cardBuilder);
            }
            catch (Exception e)
            {
                ExceptionHandler.Catch(e);
            }
        }