xonglennao / marketbilling

Automatically exported from code.google.com/p/marketbilling
0 stars 0 forks source link

Server can not verify purchase because the response is missing developerPayload data #181

Open GoogleCodeExporter opened 8 years ago

GoogleCodeExporter commented 8 years ago
STEPS TO REPRODUCE:
1. In-App purchase in my application includes three steps (In-app Billing 
Version 3):
     Client successfully purchases In-App item and receives validation from Google Play (the extra data received from Google Play contains developerPayload data).
2. The app passes the purchase token and other details up to our backend 
servers, which verifies them directly with Google Play.
3. Step 3 - verification of this purchase from backend server by using 
HTTP-based Purchase Status API.
The server queries for the details of order but the response is missing the 
developerPayload (in 50% of requests for valid orders).
EXPECTED OUTPUT: {
"kind": "androidpublisher#inappPurchase",
"purchaseTime": "1394647408445",
"purchaseState": 0,
"consumptionState": 1,
"developerPayload": 
"{\"jabber_id\":\"dale02@im5.test.com\",\"tx_id\":\"dale02#GP-Prm140312-020324\"
}"
}

ACTUAL OUTPUT: {
"kind": "androidpublisher#inappPurchase",
"purchaseTime": "1394691851615",
"purchaseState": 0,
"consumptionState": 1
}

AFFECTED ORDER IDS (IF RELEVANT):

OS VERSION:

MARKET/MYAPPS VERSION:

DEVICE: Not relevant

OUTPUT FROM ADB BUGREPORT ATTACHED:
(Note: The output from "adb bugreport" is required for all bug reports.)

NOTES:

Original issue reported on code.google.com by kandel.a...@gmail.com on 17 Mar 2014 at 5:18

GoogleCodeExporter commented 8 years ago
The same issue is relevant to Purchases.get method:
https://developers.google.com/android-publisher/v1_1/purchases/get

There is no developerPayload for subscriptions at all - so server-side logic 
has no chance to make sure the subscription is really exists in in-app billing.

Original comment by Ivan.Yur...@gmail.com on 16 May 2014 at 12:48

GoogleCodeExporter commented 8 years ago
Seeing same thing.

No developerPayload for subscriptions.

PurchaseInfo(type:subs):{
"orderId":"xxxxxxxxxxxxx",
"packageName":"xxxxxxxxxxxxxx",
"productId":"premium",
"purchaseTime":xxxxxxxxxxxxxx,
"purchaseState":0,
"purchaseToken":"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"}

No developerPayload field.

.

Original comment by ospreysy...@gmail.com on 5 Jul 2014 at 2:13