Verify transactions with the App Store on a secure server.
![Validating receipts with the App Store | Apple Developer Documentation](https://cdn-ak-scissors.b.st-hatena.com/image/square/adf5912792dfda19653b4378f6036c402e3ed51c/height=288;version=1;width=512/https%3A%2F%2Fdocs.developer.apple.com%2Ftutorials%2Fdeveloper-og.jpg)
Verify transactions with the App Store on a secure server.
はじめに AWAサーバサイドエンジニアの辻(jun06t)です。 今回はiOSとAndroidの月額課金のための実装について書かせていただきます。 形式として読み物と言うよりドキュメントっぽくなっています。 理由は私が実装しようとした際に実装方法についてまとめて書かれた記事が少なく、「検証時に使えるフィールドはどれだろう?」「昔はこうだったけど、今は違う?」「Androidではできるけど、iOSではできない(逆も然り)」など、色々と分からない部分が多くとても困ったためです。 やや長い記事となったため、iOSの実装を前編、Androidの実装を後編として説明させていただきます。 注意事項 ※1:開発中にプラットフォーム側の仕様変更があったなど、記載している内容は情報が古い可能性があります。 ※2:記載している動作は十分に調査できていないものも含んでいるため、内容が不正確である可能性があること
こんにちは、バックエンドエンジニアのjoeです。 みなさんはお気に入りのアプリに月額課金をしたことがありますか?したことがない人は今すぐお気に入りのアプリをみつけて月額課金しましょう! 実際にiOSで月額課金をすると、課金の証明としてAppStoreがレシートを発行します。レシートと言ってもAppStoreが紙のレシートを送りつけてくるわけではなく、電子的な購入情報のことをレシートと呼びます。ユーザーが解約処理をしない限りAppStore側でレシートが自動更新される仕組みになっています。(月額課金の場合) その際に、AppStoreのサーバーにHTTPのPOSTリクエストでレシートを問い合わせ、現在の課金状況を知ることができます。このお問い合わせ処理と、レシートが不正なレシートでないかをチェックする処理を合わせてレシート検証と呼びます。 今回はiOSのレシート検証をクライアントのみでの検証
概要 App Storeのレシートは、Apple証明書で署名されたバイナリ形式の暗号化ファイルです。この暗号化ファイルの内容を読み取るには、このファイルをverifyReceiptエンドポイントで処理する必要があります。エンドポイントからの応答には、読み取り可能なJSON形式の本文が含まれます。App Storeとの通信は、RFC 4627で定義されているJSON辞書によって構造化されています。バイナリデータは、RFC 4648で定義されているように、Base64でエンコードされています。安全なサーバを通じて、App Storeでレシートを検証します。App Storeとの安全なネットワーク接続を確立する方法については、「安全でないネットワーク接続の回避」をご参照ください。 レシートデータの取得 macOS、iOS、iPadOSを実行しているデバイスのプロダクション環境では、アプリのレシー
準備 1. 契約 / 税金 / 口座情報の設定 App内課金を提供するには、有料App契約に署名し、税金および口座情報を設定する必要があります。 App Store Connectの「契約 / 税金 / 口座情報」のページで各種情報を入力をしてください。 ※ダウンロードが無料のアプリであっても、アプリ内課金を提供する場合、上の画像の有料Appのステータスがアクティブになっている必要があります。 アクティブでない場合、課金アイテムの取得などでエラーになります。 また直接ここが関係しているかは定かではないですが、課金アイテムの追加で自動更新サブスクリプションの項目が表示されませんでした。 2. Appの追加 App Store Connectでアプリのページを作成します。 「マイ App」で新規Appを選択して追加します。 3. 課金アイテムの追加 アプリのページを作成したら課金アイテムを追加
はじめに ここ数ヶ月の業務で、iOS/Androidそれぞれのアプリ内課金(In-App Purchase)、特に定期購読1(Subscription)について調査し、サーバーサイドの設計や実装をおこないました。その経験をもとに基本事項に始まり、ドキュメントからは読み取れないTips・小ネタまでを今の私に可能な限りまとめてあります。 できるだけ参考情報へのリンクも貼るようにしています。定期購読の実装には必要な知識が数多くあるため、この記事が少しでもその理解の助けとなれば幸いです。 ちなみに、公式ドキュメントにはきちんと目を通した方が良いですが、実態の変更にドキュメントが追いついていない困った部分も多々あります(特に日本語ページ)。この記事でもいくつか触れてはいますが、幅広く情報を集めつつ、最終的には実際に手元で試して情報の正しさを検証することをオススメします。 前提・注意事項 この記事は2
はじめに 本稿では、iOSアプリ開発に関する初歩的な情報を共有します。 ※本稿の情報は2020年2月現在です。 Xcode + Swiftによる開発を前提として記述しています。 私の認識違いなどがありましたらコメントでお知らせいただけると幸いです。 iOSアプリ開発に必要なもの Mac iOSアプリの開発ツールの"王道"は、Appleが提供しているXcodeです。 XcodeはMacでのみ動作します。 まずはMacの操作に慣れる必要があります。 Mac をはじめてお使いになる方(Apple公式) Xcode Xcode(エックスコード)はAppleが提供している、無料の統合開発ツール(IDE)です。 iPhone、iPad、Mac、Apple Watchのアプリを開発することができます。 Apple製品ユーザーであれば、Apple IDはお持ちかと思います。 MacとApple IDがあれ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く