DOCS

Hồ sơ khách hàng

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.

Để 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.

1mutation checkoutCustomerProfileAuthenticate(
2$input: CheckoutCustomerProfileAuthenticateInput!
3) {
4 checkoutCustomerProfileAuthenticate(input: $input) {
5 email
6 customerId
7 organizationId
8 name
9 phone
10 locations {
11 administrativeArea
12 countryCode
13 locality
14 line1
15 line2
16 postalCode
17 }
18 oneTimePassword
19 }
20}

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.

Sau khi bạn gọi cả hai mutation, bạn sẽ nhận lại những thứ sau:

  • cartId từ mutation createCart để tạo giỏ hàng.

  • Một oneTimePassword từ mutation checkoutCustomerProfileAuthenticate để 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.

1Zonos.init({
2 ...
3 checkoutSettings: {
4 ...
5 createCartId: async () => {
6 const result = await fetch(
7 'https://api.merchant.com/api/get-cart-info',
8 {
9 body: JSON.stringify(payload),
10 method: 'POST',
11 },
12 );
13 const json =
14 await result.json();
15 return {
16 cartId: json.cartId,
17 customerAuthenticationToken:
18 json.customerProfileAuthenticate
19 ?.checkoutCustomerProfileAuthenticate.oneTimePassword ||
20 '',
21 };
22 }
23 },
24}

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.

Trang này có hữu ích không?