実装フロー
前提
Amazonサインインは、Amazon Payでの決済を行うお客様が 次回から事業者サイトのID/PWを利用せずにAmazonのID/PWを使って事業者サイトにもログインできるようにするものです。
『AmazonのID/PWを使って事業者サイトにもログインできるようにする』ためには、 購入者がAmazon PayまたはSignInをご利用の際に Amazonから連携するAmazonアカウント保有者のUnique ID (buyerId)を、事業者が会員IDと紐付けて保存しておく必要があります。
buyerIdは、Amazonサインイン実行時以外に、Amazon Pay(「Amazonアカウントでお支払い」ボタン)をご利用時にもAPIで取得することが可能です。
そのため、ログインフローまたは購入処理フローの中でこのbuyerIdを事業者サイト会員IDと紐付けて保存します。
- Amazon Pay(「Amazonアカウントでお支払い」ボタン)の場合は、Get Checkout Session APIのresponse内に buyerデータとしてご連携します。
- Amazonサインイン(「Amazonログイン」ボタン)の場合は、Get Buyer APIのresponse内にbuyerデータとしてご連携します。
購入時にAmazon Payでログインされた場合は、Amazon Payでの支払い意思があるため、お支払い方法としてAmazon Payが選択された状態で表示ください。
buyerId紐付けと利用に関する流れ
buyerId紐付けおよび利用に関する流れをご説明します。
1. 未会員の場合(購入導線で会員登録およびbuyerId紐付け)
- 例えば、購入者がカート画面に表示されたAmazon Payボタンをクリックしたとします。
- 購入者はAmazon Pay Hosted page上でログイン+続行し、事業者の指定するURLへリダイレクトされた際、事業者はGet Checkout Session APIを呼び出し 情報を取得します(返される情報の中には、お届け先やお支払い方法の他に、buyer情報としてbuyerId、メールアドレス、氏名、請求先住所、電話番号等が返されます)
- 事業者は、Get Checkout Session APIで返された情報を使って、購入者に注文確認ページをレンダリングします。
会員登録の必須有無や、会員登録を購入より前に行うのか後に行うのか、によりますが、会員登録必須かつ購入より前に行う必要がある場合は、会員登録に必要な情報は可能な限りAmazonから取得したbuyer情報、billingAddressを使用(会員登録フォームにプレフィル等)し、不足する項目のみを入力項目として用意します。
Amazonサインインを利用する場合は、事業者独自の会員IDやパスワードを購入者が意識する必要はなくなりますので、入力項目としてパスワードは不要となる想定です。
- 購入者が注文確認ページで内容を確認し「購入完了」ボタンをクリックした際に、事業者はAmazon Payでの決済を完了させると共に、事業者の会員DBに会員情報を保存し、AmazonのbuyerIdを会員IDと一緒に紐付けて保存します(事業者独自の会員PWを購入者が意識する必要はないため、PWは裏側で仮PWを自動生成して保存する等の処理を行います)。
次回購入者が事業者サイトを訪問した際
- ログイン画面で「Amazonでログイン」ボタンをクリックしログインした場合
この際、事業者はGet Buyer APIを呼び出してbuyerIdを取得し、buyerIDを事業者の会員DB内で検索します。
存在する場合は、当該会員として裏側で事業者サイト会員としてログイン処理を行います。 - ログイン画面へいかず(未ログイン状態)、カート画面から直接「Amazon Pay」ボタンをクリックした場合
この際に事業者はGet Checkout Session APIを呼び出しbueyrIdを取得し、buyerIDを事業者会員DB内で検索します。
存在する場合は、当該会員として裏側で事業者サイト会員としてログイン処理を行いつつ、購入フローを続行します。
2. 既存会員の場合(購入導線でのbuyerId紐付け)
- 例えば、購入者が事業者独自の会員IDでログインした状態で、カート画面に表示されたAmazon Payボタンをクリックしたとします。
- 購入者はAmazon Pay Hosted page上でログイン+続行し、事業者の指定するURLへリダイレクトされた際、事業者はGet Checkout Session APIを呼び出して情報を取得します(返される情報の中には、お届け先やお支払い方法の他に、buyer情報としてbuyerId、メールアドレス、氏名、請求先住所、電話番号等が返されます)
- 事業者は、Get Checkout Session APIで返された情報を使って購入者に注文確認ページをレンダリングします。
- 購入者が注文確認ページで内容を確認し「購入完了」ボタンをクリックした際に、事業者はAmazon Payでの決済を完了させると共に、事業者の会員DBにAmazonのbuyerIdを会員IDと紐付けて保存します。
次回購入者が事業者サイトを訪問した際
- ログイン画面で「Amazonでログイン」ボタンをクリックしログインした場合
この際、事業者はGet Buyer APIを呼び出してbuyerIdを取得し、buyerIDを事業者の会員DB内で検索します。
存在する場合は、当該会員として裏側で事業者サイト会員としてログイン処理を行います。 - ログイン画面へいかず(未ログイン状態)、カート画面から直接「Amazon Pay」ボタンをクリックした場合
この際に事業者はGet Checkout Session APIを呼び出しbueyrIdを取得し、buyerIDを事業者の会員DB内で検索します。
存在する場合は、当該会員として裏側で事業者サイト会員としてログイン処理を行いつつ、購入フローを続行します。
3. サイト内マイページなどで「外部ID連携」といった機能をすでにご利用の場合
外部IDの一つとしてAmazonログインを導入し、既存会員がマイページから事前にbuyerIdを会員IDと連携するという設計が可能です。
フロー図
購入フロー
未会員の購入フローは、未会員の決済+会員登録フロー をご覧ください
既存会員の購入フローは、既存会員向け決済フロー をご覧ください
既存会員の決済フローの中で、決済が成功したら、会員DBにAmazonのbuyerId(Get Checkout Session APIで取得したもの)を会員IDに紐付けて保存 しておきます。
それぞれのフローの中で、会員IDとbuyerIdを紐付けできた後で、次回購入者がサイトを訪問した際のフローを以下にご紹介します。