我在应用程序中购买应用程序中的耗材。我今天看到一些用户做假购买。我的代码:
OnIabPurchaseFinishedListener mPurchaseFinishedListener = new OnIabPurchaseFinishedListener() {
@Override
public void onIabPurchaseFinished(IabResult result, final Purchase purchase) {
if (mHelper == null) return;
if (result.isFailure()) {
return;
}
if (purchase.getSku().equals("premium")) {
purchase
Ion.with(mainContext, "http://domain.com/mobileapp/buyPremium/")
.setBodyParameter("username", purchase.getDeveloperPayload())
.setBodyParameter("orderId", purchase.getOrderId())
.setBodyParameter("orderToken", purchase.getToken())
.setBodyParameter("orderTime", "" + purchase.getPurchaseTime())
.asJsonObject()
.setCallback(new FutureCallback<JsonObject>() {
@Override
public void onCompleted(Exception e, JsonObject result) {
if (e == null) {
if (result.get("status").getAsInt() == 1) {
mHelper.consumeAsync(purchase, mConsumeFinishedListener);
if (premiumFragmentObj != null) {
premiumFragmentObj.purchased();
}
}else{
}
}
}
});
}
}
};
正如您所看到的,我在用户完成购买后正在执行http请求,并且我将orderId,orderToken等保存到我的数据库中以获取日志。
为什么我确定某些用户做假购买?
我将我的日志与https://payments.google.com/merchant数据进行比较。并且无法在商家中心看到某些用户的日志。
例如我的数据库日志(所有这些都是假的):
如何解决此安全问题?