Khắc phục sự cố

Hướng dẫn khắc phục sự cố về Web đề cập đến các vấn đề và câu hỏi liên quan đến những chủ đề sau.

Đăng ký và truy cập

Bạn có thể gặp phải các lỗi sau tại một thời điểm nào đó trong quá trình tích hợp. Danh sách này cung cấp một số lời khuyên hữu ích về cách khắc phục sự cố nếu những lỗi này xảy ra.

Người bán này chưa được bật Google Pay
Google Pay API yêu cầu phải có một merchantId của Google cho những trang web định cấu hình PaymentsClient cho môi trường PRODUCTION. Một merchantId của Google được liên kết với một hoặc nhiều miền đủ điều kiện thông qua Bảng điều khiển Google Pay và Wallet. Kiểm tra thông tin chi tiết về lỗi được trả về để biết thêm thông tin.
Người bán này chưa hoàn tất quy trình đăng ký để sử dụng Google Pay API. Vui lòng truy cập vào bảng điều khiển (https://pay.google.com/business/console) để xác minh.
Bạn chưa hoàn tất quy trình đăng ký trang web cho Google Pay API. Xem xét Yêu cầu quyền truy cập vào phiên bản phát hành công khai để đăng ký bằng Google Pay & Wallet Console và yêu cầu xem xét việc trang web của bạn sử dụng Google Pay API.
Hồ sơ người bán này không có quyền sử dụng tính năng này
Google chưa định cấu hình trang web của bạn để sử dụng Google Pay API. Xem xét Yêu cầu quyền truy cập vào phiên bản phát hành công khai để yêu cầu xem xét việc trang web của bạn sử dụng Google Pay API thông qua Google Pay & Wallet Console.
Chế độ tích hợp Google Pay API này đã bị vô hiệu hoá. Vui lòng liên hệ với chúng tôi để biết thêm thông tin (https://developers.google.com/pay/api/faq#how-to-get-support).
Liên hệ với chúng tôi để tìm hiểu thêm về các bước bắt buộc để kích hoạt lại Google Pay API cho Tài khoản Google của bạn.
Miền "example.com" của bạn chưa được đăng ký để sử dụng API này
Miền lưu trữ trang thanh toán của bạn không được liên kết với merchantId mà bạn sử dụng. Đảm bảo rằng tham số merchantId là chính xác và miền của bạn được đăng ký thông qua Google Pay & Wallet Console.
Bạn nên gọi Google Pay API trong bối cảnh an toàn!
Bạn chỉ có thể sử dụng Google Pay API trên các trang web trong một bối cảnh an toàn. Để biết thêm thông tin, hãy xem phần Ngữ cảnh bảo mật.
Không tìm thấy khoá nào cho trang doanh nghiệp này
Bạn phải đăng ký khoá mã hoá công khai với Google thông qua Bảng điều khiển Google Pay và Wallet để hoàn tất quy trình tích hợp DIRECTtokenizationSpecification type.

merchantId

Đôi khi, bạn có thể gặp phải các lỗi sau đây liên quan đến merchantId trong quá trình tích hợp. Danh sách này cung cấp một số lời khuyên hữu ích về cách khắc phục sự cố nếu những lỗi này xảy ra.

Bạn phải đặt merchantId!
Bạn phải đặt tham số merchantId bên trong PaymentDataRequest thành giá trị được cung cấp bằng Bảng điều khiển Google Pay và Wallet. Bạn chỉ cần có tham số merchantId khi dùng PaymentsClient được định cấu hình cho môi trường PRODUCTION. Xem Danh sách kiểm tra tích hợp của chúng tôi để yêu cầu xem xét việc trang web của bạn sử dụng Google Pay API và để nhận merchantId.
merchantId không phải là một chuỗi
Tham số merchantId bên trong PaymentDataRequest phải luôn là một chuỗi. Đảm bảo rằng loại tham số merchantId mà bạn sử dụng là một chuỗi trước khi gọi API.
merchantId chưa được đăng ký.
Tham số merchantId bên trong PaymentDataRequest phải được cung cấp thông qua Bảng điều khiển của Google Pay và Wallet. Hãy xem phần Yêu cầu quyền truy cập vào kênh phát hành công khai để biết thêm thông tin.

Tính hợp lệ của cổng

Đôi khi, bạn có thể gặp phải các lỗi sau liên quan đến tính hợp lệ của cổng trong quá trình tích hợp. Danh sách này cung cấp một số lời khuyên hữu ích về cách khắc phục sự cố nếu những lỗi này xảy ra.

Cổng không xác định 'yourgateway'
Google hiện không hỗ trợ tham số cổng mà bạn đã chỉ định trong paymentMethodTokenizationParameters.parameters. Hãy liên hệ với cổng thanh toán để biết thêm thông tin về mã nhận dạng cổng thanh toán và các trường liên quan, chẳng hạn như gatewayMerchantId.
Không thể sử dụng cổng "example" ở chế độ phát hành công khai
Giá trị tham số cổng ví dụ chỉ được dùng cho mục đích kiểm thử và không thể dùng với PaymentsClient được định cấu hình cho môi trường PRODUCTION. Hãy liên hệ với cổng thanh toán của bạn để biết thêm thông tin về các giá trị tham số PaymentMethodTokenizationSpecification mà bạn cần đặt để sử dụng với Google Pay API.

Tính hợp lệ của đối tượng

Bạn có thể gặp phải các lỗi sau đây liên quan đến tính hợp lệ của đối tượng tại một thời điểm nào đó trong quá trình tích hợp. Danh sách này cung cấp một số lời khuyên hữu ích về cách khắc phục sự cố nếu những lỗi này xảy ra.

PaymentDataRequest của Google Pay không phải là json hợp lệ
Tham số được cung cấp cho loadPaymentData phải luôn là một đối tượng PaymentDataRequest hợp lệ.
Bạn phải đặt transactionInfo!
Tham số transactionInfo bên trong PaymentDataRequest phải luôn là một đối tượng TransactionInfo hợp lệ.

Người bán trực tiếp

Đôi khi, bạn có thể gặp phải các lỗi sau đây liên quan đến người bán trực tiếp trong quá trình tích hợp. Danh sách này cung cấp một số lời khuyên hữu ích về cách khắc phục sự cố nếu những lỗi này xảy ra.

Xác minh chữ ký
Bạn có thể gặp lỗi xác minh chữ ký nếu merchantId không chính xác. Điều này có thể xảy ra trong môi trường TEST khi bạn sử dụng thư viện paymentmethodtoken Tink. Để tránh vấn đề này, hãy đặt YOUR_MERCHANT_ID thành 12345678901234567890 trong:
.recipientId("merchant:YOUR_MERCHANT_ID")
Không thể giải mã mã thông báo
Nếu bạn sử dụng thư viện paymentmethodtoken của Tink để giải mã một mã thông báo, hãy lưu ý những điều sau:
  • Đảm bảo rằng môi trường phản hồi của Google Pay API tương ứng với môi trường paymentmethodtoken của Tink. Để biết thêm thông tin chi tiết, hãy xem ví dụ sau:
    • Nếu môi trường TEST trả về phản hồi của Google Pay API, thì Tink sẽ trỏ đến môi trường kiểm thử để giải mã.
  • Đừng sửa đổi phản hồi từ Google Pay API trước khi phản hồi đó được chuyển đến Tink. Đảm bảo rằng bạn truyền toàn bộ mã thông báo mà API Google Pay trả về. Để biết thêm thông tin chi tiết, hãy xem lưu ý sau:
  • Xác minh rằng bạn có khoá riêng tư phù hợp được liên kết với khoá công khai mà bạn đã đăng ký với Google.
Tạo cặp khoá công khai và khoá riêng tư trên Windows
Nếu bạn đang dùng Windows và muốn làm theo các bước được đề cập trong phần Sử dụng OpenSSL để tạo một cặp khoá riêng tư và khoá công khai, hãy nhớ cài đặt Cygwin trên máy của bạn. Bạn cần có quyền này để chạy các lệnh Linux.

Đối tượng lỗi

Đối tượng lỗi là những đối tượng do một lời hứa bị từ chối từ phương thức JavaScript của ứng dụng trả về.

PaymentsError
Đối tượng này chứa thông tin chi tiết về các lỗi do phương thức JavaScript của ứng dụng khách trả về. Các lỗi có thể không xuất hiện trong hộp thoại trên giao diện người dùng.
Thuộc tính Loại Mô tả
statusCode Chuỗi Mã ngắn mô tả loại lỗi.
statusMessage Chuỗi Thông báo dành cho nhà phát triển, mô tả lỗi gặp phải và các bước có thể thực hiện để khắc phục lỗi.
Lỗi thường gặp
Đối tượng này hiển thị những lỗi mà bạn có thể gặp phải trên tất cả các phương thức JavaScript. Nhớ kiểm tra bảng điều khiển dành cho nhà phát triển để xem các thông báo lỗi khác.
Mã trạng thái Mô tả
BUYER_ACCOUNT_ERROR Người dùng Google hiện tại không thể cung cấp thông tin thanh toán.
DEVELOPER_ERROR

Tham số được truyền có định dạng không đúng. Thông báo lỗi có thể xuất hiện trong bảng điều khiển trình duyệt cho tất cả các môi trường đã định cấu hình.

MERCHANT_ACCOUNT_ERROR

Trang web truy cập vào Google Pay API không có quyền phù hợp. Điều này có thể là do cấu hình không chính xác hoặc mã nhận dạng người bán không chính xác được đặt trong yêu cầu. Để biết thêm thông tin chi tiết, hãy kiểm tra trường statusMessage. Nếu bạn vẫn gặp sự cố, hãy liên hệ với nhóm hỗ trợ.

INTERNAL_ERROR Lỗi máy chủ chung.

CardInfo

Tính năng CardInfo là gì?
Google Pay cho người tiêu dùng biết rằng có một thẻ đằng sau nút thanh toán Google Pay, thẻ này hiển thị cả mạng lưới thương hiệu thẻ và 4 chữ số cuối của thẻ.
Tại sao tính năng CardInfo không hiển thị trong quá trình triển khai của tôi?

Để tính năng CardInfo hoạt động, bạn phải đáp ứng các điều kiện sau:

  • Bạn phải triển khai API createButton.
  • Bạn phải định cấu hình ButtonOptions.buttonType thành buy, long hoặc pay.
  • Người dùng phải có một phương thức thanh toán hợp lệ, như được xác định bằng đối tượng CardParameters của bạn.
Tại sao nút thanh toán bằng Google Pay tải vô thời hạn?
Đừng xoá trình nghe sự kiện onLoad. Nếu bạn xoá trình nghe sự kiện onLoad, nút thanh toán Google Pay có thể tải vô thời hạn.
Tại sao không có lời nhắc thanh toán sau khi tôi nhấp vào nút thanh toán bằng Google Pay?
Chỉ định một lệnh gọi lại trình nghe sự kiện cho sự kiện ButtonOptions.onClick.

OR_BIBED_15 lỗi

Bạn có thể gặp phải lỗi OR_BIBED_15 tại một thời điểm nào đó trong quá trình tích hợp. Danh sách này cung cấp một số lời khuyên hữu ích về cách khắc phục sự cố nếu lỗi này xảy ra.

Làm việc với WebView
Làm theo hướng dẫn dành cho AndroidiOS để đảm bảo rằng hoạt động tích hợp của bạn tương thích với WebView.
Tiêu đề phản hồi HTTP Cross-Origin-Opener-Policy
Nếu tiêu đề phản hồi HTTP Cross-Origin-Opener-Policy được đặt thành same-origin, thì tiêu đề này có thể ngăn trình duyệt mở cửa sổ bật lên cần thiết để người dùng hoàn tất giao dịch. Hãy thử thay đổi giá trị của tiêu đề thành same-origin-allow-popups để giảm những vấn đề đó.
Độ trễ giữa sự kiện nhấp của người dùng và lệnh gọi đến loadPaymentData()
Nếu có độ trễ sau khi bạn nhấp vào nút Google Pay (hoặc một nút thanh toán tương tự) và trước khi lệnh gọi loadPaymentData() (ví dụ: setTimeout(), các lệnh gọi mạng bổ sung hoặc logic tương tự chạy trong thời gian dài), điều này có thể khiến cơ chế chặn cửa sổ bật lên của trình duyệt kích hoạt. Bạn không nên đặt độ trễ giữa lượt nhấp của người dùng và lệnh gọi loadPaymentData().