ホームページ > WeChat アプレット > WeChatの開発 > iOS WeChat決済開発事例コードの詳細説明

iOS WeChat決済開発事例コードの詳細説明

高洛峰
リリース: 2017-03-27 13:30:34
オリジナル
2331 人が閲覧しました

この記事では主にiOS WeChat決済の開発事例を詳しく紹介しますので、興味のある方は参考にしてください

WeChat決済には多くの落とし穴があり、提供されている公式ドキュメントはまったく包括的ではなく、デモも「」です。恥ずかしがり屋で、理解するのが難しいです。注意した内容が反映されていない部分も多く、回り道も多くなりました。したがって、システム開発のプロセスは次のようになります。 (完全なデモはブログの最後に添付されています) これには、WeChat 決済開発と Alipay 開発呼び出しクライアントの互換処理が含まれます。 (2 つの署名はモバイル側に配置されます。ブログでは WeChat クライアントがインストールされていない状況については言及されていません。また、このメソッド [WXApi sendReq:request] を呼び出したときの戻り値 0 によって判断することも非常に簡単です。)

1. 環境設定

1. 1 つ目は、https プロトコルへのアクセスです。plist にホワイトリストを設定します

iOS WeChat決済開発事例コードの詳細説明

2. プロジェクトに WeChat 共有、収集、支払い、ログインなどがある場合、以下を行う必要があります。 「Info.plist」(LSApplicationQueriesSChemes)に次のコードを追加します

iOS WeChat決済開発事例コードの詳細説明

3、BitCodeコンパイルは解決しますが問題は解決しません

iOS WeChat決済開発事例コードの詳細説明

4、URLタイプを設定します

iOS WeChat決済開発事例コードの詳細説明

5、SDKをインポートします(移植可能) WeChat の公式デモより)

iOS WeChat決済開発事例コードの詳細説明

6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, システム依存関係ライブラリをインポートします

iOS WeChat決済開発事例コードの詳細説明

7. 特別な注意

WeChat の支払いはセント単位であることに注意してください。つまり、小数点以下 2 桁で金額を支払う場合、支払い金額は WeChat 支払いプラットフォームに送信する前に *100 でなければなりません。 、その他についても同様です。

2. コード開発

1. プログラムの入り口 (つまり、applegate.m) で必要な操作

iOS WeChat決済開発事例コードの詳細説明

2. 次のプロキシ メソッドを追加します。そうしないと、WeChat カスタマー サービスはコールバックされません (デリゲートでも) .m ファイル)

iOS WeChat決済開発事例コードの詳細説明

3. WeChat 支払い成功のコールバック関数

これについては公式ドキュメントで説明されています: カスタマー サービス側での支払い成功の結果は、つまり、顧客サービスの支払いが成功した後、WeChat 支払いプラットフォームは支払い成功メッセージをサーバーに送信し、注文ステータスを変更します。背景を取得し、クライアントに返します。簡単なことは、支払いが成功した場合、特定のビュー コントローラー (WeChat 支払い機能を備えたビュー コントローラー) に通知を送信する必要があるということです。これにより、この特定のビュー コントロールはサーバー注文のステータスをリクエストできるようになります。

このコールバック関数は delegate.m で記述する必要があります!!!

iOS WeChat決済開発事例コードの詳細説明

4. 特定のビューコントローラー (WeChat 支払い機能を備えたビューコントローラー) のコード
4.1 前払い注文を送信して、予約注文 ID を取得します (このプロセスは 2 回署名する必要があります。1 つはパラメーターなし、もう 1 つはパラメーターありです。メソッドは payRequsestHandler クラスにカプセル化されています。メソッドを呼び出すためにパラメーターを渡すだけです。) これは、支払いボタンをクリックするアクション メソッドでもあります

iOS WeChat決済開発事例コードの詳細説明

4.2 前払い注文を取得した後、WeChat 支払いを調整できます。サービス側 (4.2 と 4.1 のコードは連続しています)

iOS WeChat決済開発事例コードの詳細説明

署名パラメーターの署名を持つ 2 つの独立したカプセル化メソッド。使用後に問題があったため、自分で作成しました。問題は次のとおりです)、最初にコードのスクリーンショットを撮ってから、直接コピーして貼り付けることができるコード ブロックを提供します: (多くの人が遭遇したことがあると思いますが、その問題の 100% は記号の問題です。 ) :

iOS WeChat決済開発事例コードの詳細説明

4.3 上記のコードは WeChat の支払いの問題を完全に解決できます。最後のステップが残っています。支払いが成功すると、アプリに戻り、デリゲートの -(void)onResp:(BaseResp*)resp メソッドが呼び出されます。次に、バックグラウンド注文ステータスをリクエストするために、ここに通知を送信する必要があります。ここで説明したいのは、そのインターフェイスから WeChat Pay を調整した後、戻ったときも同じ場所にあるということです。コールバック メソッドがデリゲート内に存在する必要があるため、成功の通知はコールバック メソッドで送信される必要があるというだけです。次に、表示される特定のビュー コントローラーのビューのメソッドでこの通知をリッスンし、バックグラウンド オーダー ステータスをリクエストする必要があります。ここで注意する必要があるのは、通知を削除するには dealloc メソッドを書き直す必要があるということです。

iOS WeChat決済開発事例コードの詳細説明

3. AlipayおよびWechatのプロキシメソッドの互換処理コールバッククライアント

iOS WeChat決済開発事例コードの詳細説明

4。コピーと貼り付け(署名の署名)で利用可能なデモコード

以上がiOS WeChat決済開発事例コードの詳細説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート