サーバー側でリンゴの領収書の検証に問題があります。 私はインターネットで解決策を見つけようとしましたが、成功しませんでした。アップルのアプリ購入の領収書 - サーバー側の確認
説明: まず、iOS7のアプリケーションが作成されています。第二に、私はいくつかの項目を持っています(type = Non-Renewing Subscription)。ユーザーは1つまたは複数のアイテムを購入することができます。その後、手動で更新する必要があります。
アプリケーションはサーバー側に領収書を送信し、私はアップルに要求し、の結果を多くの in_app領収書で取得します。ような何か:
"in_app":[
{
"quantity":"1", "product_id":"...", "transaction_id":"...",
"original_transaction_id":"...", "purchase_date":"...",
"purchase_date_ms":"...", "purchase_date_pst":"...",
"original_purchase_date":"...",
"original_purchase_date_ms":"...", "original_purchase_date_pst":"...",
"is_trial_period":"..."},
{
"quantity":"1", "product_id":"...",
"transaction_id":"...","original_transaction_id":"...",
"purchase_date":"...", "purchase_date_ms":"...",
"purchase_date_pst":"...", "original_purchase_date":"...",
"original_purchase_date_ms":"...", "original_purchase_date_pst":"...",
"is_trial_period":"..."}
]
ので、 "in_app" の各 "領収書は" TRANSACTION_IDました。しかし、どのようにして現在の購入のトランザクションIDを特定できますか?それを検証して、これがユニークであることを確認したいと思います。
私の懸念は、誰かが有効な領収書を受け取った場合、サーバーサイドAPIをハックして、同じ有効な領収書で無制限にアプリ内購入を行うことができるということです。
私は何とか復号化し、「元の」領収書であるtransaction_idを確認する必要がありますか?
ご協力いただきありがとうございます。 ありがとうございます。
よろしく、 マクシム
LOL私はこれがちょうどSUX ...私はaccidentalyこれを発見し、あなたが8時間前にこれを尋ねたことがわかりました。..ちょうど同じ質問の男に聞いていた、私は何をすべきかも手掛かりを持っていませんすべての領収書... – Adrian
そして私はあなたがここでやりたかったのと同じ種類の小切手をしたいと思います。私は誰かがこれを見てそれに答えることを願っています! :\ – Adrian
私はキーが* app *側で現在の購入のトランザクションIDを取得し、領収書と共に、サーバーに送信することだと思う。アプリケーション側でトランザクションIDをトランザクションオブジェクトから取得できます。 –