###どんな実装か
0. 現在各個人やショップに商品の支払いをiOSアプリ上に実装しております。
0. 商品購入完了後ポイントを商品を購入したユーザーにプレゼントします。
###聞きたいこと
1. 下記のフローで各個人やショップに商品の支払いは可能でしょうか? 2. このフローだと実装にあたりどのような懸念点・問題点が予測されるでしょうか? 3. このフローの中にもしできれば、cloud functionsでFirestoreにデータが書かれたことをトリガーとして、 在庫があるか確認して(Cloud firestore上の商品のデータの中に在庫数のデータあり)、 その在庫数を1引いた後に購入希望者がいるという旨のメールを送るという動作を入れたいのですが、そもそもこの動作は可能でしょうか?可能ならばしたのフローのいつのタイミングで行えば良いのでしょうか?
######各ショップ・個人への支払い(PayPal)
1. 金額を表示
2. 支払い方法を選択(銀行振り込み・PayPal)
3. PayPalを選択したらwebview等でアカウントログイン画面に飛ぶ
4. 3と同時にcloud firestore上に購入したい商品と購入者の名前、口座番号(どの口座から振り込まれたかあとで判別するため)データを書きこむ。
5. 以下の内容をwebview上でする
・支払いと請求のページに移動します。 ・受取人のメールアドレスまたは携帯電話番号を入力し、[次へ]をクリックします。 ・適切な支払いタイプを選択します。 友達や家族に支払う: 友達や家族へ個人間の支払いを行う場合は、こちらを選択します。 商品またはサービスに対する支払い: マーチャントへの商用支払いをするにはこれを選択し、PayPal買い手保護をご利用ください。 ・支払い金額を入力し、通貨を選択し、お客さまの受取人へのメッセージを追加し(任意)、[続行]をクリックします。 ・ 支払い情報を確認し、[今すぐ支払う]をクリックします。
6. navigationbar上のdoneボタンを押し、webviewを閉じる
7. ユーザーに支払いを完了したかどうかアプリ上で聞く
8.
・ユーザーが支払いを完了のボタンを押した場合、完了のデータをcloud firestoreに書き込み、その旨(paypalに登録しているemailか電話番号も含む)を出品者に伝える(バックエンド)
・ユーザーが支払いを未完了のボタンを押した場合、未完了のデータをcloud firestoreに書き込み、その旨を出品者に伝える(バックエンド)
・ なお出品元の商品管理画面にも支払いが完了したことを確認するボタンあり(商品を購入したユーザーがボタンを押すのを忘れることを懸念したため)
######ポイント付与の実装
- 今のところ出品者にこの商品は注文完了しましたという旨のボタンを押してもらい、
- cloud firestore上の購入された商品のデータの注文完了されたというデータを書き込み
- さらにcloud firestore内の商品を購入したユーザーのデータ上のポイント数に加算
###必要な言語等
iOS / Swift / JavaScript / Node.js
あなたの回答
tips
プレビュー