use of com.android.billingclient.api.AcknowledgePurchaseParams in project apcupsd-monitor by norkator.
the class MainMenu method acknowledgePurchase.
/**
* Acknowledge purchase required by billing lib 2.x++
*
* @param purchase billing purchase
*/
private void acknowledgePurchase(Purchase purchase) {
AcknowledgePurchaseParams acknowledgePurchaseParams = AcknowledgePurchaseParams.newBuilder().setPurchaseToken(purchase.getPurchaseToken()).build();
mBillingClient.acknowledgePurchase(acknowledgePurchaseParams, acknowledgePurchaseResponseListener);
}
use of com.android.billingclient.api.AcknowledgePurchaseParams in project zype-android by zype.
the class BillingManager method handlePurchases.
public void handlePurchases(List<Purchase> purchases) {
for (Purchase purchase : purchases) {
Log.d("BillingManager", "handlePurchases purchase state: " + purchase.getPurchaseState());
if (/*ITEM_SKU_SUBSCRIBE.equals(purchase.getSku()) && */
purchase.getPurchaseState() == Purchase.PurchaseState.PURCHASED) {
// if item is purchased and not acknowledged
this.purchase1 = purchase;
Log.d("BillingManager", "handlePurchases purchase isAcknowledged: " + purchase.isAcknowledged());
if (!purchase.isAcknowledged()) {
AcknowledgePurchaseParams acknowledgePurchaseParams = AcknowledgePurchaseParams.newBuilder().setPurchaseToken(purchase.getPurchaseToken()).build();
mBillingClient.acknowledgePurchase(acknowledgePurchaseParams, ackPurchase);
}
} else {
mBillingUpdatesListener.onPurchasesUpdated(purchases);
}
}
}
use of com.android.billingclient.api.AcknowledgePurchaseParams in project sms-backup-plus by jberkel.
the class DonationActivity method acknowledgePurchase.
// https://developer.android.com/google/play/billing/billing_library_overview#acknowledge
private void acknowledgePurchase(final Purchase purchase) {
if (purchase.getPurchaseState() == PURCHASED && !purchase.isAcknowledged() && billingClient != null) {
AcknowledgePurchaseParams params = AcknowledgePurchaseParams.newBuilder().setPurchaseToken(purchase.getPurchaseToken()).build();
billingClient.acknowledgePurchase(params, new AcknowledgePurchaseResponseListener() {
@Override
public void onAcknowledgePurchaseResponse(BillingResult billingResult) {
log("onAcknowledgePurchaseResponse(" + billingResult + ")");
if (billingResult.getResponseCode() != OK) {
Log.w(TAG, "not acknowledged purchase " + purchase + ":" + billingResult);
}
}
});
}
}
use of com.android.billingclient.api.AcknowledgePurchaseParams in project Android-InAppBilling by LiteKite.
the class BillingManager method acknowledgeNonConsumablePurchasesAsync.
/**
* If you do not acknowledge a purchase, the Google Play Store will provide a refund to the
* users within a few days of the transaction. Therefore you have to implement
* [BillingClient.acknowledgePurchaseAsync] inside your app.
*
* @param purchase list of Purchase Details returned from the queries.
*/
private void acknowledgeNonConsumablePurchasesAsync(Purchase purchase) {
final AcknowledgePurchaseParams params = AcknowledgePurchaseParams.newBuilder().setPurchaseToken(purchase.getPurchaseToken()).build();
final AcknowledgePurchaseResponseListener listener = billingResult -> {
if (billingResult.getResponseCode() == BillingResponseCode.OK) {
MonetizeApp.printLog(TAG, "onAcknowledgePurchaseResponse: " + BillingResponseCode.OK);
} else {
MonetizeApp.printLog(TAG, "onAcknowledgePurchaseResponse: " + billingResult.getDebugMessage());
}
};
executeServiceRequest(() -> myBillingClient.acknowledgePurchase(params, listener));
}
use of com.android.billingclient.api.AcknowledgePurchaseParams in project Osmand by osmandapp.
the class BillingManager method handlePurchase.
/**
* Handles the purchase
* <p>Note: Notice that for each purchase, we check if signature is valid on the client.
* It's recommended to move this check into your backend.
* See {@link Security#verifyPurchase(String, String, String)}
* </p>
*
* @param purchase Purchase to be handled
*/
private void handlePurchase(final Purchase purchase) {
if (!verifyValidSignature(purchase.getOriginalJson(), purchase.getSignature())) {
LOG.info("Got a purchase: " + purchase + ", but signature is bad. Skipping...");
return;
}
if (purchase.getPurchaseState() == Purchase.PurchaseState.PURCHASED) {
// Acknowledge the purchase if it hasn't already been acknowledged.
if (!purchase.isAcknowledged()) {
AcknowledgePurchaseParams acknowledgePurchaseParams = AcknowledgePurchaseParams.newBuilder().setPurchaseToken(purchase.getPurchaseToken()).build();
mBillingClient.acknowledgePurchase(acknowledgePurchaseParams, new AcknowledgePurchaseResponseListener() {
@Override
public void onAcknowledgePurchaseResponse(BillingResult billingResult) {
if (billingResult.getResponseCode() != BillingResponseCode.OK) {
LOG.info("Acknowledge a purchase: " + purchase + " failed (" + billingResult.getResponseCode() + "). " + billingResult.getDebugMessage());
}
}
});
}
} else if (purchase.getPurchaseState() == Purchase.PurchaseState.PENDING) {
LOG.info("Got a purchase: " + purchase + ", but purchase state is pending. Skipping...");
return;
} else {
LOG.info("Got a purchase: " + purchase + ", but purchase state is " + purchase.getPurchaseState() + ". Skipping...");
return;
}
LOG.debug("Got a verified purchase: " + purchase);
mPurchases.add(purchase);
}
Aggregations