2011-07-01 24 views
2

拒否されたiPhoneアプリケーションを開発しました。このアプリケーションで私はSMS伝送サービスを提供します。私のウェブサイトでは、各ユーザーにアカウントがあり、SMSを送信できるようにWebサイトでクレジットを購入することができます。アプリ内購入の支払い確認を作成するにはどうすればよいですか?

拒否の理由は、私のアプリが私のウェブサイトである外部サービスを利用していたからです。彼らは、クレジットのためにアプリ内購入を使用しなければならないと言います。

今私は私のAPIを拡張しようとしています。したがって、購入がアプリ内で行われる場合、Webサーバーは購入があったことと購入のタイプを知る必要があります。これはHTTP-POSTを使用して行われます。

アプリストアで購入が正しく行われたことを確認できるため、簡単なURLを作成してユーザーアカウントに登録することができます。しかし、ハッキングを防ぐために、ちょうどセキュリティ上の理由から、何らかの種類の暗号化が必要だと私は考えています。

など。アプリの支払い処理が成功した場合、私はWebサーバーにHTTP POSTを送信します。これには、Webサーバーによって暗号化できる暗号化されたキーが含まれています。

このすべてについてどう思いますか?アプリ内購入に関して私のapiを安全にするにはどうしたらいいですか?

他の提案やアイデアはありますか?

答えて

6

実際には、クレジットが購入されたことをサーバーに知らせるために、デバイス上のアプリのために何らかの方法を発明しようとするよりも、おそらくServer Product Modelを調べるべきです。 Verifying Store Receiptsのセクションは便利です。要するに、あなたのアプリはtransactionReceiptの内容をサーバーに(理想的にはHTTPS経由で)送信します。サーバーはbase64でエンコードし、シンプルなJSONオブジェクトに埋め込み、Appleにステータスを通知し、購入情報を確認します。

-1

はい正しいです。それが最善の方法です。アプリ内購入(IAP)を使用してユーザーがクレジットを購入する場合、購入の代理方法が成功するでしょう。したがって、このデリゲートメソッドでサーバーAPIを呼び出し、サーバーデータベースのユーザーテーブルにクレジット番号のフラグを設定することができます。あなたはこの情報を暗号化して送ることができ、あなたのサーバはそれを解読してあなたのデータベースに挿入します。

1

public key encryptionでこのwiki記事をチェックしてください。これはおそらく何を使うべきかです。

CommonCryptoは、このタイプの暗号化を処理するiOSで利用できるモジュールです。このモジュールを使用するiOSデベロッパーライブラリには、sample projectがあります。

関連する問題