認証済み顧客情報の送信
顧客プロファイルを認証するには、バックエンドサーバーが2つの独立したAPI呼び出しを行う必要があります。パフォーマンス向上のため、並行実行することを推奨します:
-
createCart:Zonosカートを生成します。詳細は、カスタム統合ドキュメントのZonos Checkoutのセットアップセクションを参照してください。 -
checkoutCustomerProfileAuthenticate:顧客情報を送信して検証します。
mutation checkoutCustomerProfileAuthenticate($input: CheckoutCustomerProfileAuthenticateInput!) { checkoutCustomerProfileAuthenticate(input: $input) { email customerId organizationId name phone locations { administrativeArea countryCode locality line1 line2 postalCode } oneTimePassword }}顧客セッションを検証する際、リクエストで渡す customerId がCheckoutで正確な顧客情報を表示する正しいプロファイルと一致していることを確認してください。カート作成時にメタデータに customerId を含めないでください。上書きされます。
顧客が認証され注文が確定すると、orderクエリで注文詳細を取得する際に order.references で customerId が利用可能になり、注文を正しい顧客に関連付けられます。
顧客プロファイル付きカートの作成
両方のミューテーションを呼び出すと、次が返されます:
-
カート生成用の
createCartミューテーションからのcartId -
顧客認証用の
checkoutCustomerProfileAuthenticateミューテーションからのoneTimePassword
これら両方の値を Zonos.init 関数の createCartId コールバックに渡すと、Checkoutに提供された顧客プロファイル情報を読み込めます。
Zonos.init({ ... checkoutSettings: { ... createCartId: async () => { const result = await fetch( 'https://api.merchant.com/api/get-cart-info', { body: JSON.stringify(payload), method: 'POST', }, ); const json = await result.json(); return { cartId: json.cartId, customerAuthenticationToken: json.customerProfileAuthenticate ?.checkoutCustomerProfileAuthenticate.oneTimePassword || '', }; } },}顧客プロファイルの管理
初回の顧客情報送信時、Zonosは提供された顧客情報を保存します。支払い方法はStripeに安全に保存されます。新しい住所または支払い方法の詳細が渡されるたびに、顧客のプロファイルに追加されます。
現在、顧客プロファイルは追加情報でのみ更新できます — 既存の詳細は編集または削除できません。
顧客プロファイル
Zonos Checkoutにリピート買い物客情報を事前読み込みします。顧客プロファイルは、アカウントを持つ顧客が住所と支払い詳細を事前読み込みできるため、Checkout体験を効率化します。
この機能は現在、カスタムAPI統合でのみ利用可能です。Checkoutプラグインを使用する事業者にはまだ提供されていません。