LoginSignup
7
3

More than 5 years have passed since last update.

「承認と購入のリクエスト」で購入完了後のレシートが空

Posted at

問題

iPhoneには、ファミリー共有による承認と購入のリクエストを利用した課金フローがあります。
これを利用した場合、SKPaymentTransactionのstateがpurchasedの購入完了時にレシート情報がappStoreReceiptURLに含まれてない問題が発生しました。
レシートはサーバーに送信して検証を行っており、検証NGで課金失敗扱いになっていました。

レシート
Bundle.main.appStoreReceiptURL

解決

こちらを参考にappStoreReceiptURLの解析処理を仕込み、購入したtransactionIdentifierが含まれているか確認を行います。
含まれていない場合(今回の問題の事象)、レシートの更新を行うことで、該当のレシート情報が含まれるようになることを確認できました。

レシートの更新処理
request = [[SKReceiptRefreshRequest alloc] init];
request.delegate = self;
[request start];

参考文献

In App Purchaseのレシートをローカルで検証できるようになった話

7
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
3