Xamarin Google Pay Implementation
I am trying to make a simple Xamarin app for Android with opportunity to pay by Google Pay. Using Android.Gms.Wallet. Added [assembly: MetaData('com.google.android.gms.wallet.api.e
Solution 1:
Well, I found the answer to my question - just to rewrite java/kotlin code to c#.
publicconstint LOAD_PAYMENT_DATA_REQUEST_CODE = 991;
call openGooglePay(this,1);
in activity, e.g. in OnCreate
voidopenGooglePay(Activity act, int money)
{
PaymentsClientpaymentsClient= WalletClass.GetPaymentsClient(
this,
newWalletClass.WalletOptions.Builder()
.SetEnvironment(WalletConstants.EnvironmentTest)
.Build()
);
TransactionInfotran= TransactionInfo.NewBuilder()
.SetTotalPriceStatus(WalletConstants.TotalPriceStatusFinal)
.SetTotalPrice(money.ToString())
.SetCurrencyCode("USD")
.Build();
varreq= createPaymentDataRequest(tran);
varfuturePay= paymentsClient.LoadPaymentData(req);
AutoResolveHelper.ResolveTask(futurePay, act, LOAD_PAYMENT_DATA_REQUEST_CODE);
}
PaymentDataRequest createPaymentDataRequest(TransactionInfo transactionInfo)
{
varparamsBuilder= PaymentMethodTokenizationParameters.NewBuilder()
.SetPaymentMethodTokenizationType(
WalletConstants.PaymentMethodTokenizationTypePaymentGateway)
.AddParameter("gateway", "myGateway")
.AddParameter("gatewayMerchantId", "myMerchant");
return createPaymentDataRequest(transactionInfo, paramsBuilder.Build());
}
private PaymentDataRequest createPaymentDataRequest(TransactionInfo transactionInfo, PaymentMethodTokenizationParameters paymentMethodTokenizationParameters)
{
return PaymentDataRequest.NewBuilder()
.SetPhoneNumberRequired(false)
.SetEmailRequired(false)
.SetShippingAddressRequired(false)
.SetTransactionInfo(transactionInfo)
.AddAllowedPaymentMethods(new List<Integer>() { (Integer)WalletConstants.PaymentMethodCard, (Integer)WalletConstants.PaymentMethodTokenizedCard })
.SetCardRequirements(
CardRequirements.NewBuilder()
.AddAllowedCardNetworks(new List<Integer>() { (Integer)WalletConstants.CardNetworkVisa, (Integer)WalletConstants.CardNetworkMastercard })
.SetAllowPrepaidCards(true)
.SetBillingAddressFormat(WalletConstants.BillingAddressFormatFull)
.Build()
)
.SetPaymentMethodTokenizationParameters(paymentMethodTokenizationParameters)
.SetUiRequired(true)
.Build();
}
Post a Comment for "Xamarin Google Pay Implementation"