ユーザーがトランザクションを完了したときに送信される署名付き JSON を検証する場合、この特定の購入が特定のユーザーによって行われたことを検証する必要があることは明らかです。たとえば、検証目的で userId と署名付き JSON をサーバーに送信するときに、userId が変更される可能性を防ぐことが特に重要です。しかし、署名された JSON にはそのようなフィールドはありません。
developerPayload
では、フィールドに userId を配置しても問題ありませんか?
{ "nonce" : 1836535032137741465,
"orders" :
[{ "notificationId" : "android.test.purchased",
"orderId" : "transactionId.android.test.purchased",
"packageName" : "com.example.dungeons",
"productId" : "android.test.purchased",
"developerPayload" : "bGoa+V7g/yqDXvKRqq+JTFn4uQZbPiQJo4pf9RzJ",
"purchaseTime" : 1290114783411,
"purchaseState" : 0,
"purchaseToken" : "rojeslcdyyiapnqcynkjyyjh" }]
}