本文整理汇总了Java中com.google.android.gms.wallet.FullWallet类的典型用法代码示例。如果您正苦于以下问题:Java FullWallet类的具体用法?Java FullWallet怎么用?Java FullWallet使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
FullWallet类属于com.google.android.gms.wallet包,在下文中一共展示了FullWallet类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: authorizedPayloadFromFullWallet
import com.google.android.gms.wallet.FullWallet; //导入依赖的package包/类
/**
* Constructs an authorized payload that can be sent back to our server from an Android Pay full wallet.
*/
public static @NonNull AndroidPayAuthorizedPayload authorizedPayloadFromFullWallet(final @NonNull FullWallet fullWallet, final @NonNull Gson gson) {
final InstrumentInfo instrumentInfo = fullWallet.getInstrumentInfos()[0];
return AndroidPayAuthorizedPayload
.builder()
.androidPayWallet(
AndroidPayAuthorizedPayload.AndroidPayWallet
.builder()
.googleTransactionId(fullWallet.getGoogleTransactionId())
.instrumentDetails(instrumentInfo.getInstrumentDetails())
.instrumentType(instrumentInfo.getInstrumentType())
.build()
)
.stripeToken(AndroidPayAuthorizedPayload.create(fullWallet.getPaymentMethodToken().getToken(), gson))
.build();
}
示例2: androidPaymentToken
import com.google.android.gms.wallet.FullWallet; //导入依赖的package包/类
@Test
public void androidPaymentToken() throws Exception {
final Constructor<PaymentMethodToken> paymentMethodTokenConstructor = PaymentMethodToken.class.getDeclaredConstructor(int.class,
int.class, String.class);
paymentMethodTokenConstructor.setAccessible(true);
PaymentMethodToken paymentMethodToken = paymentMethodTokenConstructor.newInstance(1, 1, PAYMENT_TOKEN);
final Constructor<FullWallet> fullWalletConstructor = FullWallet.class.getDeclaredConstructor(int.class, String.class, String.class,
ProxyCard.class, String.class, com.google.android.gms.wallet.Address.class, com.google.android.gms.wallet.Address.class,
String[].class, UserAddress.class, UserAddress.class, InstrumentInfo[].class, PaymentMethodToken.class);
fullWalletConstructor.setAccessible(true);
final FullWallet fullWallet = fullWalletConstructor.newInstance(1, null, null, null, null, null, null, null, null, null, null,
paymentMethodToken);
PaymentToken paymentToken = PayHelper.extractPaymentToken(fullWallet, PUBLIC_KEY);
final MessageDigest messageDigest = MessageDigest.getInstance("SHA-256");
final byte[] digest = messageDigest.digest(PUBLIC_KEY.getBytes("UTF-8"));
final String androidPayPublicKeyHash = Base64.encodeToString(digest, Base64.DEFAULT);
assertThat(paymentToken.token).isEqualTo(PAYMENT_TOKEN);
assertThat(paymentToken.publicKeyHash).isEqualTo(androidPayPublicKeyHash);
}
示例3: completeCheckout
import com.google.android.gms.wallet.FullWallet; //导入依赖的package包/类
private void completeCheckout(final FullWallet fullWallet) {
newMaskedWalletRequired = true;
String androidPayPublicKey = BuildConfig.ANDROID_PAY_PUBLIC_KEY;
PaymentToken paymentToken = PayHelper.extractPaymentToken(fullWallet, androidPayPublicKey);
PayAddress billingAddress = PayAddress.fromUserAddress(fullWallet.getBuyerBillingAddress());
if (paymentToken == null) {
notifyUserError(-1, new RuntimeException("Failed to extract Android payment token"));
return;
}
showProgress(REQUEST_ID_COMPLETE_CHECKOUT);
registerRequest(
REQUEST_ID_COMPLETE_CHECKOUT,
checkoutCompleteInteractor.execute(checkoutId, payCartLiveData().getValue(), paymentToken, fullWallet.getEmail(), billingAddress)
.observeOn(AndroidSchedulers.mainThread())
.subscribeWith(WeakSingleObserver.<RealCheckoutViewModel, Payment>forTarget(this)
.delegateOnSuccess(RealCheckoutViewModel::onCompleteCheckout)
.delegateOnError((viewModel, t) -> viewModel.onRequestError(REQUEST_ID_COMPLETE_CHECKOUT, t))
.create()
)
);
}
示例4: fetchTransactionStatus
import com.google.android.gms.wallet.FullWallet; //导入依赖的package包/类
/**
* Here the client should connect to their server, process the credit card/instrument
* and get back a status indicating whether charging the card was successful or not
*/
private void fetchTransactionStatus(FullWallet fullWallet) {
if (mProgressDialog.isShowing()) {
mProgressDialog.dismiss();
}
// Send back details such as fullWallet.getProxyCard() and fullWallet.getBillingAddress()
// and get back success or failure
// The following code assumes a successful response and calls notifyTransactionStatus
Wallet.notifyTransactionStatus(mGoogleApiClient,
WalletUtil.createNotifyTransactionStatusRequest(fullWallet.getGoogleTransactionId(),
NotifyTransactionStatusRequest.Status.SUCCESS));
Intent intent = new Intent(getActivity(), OrderCompleteActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK | Intent.FLAG_ACTIVITY_NEW_TASK);
intent.putExtra(Constants.EXTRA_FULL_WALLET, mFullWallet);
startActivity(intent);
}
示例5: tokenize
import com.google.android.gms.wallet.FullWallet; //导入依赖的package包/类
/**
* @deprecated Android Pay is deprecated, use {@link GooglePayment} instead. For more information see the
* <a href="https://developers.braintreepayments.com/guides/pay-with-google/overview">documentation</a>
*
* Call this method when you've received a successful FullWallet request in your activity's
* {@link Activity#onActivityResult(int, int, Intent)} to get an {@link AndroidPayCardNonce} from a
* {@link FullWallet}.
*
* @param fragment An instance of {@link BraintreeFragment}.
* @param wallet a {@link FullWallet} from the Intent in {@link Activity#onActivityResult(int, int, Intent)}.
* @param cart the {@link Cart} used when creating the {@link FullWallet}.
*/
@Deprecated
public static void tokenize(BraintreeFragment fragment, FullWallet wallet, Cart cart) {
try {
fragment.postCallback(AndroidPayCardNonce.fromFullWallet(wallet, cart));
fragment.sendAnalyticsEvent("android-pay.nonce-received");
} catch (JSONException e) {
fragment.sendAnalyticsEvent("android-pay.failed");
try {
fragment.postCallback(ErrorWithResponse.fromJson(wallet.getPaymentMethodToken().getToken()));
} catch (JSONException e1) {
fragment.postCallback(e1);
}
}
}
示例6: onActivityResult
import com.google.android.gms.wallet.FullWallet; //导入依赖的package包/类
static void onActivityResult(BraintreeFragment fragment, int resultCode, Intent data) {
if (resultCode == Activity.RESULT_OK) {
if (data.hasExtra(WalletConstants.EXTRA_FULL_WALLET)) {
fragment.sendAnalyticsEvent("android-pay.authorized");
tokenize(fragment, (FullWallet) data.getParcelableExtra(WalletConstants.EXTRA_FULL_WALLET),
(Cart) data.getParcelableExtra(EXTRA_CART));
}
} else if (resultCode == Activity.RESULT_CANCELED) {
fragment.sendAnalyticsEvent("android-pay.canceled");
} else {
if (data != null) {
if (data.hasExtra(EXTRA_ERROR)) {
fragment.postCallback(new AndroidPayException(data.getStringExtra(EXTRA_ERROR)));
} else {
fragment.postCallback(new AndroidPayException("Android Pay error code: " +
data.getIntExtra(WalletConstants.EXTRA_ERROR_CODE, -1) +
" see https://developers.google.com/android/reference/com/google/android/gms/wallet/WalletConstants " +
"for more details"));
}
}
fragment.sendAnalyticsEvent("android-pay.failed");
}
}
示例7: fromFullWallet_createsAndroidPayCardNonce
import com.google.android.gms.wallet.FullWallet; //导入依赖的package包/类
@Test
public void fromFullWallet_createsAndroidPayCardNonce() throws JSONException {
UserAddress billingAddress = mock(UserAddress.class);
UserAddress shippingAddress = mock(UserAddress.class);
FullWallet wallet = getFullWallet(stringFromFixture("payment_methods/android_pay_card_response.json"),
billingAddress, shippingAddress);
AndroidPayCardNonce androidPayCardNonce = AndroidPayCardNonce.fromFullWallet(wallet);
assertEquals("Android Pay", androidPayCardNonce.getTypeLabel());
assertEquals("fake-android-pay-nonce", androidPayCardNonce.getNonce());
assertEquals("MasterCard 0276", androidPayCardNonce.getDescription());
assertEquals("Visa", androidPayCardNonce.getCardType());
assertEquals("11", androidPayCardNonce.getLastTwo());
assertEquals("[email protected]", androidPayCardNonce.getEmail());
assertEquals(billingAddress, androidPayCardNonce.getBillingAddress());
assertEquals(shippingAddress, androidPayCardNonce.getShippingAddress());
assertEquals("google-transaction-id", androidPayCardNonce.getGoogleTransactionId());
}
示例8: fromFullWallet_withCart_createsAndroidPayCardNonce
import com.google.android.gms.wallet.FullWallet; //导入依赖的package包/类
@Test
public void fromFullWallet_withCart_createsAndroidPayCardNonce() throws JSONException {
UserAddress billingAddress = mock(UserAddress.class);
UserAddress shippingAddress = mock(UserAddress.class);
Cart cart = Cart.newBuilder().build();
FullWallet wallet = getFullWallet(stringFromFixture("payment_methods/android_pay_card_response.json"),
billingAddress, shippingAddress);
AndroidPayCardNonce androidPayCardNonce = AndroidPayCardNonce.fromFullWallet(wallet, cart);
assertEquals("Android Pay", androidPayCardNonce.getTypeLabel());
assertEquals("fake-android-pay-nonce", androidPayCardNonce.getNonce());
assertEquals("MasterCard 0276", androidPayCardNonce.getDescription());
assertEquals("Visa", androidPayCardNonce.getCardType());
assertEquals("11", androidPayCardNonce.getLastTwo());
assertEquals("[email protected]", androidPayCardNonce.getEmail());
assertEquals(billingAddress, androidPayCardNonce.getBillingAddress());
assertEquals(shippingAddress, androidPayCardNonce.getShippingAddress());
assertEquals("google-transaction-id", androidPayCardNonce.getGoogleTransactionId());
assertEquals(cart, androidPayCardNonce.getCart());
}
示例9: fetchTransactionStatus
import com.google.android.gms.wallet.FullWallet; //导入依赖的package包/类
/**
* Here the client should connect to their server, process the credit card/instrument
* and get back a status indicating whether charging the card was successful or not
*/
private void fetchTransactionStatus(FullWallet fullWallet) {
if (mProgressDialog.isShowing()) {
mProgressDialog.dismiss();
}
// Send back details such as fullWallet.getProxyCard() and fullWallet.getBillingAddress()
// and get back success or failure
// The following code assumes a successful response and calls notifyTransactionStatus
Wallet.Payments.notifyTransactionStatus(mGoogleApiClient,
WalletUtil.createNotifyTransactionStatusRequest(fullWallet.getGoogleTransactionId(),
NotifyTransactionStatusRequest.Status.SUCCESS));
Intent intent = new Intent(getActivity(), OrderCompleteActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK | Intent.FLAG_ACTIVITY_NEW_TASK);
intent.putExtra(Constants.EXTRA_FULL_WALLET, fullWallet);
startActivity(intent);
}
示例10: androidPayComplete
import com.google.android.gms.wallet.FullWallet; //导入依赖的package包/类
@SuppressLint("NewApi")
private void androidPayComplete(final @NonNull FullWallet fullWallet) {
final AndroidPayAuthorizedPayload authorizedPayload = AndroidPayUtils
.authorizedPayloadFromFullWallet(fullWallet, this.gson);
final String json = this.gson.toJson(authorizedPayload, AndroidPayAuthorizedPayload.class);
// TODO: is this an injection problem?
final String javascript = String.format("checkout_android_pay_next(%s);", json);
this.webView.evaluateJavascript(javascript, null);
}
示例11: handleWalletResponse
import com.google.android.gms.wallet.FullWallet; //导入依赖的package包/类
/**
* Handles activity results for masked wallet and full wallet requests, and delegates a response to a specified call back handler.
*
* @param requestCode Android Pay Wallet activity request code
* @param resultCode Android Pay Wallet activity result code
* @param data Android Pay Wallet response data
* @param handler delegate call back handler
* @return {@code true} if activity result can be handled, {@code false} otherwise
* @see WalletResponseHandler
*/
public static boolean handleWalletResponse(final int requestCode, final int resultCode, final Intent data,
final WalletResponseHandler handler) {
if (requestCode != REQUEST_CODE_CHANGE_MASKED_WALLET
&& requestCode != REQUEST_CODE_MASKED_WALLET
&& requestCode != REQUEST_CODE_FULL_WALLET) {
return false;
}
if (resultCode != Activity.RESULT_OK) {
handler.onWalletRequestCancel(requestCode);
return true;
}
if (data == null) {
handler.onWalletError(requestCode, -1);
return true;
}
int errorCode = data.getIntExtra(WalletConstants.EXTRA_ERROR_CODE, -1);
if (errorCode != -1) {
handler.onWalletError(requestCode, errorCode);
return true;
}
MaskedWallet maskedWallet = data.getParcelableExtra(WalletConstants.EXTRA_MASKED_WALLET);
FullWallet fullWallet = data.getParcelableExtra(WalletConstants.EXTRA_FULL_WALLET);
if (maskedWallet != null) {
handler.onMaskedWallet(maskedWallet);
return true;
} else if (fullWallet != null) {
handler.onFullWallet(fullWallet);
return true;
}
return false;
}
示例12: extractPaymentToken
import com.google.android.gms.wallet.FullWallet; //导入依赖的package包/类
/**
* Extracts payment token from {@link FullWallet} information that will be required to complete checkout.
*
* @param fullWallet {@link FullWallet}
* @param androidPayPublicKey Android Pay public key
* @return payment token
*/
public static PaymentToken extractPaymentToken(@NonNull final FullWallet fullWallet, @NonNull final String androidPayPublicKey) {
checkNotNull(fullWallet, "fullWallet can't be null");
checkNotEmpty(androidPayPublicKey, "androidPayPublicKey can't be empty");
try {
final MessageDigest messageDigest = MessageDigest.getInstance("SHA-256");
final byte[] digest = messageDigest.digest(androidPayPublicKey.getBytes("UTF-8"));
return new PaymentToken(fullWallet.getPaymentMethodToken().getToken(), Base64.encodeToString(digest,
Base64.DEFAULT));
} catch (NoSuchAlgorithmException | UnsupportedEncodingException e) {
return null;
}
}
示例13: a
import com.google.android.gms.wallet.FullWallet; //导入依赖的package包/类
public void a(int paramInt, FullWallet paramFullWallet, Bundle paramBundle)
{
Parcel localParcel1 = Parcel.obtain();
Parcel localParcel2 = Parcel.obtain();
try
{
localParcel1.writeInterfaceToken("com.google.android.gms.wallet.internal.IWalletServiceCallbacks");
localParcel1.writeInt(paramInt);
if (paramFullWallet != null)
{
localParcel1.writeInt(1);
paramFullWallet.writeToParcel(localParcel1, 0);
}
else
{
localParcel1.writeInt(0);
}
if (paramBundle != null)
{
localParcel1.writeInt(1);
paramBundle.writeToParcel(localParcel1, 0);
}
else
{
localParcel1.writeInt(0);
}
this.dU.transact(2, localParcel1, localParcel2, 0);
localParcel2.readException();
return;
}
finally
{
localParcel2.recycle();
localParcel1.recycle();
}
}
示例14: fromFullWallet
import com.google.android.gms.wallet.FullWallet; //导入依赖的package包/类
/**
* @deprecated Android Pay is deprecated, use {@link GooglePaymentCardNonce} instead. For more information see the
* <a href="https://developers.braintreepayments.com/guides/pay-with-google/overview">documentation</a>
*
* Convert a {@link FullWallet} to an {@link AndroidPayCardNonce}.
*
* @param wallet the {@link FullWallet} from an Android Pay response.
* @param cart the {@link Cart} used to create the {@link FullWallet}.
* @return {@link AndroidPayCardNonce}.
* @throws JSONException when parsing the response fails.
*/
@Deprecated
public static AndroidPayCardNonce fromFullWallet(FullWallet wallet, Cart cart) throws JSONException {
AndroidPayCardNonce androidPayCardNonce =
AndroidPayCardNonce.fromJson(wallet.getPaymentMethodToken().getToken());
androidPayCardNonce.mDescription = wallet.getPaymentDescriptions()[0];
androidPayCardNonce.mEmail = wallet.getEmail();
androidPayCardNonce.mBillingAddress = wallet.getBuyerBillingAddress();
androidPayCardNonce.mShippingAddress = wallet.getBuyerShippingAddress();
androidPayCardNonce.mGoogleTransactionId = wallet.getGoogleTransactionId();
androidPayCardNonce.mCart = cart;
return androidPayCardNonce;
}
示例15: onActivityResult_sendsAnalyticsEventOnFullWalletResponse
import com.google.android.gms.wallet.FullWallet; //导入依赖的package包/类
@Test
public void onActivityResult_sendsAnalyticsEventOnFullWalletResponse() throws Exception {
BraintreeFragment fragment = getSetupFragment();
FullWallet wallet = createFullWallet();
Intent intent = new Intent()
.putExtra(WalletConstants.EXTRA_FULL_WALLET, wallet);
AndroidPay.onActivityResult(fragment, Activity.RESULT_OK, intent);
verify(fragment).sendAnalyticsEvent("android-pay.authorized");
}