今までSandboxで課金テスト出来ていたのが、突如レシートの検証が失敗するようになった。

今までSandboxで課金テスト出来ていたのが、iOSのみ突如レシートの検証が失敗するようになった。

購入処理はうまくいくのにレシート検証で失敗するようで以下のようなエラーが出た。

Validation failed:/Client/ValidateIOSReceipt:iTunes Sandbox validation result:21003
(AuthnticationFailed) from https://sandbox.itunes.apple.com/verifyReceipt

最近変えたところといえば、アプリ内課金にサブスクリプションを追加したこと。

しかし追加しようとしているSubscription以外の、ジェムの購入でもエラーが出るようになってしまった。

レシートの検証にはPlayFabを使っている。

はてっ???

いろいろ調べ、知人に相談し、ようやく解決。

結論としてはPlayFabでアプリ共有シークレット(App-Specific Shared Secret)を設定したら解決しました。

1.App Store Connect でApp-Specific Shared Secretを作る。
f:id:wkpn:20220306172655p:plain


2.上記で出来たキーをPlayFabで設定する。
f:id:wkpn:20220306172713p:plain