1

iOS で自動更新可能なサブスクリプションを検証しようとしています。より具体的には、次のことを行います。

1) 署名が正しいことを確認する[ √ ]

2) サブスクリプションの有効期限が切れていないことを確認する[ X ]

サーバーに領収書を渡すと、検証ステータス 0 が表示されます。これはまさに私が期待するものであり、何も問題はありません。

ただし、サンドボックス環境でレシートの有効期限を読み取ろうとすると、有効期限が Apple ドキュメントのサブスクリプションに指定された有効期限からずれてしまいます。 1か月のサブスクリプションで、有効期限は数時間です!

{
    "quantity": "1",
    "product_id": "{PRODUCT_IDENTIFIER}",
    "transaction_id": "1000000182307463",
    "original_transaction_id": "1000000182307463",
    "purchase_date": "2015-11-27 23:47:06 Etc/GMT",
    "purchase_date_ms": "1448668026000",
    "purchase_date_pst": "2015-11-27 15:47:06 America/Los_Angeles",
    "original_purchase_date": "2015-11-27 23:47:07 Etc/GMT",
    "original_purchase_date_ms": "1448668027000",
    "original_purchase_date_pst": "2015-11-27 15:47:07 America/Los_Angeles",
    "expires_date": "2015-11-28 02:35:06 Etc/GMT", // ---> expires_date - purchase_date => ~ 3 hrs
    "expires_date_ms": "1448678106000",
    "expires_date_pst": "2015-11-27 18:35:06 America/Los_Angeles",
    "web_order_line_item_id": "1000000031037801",
    "is_trial_period": "true"
}

purchase_dateとフィールドを見ると、expiration_dateそれらがほぼ 3 時間離れていることがすぐにわかります。(これは偶数でもなく、混乱を招きます...)。

この問題を抱えている人を他に見たことがありません。

4

1 に答える 1

1

問題は、サンドボックス アカウントを作成せず、iTunes Connect のアカウントを使用していたことです。それらを作成して使用した後、突然完全に機能しました!

于 2015-11-29T14:14:24.273 に答える