Gửi thông tin khách hàng được xác thực
Để xác thực hồ sơ khách hàng, máy chủ backend của bạn phải thực hiện hai lệnh gọi API độc lập, chúng tôi khuyên bạn nên chạy song song để có hiệu suất tốt hơn:
-
createCart: Tạo giỏ hàng Zonos. Để được hướng dẫn chi tiết, hãy tham khảo phần Thiết lập Zonos Checkout trong tài liệu tích hợp tùy chỉnh. -
checkoutCustomerProfileAuthenticate: Gửi và xác thực thông tin của khách hàng.
mutation checkoutCustomerProfileAuthenticate($input: CheckoutCustomerProfileAuthenticateInput!) { checkoutCustomerProfileAuthenticate(input: $input) { email customerId organizationId name phone locations { administrativeArea countryCode locality line1 line2 postalCode } oneTimePassword }}Khi xác thực phiên khách hàng, hãy đảm bảo rằng customerId bạn chuyển vào yêu cầu phù hợp với hồ sơ chính xác để hiển thị thông tin khách hàng chính xác tại thanh toán. Hãy nhớ rằng khi tạo giỏ hàng, bạn không nên bao gồm customerId trong siêu dữ liệu, vì nó sẽ bị ghi đè.
Sau khi khách hàng được xác thực và đơn hàng được đặt, customerId sẽ có sẵn trong order.references khi lấy chi tiết đơn hàng thông qua truy vấn đơn hàng, cho phép bạn liên kết đơn hàng với khách hàng chính xác.
Tạo giỏ hàng với hồ sơ khách hàng
Sau khi bạn gọi cả hai mutation, bạn sẽ nhận lại những thứ sau:
-
cartIdtừ mutationcreateCartđể tạo giỏ hàng. -
Một
oneTimePasswordtừ mutationcheckoutCustomerProfileAuthenticateđể xác thực khách hàng.
Bạn có thể chuyển cả hai giá trị này vào callback createCartId trong hàm Zonos.init để tải thông tin hồ sơ khách hàng được cung cấp trong 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 || '', }; } },}Quản lý hồ sơ khách hàng
Lần đầu tiên bạn gửi thông tin khách hàng, Zonos sẽ lưu trữ thông tin khách hàng được cung cấp. Phương thức thanh toán sẽ được lưu trữ an toàn trong Stripe. Mỗi lần chi tiết địa chỉ hoặc phương thức thanh toán mới được chuyển vào, chúng sẽ được thêm vào hồ sơ của khách hàng.
Hiện tại, hồ sơ khách hàng chỉ có thể được cập nhật bằng thông tin bổ sung—các chi tiết hiện có không thể được chỉnh sửa hoặc xóa.
Hồ sơ khách hàng
Tải trước thông tin khách hàng lặp lại vào Zonos Checkout.Hồ sơ khách hàng hợp lý hóa trải nghiệm thanh toán của bạn bằng cách cho phép khách hàng có tài khoản tải trước địa chỉ và chi tiết thanh toán của họ.
Tính năng này hiện chỉ có sẵn cho tích hợp API tùy chỉnh. Tính năng này chưa có sẵn cho những nhà bán hàng sử dụng các plugin Checkout.