Làm theo danh sách kiểm tra toàn diện này để thiết lập tài khoản Dashboard của Zonos và tích hợp Zonos Checkout vào trang web hoặc nền tảng tùy chỉnh của bạn.
1
Tạo tài khoản Zonos
Để bắt đầu, vui lòng liên hệ với đội bán hàng của chúng tôi để tạo tài khoản và ký một thỏa thuận. Sau khi thỏa thuận được ký, bạn sẽ nhận được hai lần gửi tiền nhỏ vào tài khoản của mình cần được xác minh.
Vui lòng gửi email những số tiền gửi tiền nhỏ này đến accounting@zonos.com với ID cửa hàng Dashboard của bạn (CC đại diện bán hàng của bạn).
Sau khi xác minh, chi tiết ngân hàng của bạn sẽ hiển thị trong Dashboard -> Settings -> Billing.
2
Cấu hình cài đặt Dashboard và Checkout
Sau khi tạo tài khoản Zonos, bạn sẽ cần cấu hình cài đặt trong Dashboard để đảm bảo Checkout hoạt động đúng cách với cửa hàng của bạn. Phần này bao gồm tất cả các cấu hình Dashboard cần thiết.
Kết nối tài khoản ngân hàng để nhận các khoản chi trả kịp thời từ Checkout. Các khoản chi trả được xử lý hàng ngày với độ trễ 2 ngày kể từ khi thanh toán được ghi nhận. Để làm điều này, vui lòng làm theo các bước sau:
Tập lệnh JS của Zonos yêu cầu một danh sách các miền được phép cho các mục đích bảo mật. Điều này ngăn ngừa các trang web trái phép tải tập lệnh và đảm bảo nó chỉ chạy trên các miền được phê duyệt của bạn. Nếu không cấu hình này, tập lệnh sẽ trả về lỗi quyền.
Dưới URLs, thêm miền đầy đủ và bất kỳ miền phụ nào nơi Checkout sẽ được sử dụng. Ví dụ: nếu miền của bạn là example.com, bạn nên thêm example.com và test.example.com.
Để báo giá vận chuyển tại Checkout, bạn sẽ cần kết nối một nhà cung cấp dịch vụ vận chuyển với tài khoản Zonos của bạn. Điều này sẽ cho phép bạn bật các mức dịch vụ vận chuyển cụ thể tại Checkout.
Để kết nối nhà cung cấp dịch vụ vận chuyển, vui lòng làm theo các bước sau:
Điều hướng đến Dashboard -> Settings -> Shipping -> Rates
Nhấp vào Add carrier
Làm theo hướng dẫn thiết lập nhà cung cấp dịch vụ.
Để biết thêm chi tiết về kết nối các tài khoản nhà cung cấp dịch vụ, hãy xem tài liệu của chúng tôi.
Quốc gia gốc và mã HS được sử dụng để tính toán thuế suất và thuế chính xác.
Nếu bạn không cung cấp quốc gia gốc hoặc mã HS cụ thể, chúng tôi sẽ sử dụng các giá trị dự phòng được thiết lập trong Dashboard.
Để đặt quốc gia gốc và mã HS dự phòng của bạn:
Điều hướng đến Dashboard -> Settings -> Shipping -> Catalog.
Đối với quốc gia gốc, chọn quốc gia nơi phần lớn các sản phẩm của bạn được sản xuất.
Đối với mã HS, nhập mã HS của sản phẩm phổ biến nhất của bạn. Nếu bạn không có mã HS, điều hướng đến Classify trong Dashboard và nhập tên và mô tả sản phẩm của bạn để tạo mã HS chính xác.
3
Cài đặt đoạn mã JS Zonos
Đoạn mã JS Zonos là một tích hợp JavaScript phía máy khách cho phép chức năng checkout toàn cầu trên trang web của bạn. Nó hoạt động như là cầu nối giữa nền tảng thương mại điện tử của bạn và các dịch vụ Zonos, xử lý:
Trải nghiệm Checkout: Kết xuất giao diện Checkout và xử lý thanh toán.
Dịch vụ Vị trí: Phát hiện vị trí của khách truy cập và quản lý chuyển đổi tiền tệ.
Tích hợp Giỏ hàng: Kết nối với hệ thống giỏ hàng và đơn hàng hiện có của bạn.
Bảo mật: Xác thực các miền và xác thực các yêu cầu API.
Đoạn mã được tải không đồng bộ để ngăn chặn bất kỳ tác động nào đến hiệu suất trang web của bạn. Nó khởi tạo với thông tin đăng nhập API của cửa hàng của bạn và xử lý tất cả các tương tác phía máy khách một cách an toàn. Việc triển khai được thiết kế để không xâm nhập, yêu cầu những thay đổi tối thiểu đối với luồng thanh toán hiện có của bạn.
Dưới đây là một ví dụ hoàn chỉnh bao gồm tải tập lệnh, khởi tạo và xử lý sự kiện để tham khảo khi tích hợp Checkout.
Chúng tôi khuyên bạn nên nối một dấu thời gian hoặc định danh duy nhất khác vào URL để đảm bảo rằng tập lệnh không được bộ nhớ đệm của trình duyệt. Điều này sẽ đảm bảo rằng phiên bản tập lệnh mới nhất luôn được tải. Điều này được hiển thị trong dòng 10 của ví dụ hoàn chỉnh.
Sau khi tải tập lệnh JS của Zonos, bạn cần xác thực nó bằng cách chuyển một khóa API công khai của Zonos và ID cửa hàng vào hàm Zonos.init. Khóa API công khai được sử dụng để xác thực Checkout được thiết kế để có thể xuất bản, có nghĩa là nó có thể được sử dụng an toàn trong mã phía trước mà không tiết lộ bất kỳ thông tin nhạy cảm nào.
Để tìm ID cửa hàng và khóa API của bạn, điều hướng đến Dashboard -> Settings -> Integrations. Đảm bảo rằng bạn không sử dụng Secret API key, vì nó không được thiết kế để sử dụng trong mã phía trước. Điều này được hiển thị trong dòng 29 và 30 của ví dụ hoàn chỉnh.
1Zonos.init({
2// ... other fields
3zonosApiKey: 'Your API KEY', // Replace with your actual API key (found in Dashboard)
4storeId: 'Your STORE ID', // Replace with your actual store ID (found in Dashboard)
Nếu trang web của bạn đặt một Chính sách bảo mật nội dung, hãy thêm các miền dưới đây vào các chỉ thị CSP tương ứng. Chính sách này áp dụng cho cả Checkout và Hello — đoạn mã Zonos tải các tập lệnh, bảng định kiểu, phông chữ, hình ảnh và thực hiện các yêu cầu mạng, vì vậy chặn bất kỳ tài nguyên nào sẽ phá vỡ luồng Checkout hoặc màn hình Hello. Danh sách style-src cũng áp dụng cho style-src-elem.
Ghi chú: Bỏ qua bước này nếu trang web của bạn không gửi tiêu đề CSP. Chỉ những thương nhân thực thi CSP tùy chỉnh trên các trang của họ mới cần cập nhật nó.
1cdn.jsdelivr.net/npm/@zonos
2cdnjs.cloudflare.com/ajax/libs/zonos-elements
3unpkg.com/@zonos/elements
4js.zonos.com
5*.js.zonos.com
6assets.zonos.com
7zonos-store-assets.s3.amazonaws.com
8js.stripe.com
9a.stripecdn.com
10b.stripecdn.com
11c.stripecdn.com
12checkout.stripe.com
13f.stripecdn.com
14hcaptcha.com
15hooks.stripe.com
16m.stripe.com
17m.stripe.network
18pay.stripe.com
19payments.stripe.com
20q.stripe.com
21r.stripe.com
4
Thiết lập Hello
Hello là bắt buộc khi sử dụng Checkout.
Hello chịu trách nhiệm phát hiện vị trí, ngôn ngữ và tiền tệ của khách truy cập, và hiển thị thông tin thích hợp cho họ. Bạn có thể cấu hình tất cả cài đặt Hello trong Dashboard hoặc trong tập lệnh JS Zonos. Nếu bạn đã cấu hình Hello trong Dashboard, tập lệnh sẽ tải những cài đặt đó và sử dụng chúng. Nếu bạn chỉ định bất kỳ giá trị nào trong thuộc tính helloSettings của hàm Zonos.init, tập lệnh sẽ sử dụng những giá trị đó thay thế như hiển thị dưới đây.
Hello sử dụng các bộ chọn CSS để xác định các phần tử trên trang web của bạn hiển thị thông tin tiền tệ. Chuyển những bộ chọn này tới thuộc tính helloSettings.currencyElementSelector của hàm Zonos.init để Hello có thể phát hiện và hiển thị đúng tiền tệ của người mua hàng quốc tế.
Bạn có thể sử dụng bất kỳ bộ chọn CSS hợp lệ nào ở đây, ví dụ: #price, .price để chọn nhiều phần tử khác nhau. Điều này được hiển thị trong dòng 23 và 24 của ví dụ hoàn chỉnh.
1Zonos.init({
2// ... other fields
3helloSettings: {
4currencyElementSelector: '.price', // Replace with your actual selector
Theo mặc định, Hello chỉ sẽ mở khi khách truy cập nhấp vào nút cờ. Nếu bạn muốn tự động mở Hello khi trang tải, bạn có thể gọi hàm Zonos.openHelloDialog() sau khi tập lệnh Zonos được tải. Điều này được hiển thị trong dòng 25 và 26 của ví dụ hoàn chỉnh.
Kiểm soát những quốc gia của người mua hàng nào nhìn thấy Hello và những quốc gia nào xuất hiện trong thả xuống bộ chọn quốc gia từ Dashboard. Điều hướng đến Dashboard -> Settings -> Hello và tìm phần Country display rules.
Kiểm soát những quốc gia của người mua hàng nào nhìn thấy tiện ích Hello. Chọn một trong các quy tắc cơ sở, sau đó sử dụng danh sách Always show và Never show để ghi đè các quốc gia cụ thể.
All countries - Mọi quốc gia mà Hello hỗ trợ.
Only shippable countries - Các quốc gia bạn vận chuyển từ cài đặt vận chuyển của bạn.
Always show - Các quốc gia luôn xuất hiện, ngay cả khi quy tắc cơ sở loại trừ chúng.
Never show - Các quốc gia không bao giờ xuất hiện, ngay cả khi quy tắc cơ sở bao gồm chúng.
Kiểm soát những quốc gia nào xuất hiện trong thả xuống bộ chọn quốc gia Hello, sử dụng cùng các quy tắc cơ sở cộng với các ghi đè Always show và Never show.
Deprecated JS options
Các thuộc tính showForCountries và showCountryList trên helloSettings không được dùng nữa. Định cấu hình các quy tắc hiển thị quốc gia trong Dashboard thay thế — các giá trị được đặt ở đó sẽ được tải tự động bởi tập lệnh JS Zonos.
5
Thiết lập Checkout
Checkout chịu trách nhiệm cho phép khách hàng nhập thông tin vận chuyển và thanh toán của họ, tính toán landed cost, thu thập thanh toán và hoàn thành đơn hàng.
Checkout sẽ chia sẻ dữ liệu theo ngữ cảnh với Hello, chẳng hạn như vị trí, ngôn ngữ và tiền tệ của khách truy cập. Điều này đảm bảo rằng trải nghiệm của khách hàng nhất quán trên toàn bộ quá trình mua sắm.
Bạn có thể cấu hình tất cả cài đặt Checkout trong cả Dashboard và tập lệnh JS Zonos. Nếu bạn đã cấu hình Checkout trong Dashboard, tập lệnh sẽ tải những cài đặt đó và sử dụng chúng. Nếu bạn chỉ định bất kỳ giá trị nào trong thuộc tính checkoutSettings của hàm Zonos.init, tập lệnh sẽ sử dụng những giá trị đó thay thế.
Tập lệnh JS Zonos sẽ tự động nhận dạng những người mua hàng quốc tế và hướng họ tới luồng Checkout. Tuy nhiên, bạn sẽ cần cấu hình nút 'đặt hàng' trên nền tảng của bạn để mở Checkout khi nhấp vào. Điều này có thể được thực hiện bằng cách chuyển một bộ chọn CSS tới thuộc tính checkoutSettings.placeOrderButtonSelector của hàm Zonos.init.
Nếu bạn có nhiều nút có thể được sử dụng để đặt hàng, hãy chắc chắn chuyển một bộ chọn cho mỗi nút. Ví dụ: #placeOrder, .place-order.
Điều này được hiển thị trong dòng 21 của ví dụ hoàn chỉnh.
1Zonos.init({
2// ... other fields
3checkoutSettings: {
4// ... other fields
5placeOrderButtonSelector: '#placeOrder', // Replace with your actual selector(s)
Để hiển thị chi tiết giỏ hàng cho khách hàng, bạn cần tạo một hàm phía máy chủ sẽ gọi API Zonos để tạo giỏ hàng, và sau đó chuyển ID giỏ hàng đó trở lại phía trước. Điều này sẽ đảm bảo rằng chi tiết giỏ hàng không được tiết lộ cho khách hàng theo cách có thể bị thao tác.
Lệnh gọi API phía sau của bạn sẽ sử dụng mã thông báo thông tin đăng nhập GraphQL bí mật, khác với mã thông báo công khai mà bạn sử dụng để xác thực tập lệnh JS Zonos. Mã thông báo này có thể được truy xuất trong Dashboard -> Settings -> Integrations. Mã thông báo bí mật cần được chuyển làm tiêu đề trong lệnh gọi API của bạn.
Mutation cartCreate chấp nhận danh sách các mục, được định dạng theo lược đồ mục giỏ hàng.
1// Create new cart from serverside
2asyncfunctioncreateCart() {
3/**
4 * Full cart mutation schema: https://zonos.com/developer/mutations/cartCreate
5 * */
6const graphql = JSON.stringify({
7query: `
8mutation cartCreate($input: CartCreateInput!){
9 cartCreate(input: $input) {
10 id
11 adjustments {
12 amount
13 currencyCode
14 description
15 productId
16 sku
17 type
18 }
19 items {
20 id
21 name
22 amount
23 currencyCode
24 quantity
25 sku
26 description
27 metadata {
28 key
29 value
30 }
31 }
32 metadata {
33 key
34 value
35 }
36 }
37}`,
38variables: {
39/**
40 * input for the cartCreate is this schema https://zonos.com/developer/types/CartCreateInput
Chúng tôi đề xuất tạo một điểm cuối API trên phía máy chủ của bạn và sau đó gọi điểm cuối đó từ tích hợp JS phía trước của bạn, được chi tiết trong bước tiếp theo.
Sau khi tạo giỏ hàng trên phía máy chủ, bạn cần chuyển ID giỏ hàng tới tập lệnh JS Zonos. Điều này có thể được thực hiện bằng cách sử dụng lệnh gọi lại createCartId là một phần của hàm Zonos.init. Checkout sau đó sẽ truy xuất an toàn chi tiết giỏ hàng từ Zonos khi mở, ngăn chặn bất kỳ thao tác nào với giỏ hàng. Xem ví dụ mã bên dưới.
Giá trị của createCartId không thể là giá trị tĩnh, nó phải là một hàm.
Nếu bạn cần hiển thị một thông báo ngắn, động bên trong Checkout — ví dụ: một thông báo pháp lý khi có sản phẩm cụ thể trong giỏ hàng — bạn có thể trả về mảng customMessage từ lệnh gọi lại createCartId. Mỗi mục trong mảng được hiển thị trên một dòng riêng của cùng một biểu ngữ thông tin, ngay bên dưới Tổng đơn hàng.
Cú pháp liên kết Markdown — [nhãn liên kết] theo sau bởi (https://example.com) — được kết xuất dưới dạng thẻ neo, để những người mua hàng có thể nhấp qua. URL https:// đơn giản trong văn bản cũng được tự động liên kết. Mọi thứ khác được kết xuất dưới dạng văn bản đơn giản, vì vậy HTML trong chuỗi được thoát (escape) thay vì thực thi.
Chỉ một biểu ngữ được hiển thị trên Checkout, bất kể bạn chuyển bao nhiêu dòng.
1Zonos.init({
2// ... other fields
3checkoutSettings: {
4createCartId: async () => {
5const response = awaitfetch(
6'https://api.merchant.com/api/get-zonos-cart',
7 {
8method: 'POST',
9headers: {
10'Content-Type': 'application/json',
11 },
12 },
13 );
14const json = await response.json();
15
16return {
17cartId: json.id,
18// Each item is rendered on a new line of the same info banner.
19// Markdown links `[text](url)` become `<a>` tags.
20customMessage: [
21'Some items in your cart are subject to California regulations.',
22'Please review the required notice [here](https://oag.ca.gov/prop65).',
23 ],
24 };
25 },
26 },
27});
Ghi chú: Văn bản thông báo được kết xuất dưới dạng văn bản đơn giản — các thẻ HTML trong chuỗi được thoát (escape), vì vậy chỉ cú pháp liên kết Markdown mới được diễn giải. Quyết định có bao gồm customMessage phía máy chủ dựa trên nội dung giỏ hàng để biểu ngữ chỉ xuất hiện khi nó liên quan.
Nếu bạn có logic tùy chỉnh và cần kích hoạt Zonos Checkout theo lập trình, bạn có thể sử dụng hàm Zonos.triggerCheckoutInternational() để mở cửa sổ Zonos Checkout sau khi Zonos được khởi tạo. Điều này sẽ gọi lệnh gọi lại createCartId được định nghĩa trong Zonos.init ở trên và mở cửa sổ Zonos Checkout.
1// For example: During your domestic checkout flow, trigger Zonos checkout when the user selects a non-domestic country (e.g., not "US")
2const domesticCountry = 'US';
3document.querySelector('.country-select').addEventListener('change', e => {
Nếu bạn muốn tách quá trình thanh toán cho những người mua hàng trong nước và quốc tế, bạn có thể thêm nút International checkout vào trang web của bạn. Thay vì kích hoạt theo cách thủ công Zonos Checkout bằng Zonos.triggerCheckoutInternational, bạn có thể cấu hình Zonos.init bằng bộ chọn thích hợp. Bộ chọn sẽ bị vô hiệu hóa cho đến khi Zonos được khởi tạo, khi nút được nhấp vào, nó sẽ tự động kích hoạt Zonos Checkout. Điều này sẽ gọi lệnh gọi lại createCartId được định nghĩa trong Zonos.init và mở cửa sổ Zonos Checkout.
1Zonos.init({
2// ... other fields
3checkoutSettings: {
4// ... other fields
5alwaysTriggerInternationalCheckoutSelector: '#trigger-zonos-checkout', // Replace with your actual selector, button bound to this selector will always trigger Zonos checkout
Zonos Checkout có thể chuyển tiếp toàn bộ phễu Checkout tới các công cụ phân tích hiện có của bạn. Đối với mỗi bước, Zonos phát ra:
Sự kiện zonos-checkout-... gốc tới GA4 (thông qua gtag('event', ...)) và tới Meta dưới dạng sự kiện tùy chỉnh (thông qua fbq('trackCustom', ...)).
Sự kiện tiêu chuẩn tương ứng tới Meta khi có — InitiateCheckout, AddPaymentInfo và Purchase — để tính năng tối ưu hóa và báo cáo chuyển đổi tích hợp sẵn của Meta hoạt động ngay mà không cần cấu hình thêm.
Cách sự kiện đến với nhà cung cấp của bạn phụ thuộc vào cách Checkout được kết xuất trên trang web của bạn. Chọn con đường phù hợp với tích hợp của bạn.
Khi phần tử tùy chỉnh <zonos-checkout> được gắn kết trên trang của riêng bạn (mặc định cho tích hợp tập lệnh JS Zonos được mô tả ở trên), window.gtag và window.fbq của trang đã có trong phạm vi. Zonos gọi chúng trực tiếp — không cần relay hay chuyển giao pixel ID.
Thiết lập:
Hãy chắc chắn rằng trang của bạn đã có thẻ cơ sở GA4 và/hoặc mã cơ sở Meta Pixel được tải (cùng cách bạn theo dõi bất kỳ trang nào khác trên trang web của bạn).
Bật các nhà cung cấp bạn muốn trong Zonos Dashboard dưới Checkout settings → Tracking (Google Analytics, Facebook Pixel hoặc cả hai).
Vậy là xong. Không cần tập lệnh relay, không cần customHTML, không cần truyền thêm ID nào — Zonos phát hiện gtag / fbq trên trang và gửi sự kiện trực tiếp.
Khi Checkout được lưu trữ trong một iframe trên một gốc khác, nó không thể tiếp cận gtag / fbq của trang của bạn trực tiếp. Zonos cung cấp một tập lệnh relay nhỏ — analyticsRelayOnInit.js — nghe các sự kiện postMessage từ iframe Checkout và chuyển tiếp chúng tới những nhà cung cấp bạn có trên trang của bạn. Một tập lệnh relay duy nhất xử lý cả GA4 và Facebook Pixel cùng một lúc.
Thiết lập:
Bật các nhà cung cấp bạn muốn trong Zonos Dashboard dưới Checkout settings → Tracking.
Thêm thẻ cơ sở GA4 và/hoặc mã cơ sở Meta Pixel vào <head> của trang lưu trữ iframe Checkout.
Đồng bộ hóa số tài khoản gốc của bạn với Dashboard. Docs →
orderAddTrackingNumber
Chỉ bắt buộc nếu bạn không in nhãn trong Dashboard. Đảm bảo theo dõi hiển thị trong Dashboard để Zonos có thể đảm bảo các tính toán landed cost của bạn. Docs →
Cần thiết để gửi đơn hàng Checkout tới nền tảng gốc của bạn. Docs →
ORDER_STATUS_CHANGED
Giữ hệ thống của bạn đồng bộ với Zonos khi trạng thái đơn hàng thay đổi (ví dụ: hoàn thành, hủy). Docs →
7
Kiểm tra tích hợp của bạn
Trước khi đi vào hoạt động với tích hợp Checkout của bạn, điều quan trọng là phải kiểm tra kỹ lưỡng tất cả các khía cạnh của tích hợp để đảm bảo trải nghiệm khách hàng suôn sẻ. Điều này bao gồm kiểm tra luồng thanh toán, xử lý thanh toán, tạo đơn hàng và chức năng webhook.
Làm theo hướng dẫn kiểm tra của chúng tôi để xác minh rằng tích hợp của bạn đang hoạt động đúng cách và xác định và khắc phục bất kỳ vấn đề nào trước khi khởi chạy vào sản xuất.
Câu hỏi thường gặp
Dưới đây là một số câu hỏi thường gặp về quá trình tích hợp.
Định cấu hình trải nghiệm sau khi mua trong Dashboard -> Settings -> Checkout settings dưới Success page type. Ba tùy chọn có sẵn:
Show Zonos success page (mặc định, được đề xuất) — Zonos hiển thị trang cảm ơn tích hợp sẵn sau khi đặt hàng. Trang luôn được hiển thị, ngay cả khi đơn hàng không nhập vào hệ thống của bạn, vì vậy người mua hàng luôn nhận được xác nhận.
Redirect to a success page — Zonos chờ trên màn hình "Đơn hàng hoàn thành" ngắn cho đến khi đơn hàng được tạo, sau đó chuyển hướng tới URL thành công được cấu hình của bạn với zOrderNumber (và orderId cho giỏ hàng kế thừa) được nối thêm dưới dạng tham số truy vấn.
Close the checkout modal — Zonos đóng hộp thoại của nó sau khi thanh toán được ghi nhận. Nếu bạn cũng cấu hình URL thành công, Zonos chuyển hướng đến URL đó ngay lập tức sau khi Stripe thu thập thanh toán — mà không chờ đơn hàng được tạo — và nối thêm zonosCheckoutSessionId dưới dạng tham số truy vấn. Sử dụng tùy chọn này khi bạn muốn bàn giao nhanh nhất trở lại trang thành công của riêng bạn.
Khi bạn sử dụng Close the checkout modal với URL chuyển hướng, đơn hàng có thể mất vài giây để được gắn với phiên Checkout sau khi chuyển hướng. Đọc zonosCheckoutSessionId từ URL và thăm dò truy vấn checkoutSession GraphQL từ máy chủ của bạn bằng mã thông báo thông tin đăng nhập bí mật của bạn cho đến khi đơn hàng sẵn sàng. Không bao giờ gọi điều này từ trình duyệt — mã thông báo thông tin đăng nhập bí mật phải ở phía máy chủ.
1query getCheckoutSession($id: String!){
2 checkoutSession(id )
3 order
4 id
Gửi truy vấn tới https://api.zonos.com/graphql với mã thông báo thông tin đăng nhập bí mật của bạn từ Dashboard -> Settings -> Integrations được chuyển làm tiêu đề yêu cầu credentialToken.
Vâng. Nếu bạn muốn nhận thông báo khi đơn hàng được tạo, trong Dashboard dưới phần Email của Checkout settings, bạn có thể nhập địa chỉ email của các thành viên nhóm nên được thông báo khi đơn hàng được tạo, gửi hoặc hủy.
Tích hợp tùy chỉnh
Tích hợp tùy chỉnh
Xây dựng tích hợp Checkout từ đầu đến cuối vào trang web tùy chỉnh của bạn.
Danh sách kiểm tra tích hợp
Làm theo danh sách kiểm tra toàn diện này để thiết lập tài khoản Dashboard của Zonos và tích hợp Zonos Checkout vào trang web hoặc nền tảng tùy chỉnh của bạn.
Tạo tài khoản Zonos
Để bắt đầu, vui lòng liên hệ với đội bán hàng của chúng tôi để tạo tài khoản và ký một thỏa thuận. Sau khi thỏa thuận được ký, bạn sẽ nhận được hai lần gửi tiền nhỏ vào tài khoản của mình cần được xác minh.
Vui lòng gửi email những số tiền gửi tiền nhỏ này đến accounting@zonos.com với ID cửa hàng Dashboard của bạn (CC đại diện bán hàng của bạn).
Sau khi xác minh, chi tiết ngân hàng của bạn sẽ hiển thị trong Dashboard -> Settings -> Billing.
Cấu hình cài đặt Dashboard và Checkout
Sau khi tạo tài khoản Zonos, bạn sẽ cần cấu hình cài đặt trong Dashboard để đảm bảo Checkout hoạt động đúng cách với cửa hàng của bạn. Phần này bao gồm tất cả các cấu hình Dashboard cần thiết.
Thiết lập chi trả
Kết nối tài khoản ngân hàng để nhận các khoản chi trả kịp thời từ Checkout. Các khoản chi trả được xử lý hàng ngày với độ trễ 2 ngày kể từ khi thanh toán được ghi nhận. Để làm điều này, vui lòng làm theo các bước sau:
Thiết lập các miền được phép
Tập lệnh JS của Zonos yêu cầu một danh sách các miền được phép cho các mục đích bảo mật. Điều này ngăn ngừa các trang web trái phép tải tập lệnh và đảm bảo nó chỉ chạy trên các miền được phê duyệt của bạn. Nếu không cấu hình này, tập lệnh sẽ trả về lỗi quyền.
Để thiết lập điều này:
example.com, bạn nên thêmexample.comvàtest.example.com.Tùy chỉnh cài đặt thương hiệu
Định cấu hình cài đặt thương hiệu của bạn trong Dashboard để phù hợp với giao diện và cảm nhận của cửa hàng bạn.
Để làm điều này, vui lòng làm theo các bước sau:
Để biết thêm thông tin về cài đặt thương hiệu, hãy xem tài liệu của chúng tôi.
Kết nối một nhà cung cấp dịch vụ vận chuyển
Để báo giá vận chuyển tại Checkout, bạn sẽ cần kết nối một nhà cung cấp dịch vụ vận chuyển với tài khoản Zonos của bạn. Điều này sẽ cho phép bạn bật các mức dịch vụ vận chuyển cụ thể tại Checkout.
Để kết nối nhà cung cấp dịch vụ vận chuyển, vui lòng làm theo các bước sau:
Để biết thêm chi tiết về kết nối các tài khoản nhà cung cấp dịch vụ, hãy xem tài liệu của chúng tôi.
Thiết lập các vùng vận chuyển
Các vùng vận chuyển cho phép bạn định cấu hình các nhà cung cấp dịch vụ vận chuyển và mức dịch vụ nào có sẵn cho các vùng khác nhau trên thế giới.
Để thiết lập các vùng vận chuyển, vui lòng làm theo các bước sau:
Để biết thêm chi tiết về các vùng vận chuyển, hãy xem tài liệu của chúng tôi.
Thiết lập quốc gia gốc dự phòng và mã HS
Quốc gia gốc và mã HS được sử dụng để tính toán thuế suất và thuế chính xác.
Nếu bạn không cung cấp quốc gia gốc hoặc mã HS cụ thể, chúng tôi sẽ sử dụng các giá trị dự phòng được thiết lập trong Dashboard.
Để đặt quốc gia gốc và mã HS dự phòng của bạn:
Cài đặt đoạn mã JS Zonos
Đoạn mã JS Zonos là một tích hợp JavaScript phía máy khách cho phép chức năng checkout toàn cầu trên trang web của bạn. Nó hoạt động như là cầu nối giữa nền tảng thương mại điện tử của bạn và các dịch vụ Zonos, xử lý:
Đoạn mã được tải không đồng bộ để ngăn chặn bất kỳ tác động nào đến hiệu suất trang web của bạn. Nó khởi tạo với thông tin đăng nhập API của cửa hàng của bạn và xử lý tất cả các tương tác phía máy khách một cách an toàn. Việc triển khai được thiết kế để không xâm nhập, yêu cầu những thay đổi tối thiểu đối với luồng thanh toán hiện có của bạn.
Dưới đây là một ví dụ hoàn chỉnh bao gồm tải tập lệnh, khởi tạo và xử lý sự kiện để tham khảo khi tích hợp Checkout.
(async function () {const timestamp = new Date().getTime();const zonosScript = document.querySelector(`script[src*="https://cdn.jsdelivr.net/npm/@zonos/elements/dist/scripts/loadZonos.js"]`,);if (!zonosScript) {const script = document.createElement('script');script.src = `https://cdn.jsdelivr.net/npm/@zonos/elements/dist/scripts/loadZonos.js?timestamp=${timestamp}`;script.addEventListener('load', () => {window.Zonos.init({: {: () => {{: ,};},: ,},: {: ,: {.();},},: ,: ,});});..(script);}})();Xử lý bộ nhớ đệm của trình duyệt
Chúng tôi khuyên bạn nên nối một dấu thời gian hoặc định danh duy nhất khác vào URL để đảm bảo rằng tập lệnh không được bộ nhớ đệm của trình duyệt. Điều này sẽ đảm bảo rằng phiên bản tập lệnh mới nhất luôn được tải. Điều này được hiển thị trong dòng 10 của ví dụ hoàn chỉnh.
script.src = `https://cdn.jsdelivr.net/npm/@zonos/elements/dist/scripts/loadZonos.js?timestamp=${timestamp}`;Xác thực đoạn mã JS Zonos
Sau khi tải tập lệnh JS của Zonos, bạn cần xác thực nó bằng cách chuyển một khóa API công khai của Zonos và ID cửa hàng vào hàm
Zonos.init. Khóa API công khai được sử dụng để xác thực Checkout được thiết kế để có thể xuất bản, có nghĩa là nó có thể được sử dụng an toàn trong mã phía trước mà không tiết lộ bất kỳ thông tin nhạy cảm nào.Để tìm ID cửa hàng và khóa API của bạn, điều hướng đến Dashboard -> Settings -> Integrations. Đảm bảo rằng bạn không sử dụng Secret API key, vì nó không được thiết kế để sử dụng trong mã phía trước. Điều này được hiển thị trong dòng 29 và 30 của ví dụ hoàn chỉnh.
Zonos.init({// ... other fieldszonosApiKey: 'Your API KEY', // Replace with your actual API key (found in Dashboard)storeId: 'Your STORE ID', // Replace with your actual store ID (found in Dashboard)// ... other fields});Cập nhật Chính sách bảo mật nội dung (CSP) của bạn
Nếu trang web của bạn đặt một Chính sách bảo mật nội dung, hãy thêm các miền dưới đây vào các chỉ thị CSP tương ứng. Chính sách này áp dụng cho cả Checkout và Hello — đoạn mã Zonos tải các tập lệnh, bảng định kiểu, phông chữ, hình ảnh và thực hiện các yêu cầu mạng, vì vậy chặn bất kỳ tài nguyên nào sẽ phá vỡ luồng Checkout hoặc màn hình Hello. Danh sách
style-srccũng áp dụng chostyle-src-elem.cdn.jsdelivr.net/npm/@zonoscdnjs.cloudflare.com/ajax/libs/zonos-elementsunpkg.com/@zonos/elementsjs.zonos.com*.js.zonos.comassets.zonos.comzonos-store-assets.s3.amazonaws.comjs.stripe.coma.stripecdn.comb.stripecdn.comc.stripecdn.comcheckout.stripe.comf.stripecdn.comhcaptcha.comhooks.stripe.comm.stripe.comm.stripe.networkpay.stripe.compayments.stripe.comq.stripe.comr.stripe.comThiết lập Hello
Hello là bắt buộc khi sử dụng Checkout.
Hello chịu trách nhiệm phát hiện vị trí, ngôn ngữ và tiền tệ của khách truy cập, và hiển thị thông tin thích hợp cho họ. Bạn có thể cấu hình tất cả cài đặt Hello trong Dashboard hoặc trong tập lệnh JS Zonos. Nếu bạn đã cấu hình Hello trong Dashboard, tập lệnh sẽ tải những cài đặt đó và sử dụng chúng. Nếu bạn chỉ định bất kỳ giá trị nào trong thuộc tính
helloSettingscủa hàmZonos.init, tập lệnh sẽ sử dụng những giá trị đó thay thế như hiển thị dưới đây.Định cấu hình chuyển đổi tiền tệ trong Hello trong Tập lệnh JS
Hello sử dụng các bộ chọn CSS để xác định các phần tử trên trang web của bạn hiển thị thông tin tiền tệ. Chuyển những bộ chọn này tới thuộc tính
helloSettings.currencyElementSelectorcủa hàmZonos.initđể Hello có thể phát hiện và hiển thị đúng tiền tệ của người mua hàng quốc tế.Bạn có thể sử dụng bất kỳ bộ chọn CSS hợp lệ nào ở đây, ví dụ:
#price, .priceđể chọn nhiều phần tử khác nhau. Điều này được hiển thị trong dòng 23 và 24 của ví dụ hoàn chỉnh.Zonos.init({// ... other fieldshelloSettings: {currencyElementSelector: '.price', // Replace with your actual selector},// ... other fields});Tự động mở Hello khi tải trang
Theo mặc định, Hello chỉ sẽ mở khi khách truy cập nhấp vào nút cờ. Nếu bạn muốn tự động mở Hello khi trang tải, bạn có thể gọi hàm
Zonos.openHelloDialog()sau khi tập lệnh Zonos được tải. Điều này được hiển thị trong dòng 25 và 26 của ví dụ hoàn chỉnh.Zonos.init({// ... other fieldshelloSettings: {: {.();},},});Định cấu hình các quy tắc hiển thị quốc gia trong Dashboard
Kiểm soát những quốc gia của người mua hàng nào nhìn thấy Hello và những quốc gia nào xuất hiện trong thả xuống bộ chọn quốc gia từ Dashboard. Điều hướng đến Dashboard -> Settings -> Hello và tìm phần Country display rules.
Khả năng hiển thị widget
Kiểm soát những quốc gia của người mua hàng nào nhìn thấy tiện ích Hello. Chọn một trong các quy tắc cơ sở, sau đó sử dụng danh sách Always show và Never show để ghi đè các quốc gia cụ thể.
Bộ chọn quốc gia
Kiểm soát những quốc gia nào xuất hiện trong thả xuống bộ chọn quốc gia Hello, sử dụng cùng các quy tắc cơ sở cộng với các ghi đè Always show và Never show.
Các thuộc tính
showForCountriesvàshowCountryListtrênhelloSettingskhông được dùng nữa. Định cấu hình các quy tắc hiển thị quốc gia trong Dashboard thay thế — các giá trị được đặt ở đó sẽ được tải tự động bởi tập lệnh JS Zonos.Thiết lập Checkout
Checkout chịu trách nhiệm cho phép khách hàng nhập thông tin vận chuyển và thanh toán của họ, tính toán landed cost, thu thập thanh toán và hoàn thành đơn hàng.
Checkout sẽ chia sẻ dữ liệu theo ngữ cảnh với Hello, chẳng hạn như vị trí, ngôn ngữ và tiền tệ của khách truy cập. Điều này đảm bảo rằng trải nghiệm của khách hàng nhất quán trên toàn bộ quá trình mua sắm.
Bạn có thể cấu hình tất cả cài đặt Checkout trong cả Dashboard và tập lệnh JS Zonos. Nếu bạn đã cấu hình Checkout trong Dashboard, tập lệnh sẽ tải những cài đặt đó và sử dụng chúng. Nếu bạn chỉ định bất kỳ giá trị nào trong thuộc tính
checkoutSettingscủa hàmZonos.init, tập lệnh sẽ sử dụng những giá trị đó thay thế.Cấu hình nút 'đặt hàng' trong Tập lệnh JS
Tập lệnh JS Zonos sẽ tự động nhận dạng những người mua hàng quốc tế và hướng họ tới luồng Checkout. Tuy nhiên, bạn sẽ cần cấu hình nút 'đặt hàng' trên nền tảng của bạn để mở Checkout khi nhấp vào. Điều này có thể được thực hiện bằng cách chuyển một bộ chọn CSS tới thuộc tính
checkoutSettings.placeOrderButtonSelectorcủa hàmZonos.init.Nếu bạn có nhiều nút có thể được sử dụng để đặt hàng, hãy chắc chắn chuyển một bộ chọn cho mỗi nút. Ví dụ:
#placeOrder, .place-order.Điều này được hiển thị trong dòng 21 của ví dụ hoàn chỉnh.
Zonos.init({// ... other fieldscheckoutSettings: {// ... other fieldsplaceOrderButtonSelector: '#placeOrder', // Replace with your actual selector(s)},});Tạo chi tiết giỏ hàng một cách an toàn trên máy chủ
Để hiển thị chi tiết giỏ hàng cho khách hàng, bạn cần tạo một hàm phía máy chủ sẽ gọi API Zonos để tạo giỏ hàng, và sau đó chuyển ID giỏ hàng đó trở lại phía trước. Điều này sẽ đảm bảo rằng chi tiết giỏ hàng không được tiết lộ cho khách hàng theo cách có thể bị thao tác.
Lệnh gọi API phía sau của bạn sẽ sử dụng mã thông báo thông tin đăng nhập GraphQL bí mật, khác với mã thông báo công khai mà bạn sử dụng để xác thực tập lệnh JS Zonos. Mã thông báo này có thể được truy xuất trong Dashboard -> Settings -> Integrations. Mã thông báo bí mật cần được chuyển làm tiêu đề trong lệnh gọi API của bạn.
Mutation
cartCreatechấp nhận danh sách các mục, được định dạng theo lược đồ mục giỏ hàng.// Create new cart from serversideasync function createCart() {/*** Full cart mutation schema: https://zonos.com/developer/mutations/cartCreate* */const graphql = JSON.stringify({query: `mutation cartCreate($input: CartCreateInput!){cartCreate(input: $input) {idadjustments {amountcurrencyCodedescriptionproductIdskutype}items {idnameamountcurrencyCodequantityskudescriptionmetadata {keyvalue}}metadata {keyvalue}}}`,variables: {/*** input for the cartCreate is this schema https://zonos.com/developer/types/CartCreateInput*/input: {/*** Cart adjustment input: https://zonos.com/developer/types/CartAdjustmentInput*/adjustments: [{amount: -10,currencyCode: 'USD',/*** Enum value: https://zonos.com/developer/types/CartAdjustmentType*/type: 'CART_TOTAL',},],/*** Cart item input: https://zonos.com/developer/types/ItemInput*/items: [{name: 'Item 1',amount: 150.99,currencyCode: 'USD',description: 'Item 1 description',quantity: 2,},],/*** Cart metadata input: https://zonos.com/developer/types/CartMetadataInput*/metadata: [{: ,: ,},],},},});response = (, {: ,: {: ,: ,},: graphql,});{ data } = response.();data..;}Chúng tôi đề xuất tạo một điểm cuối API trên phía máy chủ của bạn và sau đó gọi điểm cuối đó từ tích hợp JS phía trước của bạn, được chi tiết trong bước tiếp theo.
Chuyển ID giỏ hàng tới Checkout thông qua phía trước
Sau khi tạo giỏ hàng trên phía máy chủ, bạn cần chuyển ID giỏ hàng tới tập lệnh JS Zonos. Điều này có thể được thực hiện bằng cách sử dụng lệnh gọi lại
createCartIdlà một phần của hàmZonos.init. Checkout sau đó sẽ truy xuất an toàn chi tiết giỏ hàng từ Zonos khi mở, ngăn chặn bất kỳ thao tác nào với giỏ hàng. Xem ví dụ mã bên dưới.Giá trị của
createCartIdkhông thể là giá trị tĩnh, nó phải là một hàm.Zonos.init({// ... other fieldscheckoutSettings: {// Replace with your actual selector(s)createCartId: async () => {const response = await fetch('https://api.merchant.com/api/get-cart', {method: 'POST',headers: {'Content-Type': 'application/json',},});const json = await response.json();return json.id; // Only need to return the cart ID},},});(Tùy chọn) Hiển thị thông báo dưới Tổng đơn hàng
Nếu bạn cần hiển thị một thông báo ngắn, động bên trong Checkout — ví dụ: một thông báo pháp lý khi có sản phẩm cụ thể trong giỏ hàng — bạn có thể trả về mảng
customMessagetừ lệnh gọi lạicreateCartId. Mỗi mục trong mảng được hiển thị trên một dòng riêng của cùng một biểu ngữ thông tin, ngay bên dưới Tổng đơn hàng.Cú pháp liên kết Markdown —
[nhãn liên kết]theo sau bởi(https://example.com)— được kết xuất dưới dạng thẻ neo, để những người mua hàng có thể nhấp qua. URLhttps://đơn giản trong văn bản cũng được tự động liên kết. Mọi thứ khác được kết xuất dưới dạng văn bản đơn giản, vì vậy HTML trong chuỗi được thoát (escape) thay vì thực thi.Chỉ một biểu ngữ được hiển thị trên Checkout, bất kể bạn chuyển bao nhiêu dòng.
Zonos.init({// ... other fieldscheckoutSettings: {createCartId: async () => {const response = await fetch('https://api.merchant.com/api/get-zonos-cart',{method: 'POST',headers: {'Content-Type': 'application/json',},},);const json = await response.json();return {cartId: json.id,// Each item is rendered on a new line of the same info banner.// Markdown links `[text](url)` become `<a>` tags.customMessage: ['Some items in your cart are subject to California regulations.','Please review the required notice [here](https://oag.ca.gov/prop65).',],};},},});(Tùy chọn) Kích hoạt Checkout Zonos theo lập trình
Nếu bạn có logic tùy chỉnh và cần kích hoạt Zonos Checkout theo lập trình, bạn có thể sử dụng hàm
Zonos.triggerCheckoutInternational()để mở cửa sổ Zonos Checkout sau khi Zonos được khởi tạo. Điều này sẽ gọi lệnh gọi lạicreateCartIdđược định nghĩa trongZonos.initở trên và mở cửa sổ Zonos Checkout.// For example: During your domestic checkout flow, trigger Zonos checkout when the user selects a non-domestic country (e.g., not "US")const domesticCountry = 'US';document.querySelector('.country-select').addEventListener('change', e => {const country = e.target.value;if (country !== domesticCountry) {Zonos.triggerCheckoutInternational();}});(Tùy chọn) Bộ chọn luôn kích hoạt Zonos Checkout
Nếu bạn muốn tách quá trình thanh toán cho những người mua hàng trong nước và quốc tế, bạn có thể thêm nút
International checkoutvào trang web của bạn. Thay vì kích hoạt theo cách thủ công Zonos Checkout bằngZonos.triggerCheckoutInternational, bạn có thể cấu hìnhZonos.initbằng bộ chọn thích hợp. Bộ chọn sẽ bị vô hiệu hóa cho đến khi Zonos được khởi tạo, khi nút được nhấp vào, nó sẽ tự động kích hoạt Zonos Checkout. Điều này sẽ gọi lệnh gọi lạicreateCartIdđược định nghĩa trongZonos.initvà mở cửa sổ Zonos Checkout.Zonos.init({// ... other fieldscheckoutSettings: {// ... other fieldsalwaysTriggerInternationalCheckoutSelector: '#trigger-zonos-checkout', // Replace with your actual selector, button bound to this selector will always trigger Zonos checkout},});(Tùy chọn) Theo dõi phễu Checkout với GA4 hoặc Facebook Pixel
Zonos Checkout có thể chuyển tiếp toàn bộ phễu Checkout tới các công cụ phân tích hiện có của bạn. Đối với mỗi bước, Zonos phát ra:
zonos-checkout-...gốc tới GA4 (thông quagtag('event', ...)) và tới Meta dưới dạng sự kiện tùy chỉnh (thông quafbq('trackCustom', ...)).InitiateCheckout,AddPaymentInfovàPurchase— để tính năng tối ưu hóa và báo cáo chuyển đổi tích hợp sẵn của Meta hoạt động ngay mà không cần cấu hình thêm.Cách sự kiện đến với nhà cung cấp của bạn phụ thuộc vào cách Checkout được kết xuất trên trang web của bạn. Chọn con đường phù hợp với tích hợp của bạn.
Tích hợp gốc (Checkout kết xuất trực tiếp trên trang web của bạn)
Khi phần tử tùy chỉnh
<zonos-checkout>được gắn kết trên trang của riêng bạn (mặc định cho tích hợp tập lệnh JS Zonos được mô tả ở trên),window.gtagvàwindow.fbqcủa trang đã có trong phạm vi. Zonos gọi chúng trực tiếp — không cần relay hay chuyển giao pixel ID.Thiết lập:
Vậy là xong. Không cần tập lệnh relay, không cần
customHTML, không cần truyền thêm ID nào — Zonos phát hiệngtag/fbqtrên trang và gửi sự kiện trực tiếp.Tích hợp Iframe (iframe Checkout kế thừa trên
iglobalstores.com)Khi Checkout được lưu trữ trong một iframe trên một gốc khác, nó không thể tiếp cận
gtag/fbqcủa trang của bạn trực tiếp. Zonos cung cấp một tập lệnh relay nhỏ —analyticsRelayOnInit.js— nghe các sự kiện postMessage từ iframe Checkout và chuyển tiếp chúng tới những nhà cung cấp bạn có trên trang của bạn. Một tập lệnh relay duy nhất xử lý cả GA4 và Facebook Pixel cùng một lúc.Thiết lập:
<head>của trang lưu trữ iframe Checkout.asyncsrc="https://cdn.jsdelivr.net/npm/@zonos/elements/dist/scripts/analyticsRelayOnInit.js">customHTMLCheckout của bạn để tập lệnh relay biết cần gửi sự kiện tới property/pixel nào:window.Zonos.googleAnalyticId = 'G-XXXXXXXXXX';window.Zonos.facebookPixelId = 'YOUR_PIXEL_ID';Để biết hướng dẫn từng bước cho iframe, tài liệu tham khảo đầy đủ về sự kiện (bao gồm ánh xạ payload
purchase/Purchase) và mẹo gỡ lỗi, xem:Đồng bộ hóa theo dõi và trạng thái đơn hàng vào Dashboard
Để đồng bộ hóa đơn hàng giữa hệ thống của bạn và Dashboard Zonos, hãy triển khai các lệnh gọi API và webhook này:
Mutation bắt buộc
orderUpdateAccountOrderNumberorderAddTrackingNumberWebhook bắt buộc
ORDER_CREATEDORDER_STATUS_CHANGEDKiểm tra tích hợp của bạn
Trước khi đi vào hoạt động với tích hợp Checkout của bạn, điều quan trọng là phải kiểm tra kỹ lưỡng tất cả các khía cạnh của tích hợp để đảm bảo trải nghiệm khách hàng suôn sẻ. Điều này bao gồm kiểm tra luồng thanh toán, xử lý thanh toán, tạo đơn hàng và chức năng webhook.
Làm theo hướng dẫn kiểm tra của chúng tôi để xác minh rằng tích hợp của bạn đang hoạt động đúng cách và xác định và khắc phục bất kỳ vấn đề nào trước khi khởi chạy vào sản xuất.
Câu hỏi thường gặp
Dưới đây là một số câu hỏi thường gặp về quá trình tích hợp.
Zonos xử lý xác nhận đơn hàng như thế nào?
Định cấu hình trải nghiệm sau khi mua trong Dashboard -> Settings -> Checkout settings dưới Success page type. Ba tùy chọn có sẵn:
zOrderNumber(vàorderIdcho giỏ hàng kế thừa) được nối thêm dưới dạng tham số truy vấn.zonosCheckoutSessionIddưới dạng tham số truy vấn. Sử dụng tùy chọn này khi bạn muốn bàn giao nhanh nhất trở lại trang thành công của riêng bạn.Tra cứu đơn hàng từ
zonosCheckoutSessionIdKhi bạn sử dụng Close the checkout modal với URL chuyển hướng, đơn hàng có thể mất vài giây để được gắn với phiên Checkout sau khi chuyển hướng. Đọc
zonosCheckoutSessionIdtừ URL và thăm dò truy vấncheckoutSessionGraphQL từ máy chủ của bạn bằng mã thông báo thông tin đăng nhập bí mật của bạn cho đến khi đơn hàng sẵn sàng. Không bao giờ gọi điều này từ trình duyệt — mã thông báo thông tin đăng nhập bí mật phải ở phía máy chủ.query getCheckoutSession($id: String!) {checkoutSession(id )orderidGửi truy vấn tới
https://api.zonos.com/graphqlvới mã thông báo thông tin đăng nhập bí mật của bạn từ Dashboard -> Settings -> Integrations được chuyển làm tiêu đề yêu cầucredentialToken.Tôi có thể được thông báo khi đơn hàng được tạo không?
Vâng. Nếu bạn muốn nhận thông báo khi đơn hàng được tạo, trong Dashboard dưới phần Email của Checkout settings, bạn có thể nhập địa chỉ email của các thành viên nhóm nên được thông báo khi đơn hàng được tạo, gửi hoặc hủy.
Trang này có hữu ích không?