質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
iOS

iOSとは、Apple製のスマートフォンであるiPhoneやタブレット端末のiPadに搭載しているオペレーションシステム(OS)です。その他にもiPod touch・Apple TVにも搭載されています。

Xcode

Xcodeはソフトウェア開発のための、Appleの統合開発環境です。Mac OSXに付随するかたちで配布されています。

Unity

Unityは、Unity Technologiesが開発・販売している、IDEを内蔵するゲームエンジンです。主にC#を用いたプログラミングでコンテンツの開発が可能です。

iPhone

iPhoneとは、アップル社が開発・販売しているスマートフォンです。 同社のデジタルオーディオプレーヤーiPodの機能、電話機能、インターネットやメールなどのWeb通信機能の3つをドッキングした機器です。

Q&A

解決済

1回答

1061閲覧

iosでのアプリ開発でサンドボックス レシートを発行したい

nav

総合スコア15

iOS

iOSとは、Apple製のスマートフォンであるiPhoneやタブレット端末のiPadに搭載しているオペレーションシステム(OS)です。その他にもiPod touch・Apple TVにも搭載されています。

Xcode

Xcodeはソフトウェア開発のための、Appleの統合開発環境です。Mac OSXに付随するかたちで配布されています。

Unity

Unityは、Unity Technologiesが開発・販売している、IDEを内蔵するゲームエンジンです。主にC#を用いたプログラミングでコンテンツの開発が可能です。

iPhone

iPhoneとは、アップル社が開発・販売しているスマートフォンです。 同社のデジタルオーディオプレーヤーiPodの機能、電話機能、インターネットやメールなどのWeb通信機能の3つをドッキングした機器です。

0グッド

0クリップ

投稿2023/03/18 04:14

編集2023/03/18 05:48

実現したいこと

  • iosでのアプリ開発でサンドボックス レシートを発行したいです
  • 参考サイトがあれば教えてほしいです
  • 下記のテストすべて実施するものでしょうか?

Xcode とサンドボックスを使用した開発のすべての段階でのテスト
https://developer.apple.com/documentation/storekit/in-app_purchase/testing_at_all_stages_of_development_with_xcode_and_the_sandbox

前提

iosアプリで課金付きのアプリを作っているのですが、
エラーでリジェクトされます。

発生している問題・エラーメッセージ

ガイドライン 2.1 - パフォーマンス - アプリの完成度 アプリ内購入製品に、ユーザー エクスペリエンスを低下させるバグが 1 つ以上あることがわかりました。 具体的には、アプリ内購入アイテムのボタンが反応しませんでした。 以下の詳細とリソースを確認し、次の手順を完了してください。 デバイスの詳細を確認します。 - デバイスの種類: iPad - OSバージョン:iOS 16.3.1 次のステップ サーバーでレシートを検証する場合、サーバーは、Apple のテスト環境からレシートを取得する製品署名済みアプリを処理できる必要があります。 推奨されるアプローチは、本番サーバーが最初に本番 App Store に対して常にレシートを検証することです。 検証がエラー コード "本番環境で使用されているサンドボックス レシート" で失敗した場合は、代わりにテスト環境に対して検証する必要があります。 資力 - サンドボックス環境でアプリ内購入製品を設定およびテストする方法を学びます。 App 内課金のテスト https://help.apple.com/app-store-connect/#/dev7e89e149d Testing in-app purchases with sandbox https://developer.apple.com/documentation/storekit/in-app_purchase/testing_in-app_purchases_with_sandbox - レシートの検証の詳細については、アプリ内購入に関する FAQ を参照してください。 What url should I use to verify my receipt? https://developer.apple.com/library/archive/technotes/tn2413/_index.html#//apple_ref/doc/uid/DTS40016228-CH1-RECEIPTURL - アプリで SKReceiptRefreshRequest 呼び出しを行って失敗した場合は、呼び出しを再試行しないでください。 ユーザーがアクセス権を持っていないとします。 addPayment 呼び出しを行って続行します。 SKReceiptRefreshRequest https://developer.apple.com/documentation/storekit/skreceiptrefreshrequest - アプリが SKReceiptRefreshRequest 呼び出しを行って、以前に購入したアプリ内購入を復元する場合、ユーザーが [復元] ボタンを選択したときにアプリが restoreCompletedTransactions を呼び出すことを確認してください。

該当のソースコード

ソースコード

試したこと

storekitを使っておらず、サンドボックスのみでテストしています。
購入は実機テストでできているのですが、レシート発行の仕組みがよくわからず、レシートをどうやって発行するかよくわかりません。

補足情報(FW/ツールのバージョンなど)

※このアプリはunityで作っているものです。
mac mini(Late 2014)
mac os big sur 11.7.4
xcode 13.2.1
iphone7 ios 14.4.2
unity 2020.3.27f1
お忙しいところすみませんが、よろしくお願い致します。ボールドテキスト

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

自己解決

下記で自己解決しました!

下記のcurlで実行しました。
■iOSアプリ内課金(自動更新購読型)のレシート検証をcurlで試す
https://qiita.com/yamataku29/items/38e6f749078d4502d201

RECEIPT_ENCODED_WITH_BASE64はcheck receiptの関数で、
receiptをdebug print出力したら、それっぽいのが出てきたので、それを使いました。

SHARED_SECRETは
appconnectの一般 > アプリ情報
にありましたので、そこで生成しました。

出力結果の確認は下記で各項目をチェックしました。
■iOSの消耗型課金のサーバーサイドTipsまとめ
https://qiita.com/joooee0000/items/2e66b695370c5f14be7c

投稿2023/03/18 08:29

nav

総合スコア15

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問