最近のすべてのAndroidアプリの購入では、新しい注文ID形式が表示されます。
古い形式:
[merchant ID].[actual order ID]
この形式を使用して、注文IDのプレフィックスが販売者IDと一致するかどうかを確認し、Freedomなどのアプリによるハッキングの可能性を防ぐことができます。
新しいフォーマット:
GPA. 1234-5678-9123-45678
この番号が何を表しているのか、サブブロックの重要性を知りたいのですが、マーチャントIDはどこかに含まれていますか?
実際、2015年5月にGoogleデベロッパーコンソールの通知アイコン(通常、サポートされている新しい国などについて警告する場所)内で、新しい注文ID形式について警告したときにGoogleに尋ねました。彼らは、GPAはGooglePlayアプリから短縮されていると述べました。通知によると、この変更は2015年6月に行う必要がありますが、行われなかったため、キャンセルされたと思いました。私は間違っていた。
EDIT(2):注文IDの2つのタイプが見つかりました:GPA(数字ではなく文字GPAです)(17桁の実際の注文ID)と(20桁の実際の注文ID)(17桁の実際の注文ID)
編集(3):グーグルはちょうど私に答えました、そして、GPA.1234-5678-9012-34567は注文プレーの最終的な形です。販売者IDを使用して購入を確認せず、代わりに購入トークンを使用するように言われました。現在、テクニカルサポートは利用できません。しかし、私はまだこれを解決するための最良の方法を見つけていません。また、購入が有効かどうかを確認するために、サーバー側の確認にgoogle APIを使用して、注文IDではなく購入トークンを使用するように言われました。より複雑ですが、Freedomハックを防ぐことができるようです: https://github.com/soomla/Android-store/issues/47
*私の悪い英語でごめんなさい。
この変更の理由も、彼らがこの変更についてどのように私たちに知らせたかもわかりません。注文IDを販売者IDで確認することは、ハッキングを回避するための良い方法でした。
とにかく、私はこの状況を解決するために迅速に考えていました、そして私が見る唯一の解決策はその特定の購入をチェックするためにグーグルAPIを使用することです。
https://developers.google.com/Android-publisher/api-ref/purchases/products/get
PackageName、product id、tokenを送信し、その購入が存在するかどうか、またはdeveloperPayloadが同じかどうかを確認します。
この問題をできるだけ早く修正するために、私を訂正するか、より多くのアイデアを与えてください。
乾杯