Khắc phục sự cố

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

Ứng dụng hiện đang chạy trong môi trường thử nghiệm

Người dùng có thể thấy thông báo sau khi chọn thẻ thanh toán trong hộp thoại thông tin thanh toán:

Ứng dụng hiện đang chạy trong môi trường thử nghiệm. Giao dịch sẽ không bị tính phí thực

Lỗi này cho biết ứng dụng sử dụng ENVIRONMENT_TEST và không nhận được thông tin thanh toán thực, nhưng nhận được thông tin cá nhân bao gồm địa chỉ thanh toán, số điện thoại địa chỉ thanh toán, địa chỉ giao hàng và địa chỉ email nếu được yêu cầu.

Yêu cầu không thành công

Thông báo lỗi phổ biến nhất là OR_BIBED_06. Thông báo lỗi này cũng xuất hiện trong giao diện người dùng dưới dạng một hộp thoại có nội dung sau:

Yêu cầu không thành công
Đã xảy ra vấn đề với việc tích hợp Google Pay của người bán. Vui lòng liên hệ với người bán để được trợ giúp hoặc thanh toán bằng một phương thức khác.

Để tìm hiểu thêm về lỗi này, hãy làm theo các bước sau:

  1. Đảm bảo bạn đã cài đặt Android Debug Bridge (adb) trên máy tính.
  2. Đảm bảo bạn đã bật tính năng gỡ lỗi qua USB trên thiết bị. Để biết thêm thông tin, hãy xem phần Gỡ lỗi ứng dụng.
  3. Kết nối thiết bị Android với máy tính hoặc khởi động trình mô phỏng.
  4. Chạy lệnh sau đây trong một cửa sổ dòng lệnh hoặc dấu nhắc lệnh trên máy tính:

    adb logcat -s WalletMerchantError

Phản hồi này cho biết lý do gây ra lỗi. Ví dụ: bạn có thể thấy:

02-26 17:41:28.133 14593 14593 W WalletMerchantError: Error in loadPaymentData: This
merchant profile does not have access to this feature.

Hành động bạn cần thực hiện để giải quyết vấn đề tuỳ thuộc vào thông báo lỗi.

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 sau đâ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.

OR_BIBED_06 Cổng không xác định 'yourgateway'
Giá trị thuộc tính gateway mà bạn đã chỉ định trong tokenizationSpecification hiện không được Google Pay API hỗ trợ. Hãy liên hệ với cổng thanh toán của bạ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.
Bạn không thể sử dụng Cổng OR_BIBED_06 "example" ở chế độ phát hành chính thức.
Giá trị thuộc tính cổng ví dụ chỉ được dùng cho mục đích kiểm thử và không thể dùng với giá trị tham số môi trường WalletOptions được đặt thành WalletConstants.ENVIRONMENT_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 tham số gateway mà bạn cần sử dụng với Google Pay API.

Đăng ký và truy cập

Bạn có thể gặp phải các lỗi sau đây liên quan đến việc đăng ký và truy cập tại một thời điểm nào đó trong quá trình tích hợp. Danh sách sau đâ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.

OR_BIBED_07 API này yêu cầu thư viện Dịch vụ Google Play phiên bản 8.4 trở lên
Đảm bảo rằng Dịch vụ Google Play đã được cập nhật trên thiết bị chạy ứng dụng.
OR_BIBED_07 Không tìm thấy khoá nào cho trang doanh nghiệp của người bán này
Bạn phải đăng ký khoá mã hoá công khai với Google bằng Bảng điều khiển của Google Pay và Wallet để hoàn tất quy trình tích hợp DIRECT tokenizationSpecification type.
OR_BIBED_07 Hồ sơ người bán này không có quyền sử dụng tính năng này.
Bạn chưa hoàn tất quy trình đăng ký ứng dụng của mình cho Google Pay API. 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.
OR_BIBED_10 Người bán này ở một khu vực không chấp nhận Google Pay.
Dịch vụ Google Pay không có ở khu vực này. Xem danh sách các quốc gia được hỗ trợ để biết thêm thông tin
OR_BIBED_11 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ý ứng dụng của mình cho Google Pay API. 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.
OR_BIBED_12 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 của bạn.
OR_BIBED_13 Dấu vân tay khoá ký {11:22:33:44:55:66:77:88:99:AA:BB:CC:DD:EE:FF:11:22:33:44:55} không khớp với hồ sơ của chúng tôi cho ứng dụng này.
Bạn chỉ có thể sử dụng Google Pay API ở chế độ phát hành công khai nếu APK được ký bằng khoá ký chính xác. Để biết thêm thông tin, hãy xem bài viết Ký ứng dụng của bạn.

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 sau đâ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 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 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 của Tink. Ví dụ: nếu phản hồi của Google Pay API được ENVIRONMENT_TEST trả về, 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 được trả về từ phản hồi của Google Pay API. Để 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à 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.

Android WebView

OR_BIBED_15 Google Pay không tải được như bình thường vì ứng dụng này sử dụng WebView. Nhà phát triển ứng dụng phải làm theo hướng dẫn để cho phép Google Pay hoạt động trong WebView của hệ thống Android.
Làm theo hướng dẫn để bật Google Pay API cho Android WebView.

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, nút 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.