Play Billing Library v1.0 订单状态
Play Billing Library v1.0 order status
我已经使用
为我的 android 应用程序之一实现了应用内购买
com.android.billingclient:billing:1.0
如描述here
我正在使用以下代码检查用户是否购买了 SKU
mBillingClient.startConnection(new BillingClientStateListener() {
@Override
public void onBillingSetupFinished(@BillingClient.BillingResponse int billingResponse) {
if (billingResponse == BillingClient.BillingResponse.OK) {
Log.e("billing",""+billingResponse);
Log.e(TAG, "onBillingSetupFinished() response: " + billingResponse);
Purchase.PurchasesResult result = mBillingClient.queryPurchases(BillingClient.SkuType.INAPP);
if(result.getPurchasesList().size() > 0) {
Log.e("Purchased Product", result.getPurchasesList().get(0).getSku());
if (result.getPurchasesList().get(0).getSku().equals(constant.sku))
constant.ad_removed = true;
Log.e("code",""+result.getResponseCode());
}
}
else {
Log.e(TAG, "onBillingSetupFinished() error code: " + billingResponse);
}
}
@Override
public void onBillingServiceDisconnected() {
Log.e(TAG, "onBillingServiceDisconnected()");
}
});
它工作正常,但如果用户购买了 SKU,我会提供高级应用程序的好处,但是如果用户要求退款并且我们退款给用户会怎样?我已尝试退还一个订单,它在我的控制台中显示为已退款,但由于计费响应显示用户已购买该 SKU,用户仍享有额外优惠。有人知道解决这个问题吗?
谢谢
如果状态被退回,您可以消费商品,商品将不复存在。
但显然,Play Billing Library v1.0 中没有这种方法来检查购买是否已退款。估计以后会加上。
目前,在退款时,将交易 ID 存储在您的服务器中,并进行 API 检查购买是否已退款。然后在应用程序中,使用购买详细信息调用服务器。如果服务器returns退款,请食用该产品。
您也可以将 Void Purchases API 用于相同目的:
https://developers.google.com/android-publisher/voided-purchases
我已经使用
为我的 android 应用程序之一实现了应用内购买com.android.billingclient:billing:1.0
如描述here
我正在使用以下代码检查用户是否购买了 SKU
mBillingClient.startConnection(new BillingClientStateListener() {
@Override
public void onBillingSetupFinished(@BillingClient.BillingResponse int billingResponse) {
if (billingResponse == BillingClient.BillingResponse.OK) {
Log.e("billing",""+billingResponse);
Log.e(TAG, "onBillingSetupFinished() response: " + billingResponse);
Purchase.PurchasesResult result = mBillingClient.queryPurchases(BillingClient.SkuType.INAPP);
if(result.getPurchasesList().size() > 0) {
Log.e("Purchased Product", result.getPurchasesList().get(0).getSku());
if (result.getPurchasesList().get(0).getSku().equals(constant.sku))
constant.ad_removed = true;
Log.e("code",""+result.getResponseCode());
}
}
else {
Log.e(TAG, "onBillingSetupFinished() error code: " + billingResponse);
}
}
@Override
public void onBillingServiceDisconnected() {
Log.e(TAG, "onBillingServiceDisconnected()");
}
});
它工作正常,但如果用户购买了 SKU,我会提供高级应用程序的好处,但是如果用户要求退款并且我们退款给用户会怎样?我已尝试退还一个订单,它在我的控制台中显示为已退款,但由于计费响应显示用户已购买该 SKU,用户仍享有额外优惠。有人知道解决这个问题吗?
谢谢
如果状态被退回,您可以消费商品,商品将不复存在。
但显然,Play Billing Library v1.0 中没有这种方法来检查购买是否已退款。估计以后会加上。
目前,在退款时,将交易 ID 存储在您的服务器中,并进行 API 检查购买是否已退款。然后在应用程序中,使用购买详细信息调用服务器。如果服务器returns退款,请食用该产品。
您也可以将 Void Purchases API 用于相同目的: https://developers.google.com/android-publisher/voided-purchases