Деньги за Google In-Apps всегда возвращаются через 3 дня в Xamarin.Android/.NET 8.Android

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Деньги за Google In-Apps всегда возвращаются через 3 дня в Xamarin.Android/.NET 8.

Сообщение Anonymous »

Изначально я создал приложение с помощью Xamarin.Android. Недавно я перенес его на .NET 8, но заметил, что после оплаты я теряю свои деньги, так как они автоматически возвращаются. Я читал на некоторых форумах, что мне нужно было подтвердить платеж, и я это сделал:

Код: Выделить всё

public async Task ShowDonate(bool isMoreThanOneAllowed = false)
{
try
{
var connected = await CrossInAppBilling.Current.ConnectAsync();

//Couldn't connect to billing, could be offline, alert user
if (!connected)
{
Toast.MakeText(context, Resource.String.LblInAppError, ToastLength.Short).Show();
return false;
}

var productId = isMoreThanOneAllowed ? PRODUCT_ID_MORE_THAN_ONE : PRODUCT_ID;
var purchase = await CrossInAppBilling.Current.PurchaseAsync(productId, ItemType.InAppPurchase);
if (purchase == null)
{
//Not purchased, alert the user
Toast.MakeText(context, Resource.String.LblInAppNoPay, ToastLength.Short).Show();
return false;
}
else
{
// Purchase was successful
if ((bool)!purchase.IsAcknowledged)
{
if (isMoreThanOneAllowed)
{
// For consumables, we need to consume the purchase
var consumeResult = await CrossInAppBilling.Current.ConsumePurchaseAsync(productId, purchase.PurchaseToken);
if (consumeResult)
{
// Consuming was successful
Toast.MakeText(context, Resource.String.LblInAppThanks, ToastLength.Short).Show();
return true;
}
else
{
Toast.MakeText(context, Resource.String.LblInAppNoPay, ToastLength.Short).Show();
return false;
}
}
else
{
// For non-consumables, we finalize (acknowledge) the purchase
var acknowledgeResult = await CrossInAppBilling.Current.FinalizePurchaseAsync(purchase.PurchaseToken);
if (acknowledgeResult.First().Success)
{
Toast.MakeText(context, Resource.String.LblInAppThanks, ToastLength.Short).Show();
return true;
}
else
{
Toast.MakeText(context, Resource.String.LblInAppNoPay, ToastLength.Short).Show();
return false;
}
}
}
else
{
// Purchase was already acknowledged
SaveDonationStatus();
return true;
}
}
}
catch
{
// Handle exception
Toast.MakeText(context, Resource.String.LblInAppTryAgain, ToastLength.Short).Show();
return false;
}
finally
{
await CrossInAppBilling.Current.DisconnectAsync();
}
}
Я не уверен, что делаю неправильно. Есть идеи, чего еще мне не хватает в моем коде?


Подробнее здесь: https://stackoverflow.com/questions/784 ... roid-net-8
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»