Tài liệu tham khảo này mô tả các lựa chọn đối tượng phản hồi của Google Pay API để sử dụng với trang web của bạn. Đối tượng phản hồi là các đối tượng do phương thức ứng dụng khách của Google Pay API trả về.
IsReadyToPayResponse
Đối tượng này cung cấp thông tin về khả năng cung cấp thông tin thanh toán của khách truy cập trang web cho trang web yêu cầu thông tin đó.
| Thuộc tính | Loại | Luôn tồn tại | Mô tả |
|---|---|---|---|
result |
boolean | Có | Khách truy cập hiện tại có thể cung cấp thông tin thanh toán cho trang web yêu cầu thông tin đó. Khả năng thanh toán của khách truy cập có thể liên quan đến khả năng hiển thị các thành phần bắt buộc của trình duyệt web cho các phương thức thanh toán được chỉ định. Ví dụ: khi họ đăng nhập vào Tài khoản Google và cung cấp một phương thức thanh toán. |
paymentMethodPresent |
boolean | Không |
Nếu Chỉ tồn tại khi Nếu |
Ví dụ:
Ví dụ sau đây cho biết thời điểm khách truy cập hiện tại có thể cung cấp thông tin thanh toán cho trang web yêu cầu thông tin đó.
{ "result": true }
PaymentData
Đây là một đối tượng phản hồi do Google trả về sau khi người thanh toán phê duyệt khoản thanh toán.
PaymentDataRequest.PaymentDataRequest.PaymentDataRequest.| Thuộc tính | Loại | Luôn tồn tại | Mô tả |
|---|---|---|---|
apiVersion |
số | Có | Phiên bản API chính. Giá trị trong phản hồi khớp với giá trị được cung cấp trong
PaymentDataRequest. |
apiVersionMinor |
số | Có | Phiên bản API phụ. Giá trị trong phản hồi khớp với giá trị được cung cấp trong
PaymentDataRequest. |
paymentMethodData |
PaymentMethodData | Có | Dữ liệu về phương thức thanh toán đã chọn. |
email |
chuỗi | Không | Địa chỉ email, nếu emailRequired được đặt thành true trong
PaymentDataRequest.
Nếu một yêu cầu khác có thuộc tính được đặt thành true thì sẽ không có hiệu lực. |
shippingAddress |
Địa chỉ | Không | Địa chỉ giao hàng, nếu shippingAddressRequired được đặt thành true trong
PaymentDataRequest. |
Ví dụ:
Phản hồi mẫu này cho Google Pay API phiên bản 2.0 cho thấy một phương thức thanh toán CARD được chọn trong trang thanh toán của Google Pay. Một mã thông báo phương thức thanh toán đã được tạo cho cổng example.
{ "apiVersion": 2, "apiVersionMinor": 0, "paymentMethodData": { "type": "CARD", "description": "Visa •••• 1234", "info": { "cardNetwork": "VISA", "cardDetails": "1234", "cardFundingSource": "CREDIT" }, "tokenizationData": { "type": "PAYMENT_GATEWAY", "token": "examplePaymentMethodToken" } } }
IntermediatePaymentData
Đối tượng này được trả về theo đầu vào onPaymentDataChanged() của Google Pay API khi địa chỉ giao hàng hoặc lựa chọn giao hàng thay đổi trong bảng thanh toán.
| Thuộc tính | Loại | Sự cần thiết | Mô tả |
|---|---|---|---|
callbackTrigger |
Chuỗi | Không bắt buộc | Mô tả lý do gọi lệnh gọi lại dữ liệu thanh toán.
|
offerData |
OfferData | Không bắt buộc | Mã khuyến mãi do người dùng cung cấp. |
shippingAddress |
IntermediateAddress | Không bắt buộc | Địa chỉ đã chọn trong trang thanh toán. |
shippingOptionData |
SelectionOptionData | Không bắt buộc | Lựa chọn vận chuyển đã chọn trong trang thanh toán. |
Ví dụ:
Ví dụ này cho thấy tải trọng trung gian được trả về từ Google Pay API.
{ "callbackTrigger": "SHIPPING_ADDRESS", "offerData": { "redemptionCode": "exampleCode" }, "shippingAddress": { "administrativeArea": "NY", "countryCode": "US", "locality": "New York", "postalCode": "10011" }, "shippingOptionData": { "id": "shipping-001" } }
PaymentMethodData
Đối tượng này cung cấp dữ liệu cho một phương thức thanh toán đã chọn.
| Thuộc tính | Loại | Luôn tồn tại | Mô tả |
|---|---|---|---|
type |
chuỗi | Có |
PaymentMethod
type được chọn trong trang thanh toán của Google Pay.
|
description |
chuỗi | Có | Thông báo cho người dùng để mô tả phương thức thanh toán dùng để thanh toán giao dịch này. |
info |
đối tượng | Có | Giá trị của thuộc tính này phụ thuộc vào phương thức thanh toán type được trả về.
Đối với CARD, hãy xem CardInfo.
|
tokenizationData |
PaymentMethodTokenizationData | Không | Dữ liệu mã hoá thông tin thanh toán cho phương thức thanh toán đã chọn. |
Ví dụ:
Phản hồi mẫu này cho biết cách một phương thức thanh toán CARD được chọn trong trang thanh toán Google Pay sẽ tạo mã thông báo phương thức thanh toán cho cổng example.
{ "type": "CARD", "description": "Visa •••• 1234", "info": { "cardNetwork": "VISA", "cardDetails": "1234" }, "tokenizationData": { "type": "PAYMENT_GATEWAY", "token": "examplePaymentMethodToken" } }
CardInfo
Đối tượng này cung cấp thông tin về thẻ thanh toán đã chọn.
| Thuộc tính | Loại | Luôn tồn tại | Mô tả |
|---|---|---|---|
cardDetails |
chuỗi | Có | Thông tin chi tiết về thẻ. Giá trị này thường là 4 chữ số cuối của số tài khoản thanh toán đã chọn. |
assuranceDetails |
AssuranceDetailsSpecifications | Có | Đối tượng này cung cấp thông tin về quy trình xác thực được thực hiện trên dữ liệu thanh toán đã trả về nếu assuranceDetailsRequired được đặt thành true trong
CardParameters.
|
cardNetwork |
chuỗi | Có | Mạng thanh toán của thẻ thanh toán đã chọn.
Các giá trị được trả về khớp với định dạng của Người mua không được nhìn thấy giá trị mạng thẻ này. Được dùng khi cần thông tin chi tiết về thẻ của người mua. Ví dụ: nếu bộ phận hỗ trợ khách hàng cần giá trị này để xác định thẻ mà người mua đã dùng cho giao dịch. Để có nội dung mô tả mà người dùng có thể thấy, hãy sử dụng thuộc tính |
billingAddress |
Địa chỉ | Không | Địa chỉ thanh toán được liên kết với phương thức thanh toán đã cung cấp, nếu billingAddressRequired được đặt thành true trong
CardParameters.
|
cardFundingSource |
chuỗi | Có | Nguồn tiền từ thẻ cho phương thức thanh toán đã chọn.
|
Ví dụ:
Ví dụ này cho thấy một thẻ trên mạng Visa.
{ "cardNetwork": "VISA", "cardDetails": "1234", "cardFundingSource": "CREDIT", "assuranceDetails": { "cardHolderAuthenticated": false, "accountVerified": true } }
AssuranceDetailsSpecifications
Đối tượng này cung cấp thông tin về quy trình xác thực đã được thực hiện đối với thông tin đăng nhập thanh toán được trả về để có thể áp dụng các quy trình kiểm tra rủi ro phù hợp cho công cụ.
| Tên | Loại | Mô tả |
|---|---|---|
accountVerified |
boolean | Nếu true, tức là quá trình xác thực quyền sở hữu Cardholder đã được thực hiện trên thông tin thanh toán được trả về. |
cardHolderAuthenticated |
boolean |
Nếu Nếu |
Bạn có thể nhận và xử lý Đối tượng phản hồi ngay cả khi không sử dụng trường assuranceDetails. Để nhận đối tượng này, hãy thêm assuranceDetailsRequired: true vào
CardParameters của đối tượng Yêu cầu.
PaymentMethodTokenizationData
Đối tượng này cung cấp dữ liệu mã hoá cho phương thức thanh toán.
| Thuộc tính | Loại | Luôn tồn tại | Mô tả |
|---|---|---|---|
type |
chuỗi | Có | Loại mã hoá kỹ thuật số sẽ được áp dụng cho phương thức thanh toán đã chọn.
Giá trị này khớp với type được đặt trong
PaymentMethodTokenizationSpecification.
|
token |
chuỗi | Không | Mã thông báo phương thức thanh toán được tạo.
|
Ví dụ:
Đây là ví dụ về một phản hồi được mã hoá dưới dạng mã thông báo, được chuẩn bị cho cổng example.
{ "type": "PAYMENT_GATEWAY", "token": "examplePaymentMethodToken" }
PaymentAuthorizationResult
Đối tượng này cung cấp thông tin về kết quả uỷ quyền thanh toán.
| Thuộc tính | Loại | Sự cần thiết | Mô tả |
|---|---|---|---|
transactionState |
Chuỗi | Bắt buộc | Trạng thái của giao dịch được giải quyết bằng một trong những kết quả sau đây của người bán:
|
error |
PaymentDataError | Không bắt buộc | Lỗi sẽ được hiển thị trong trang thanh toán cho người dùng khi cần thiết phải thử lại quy trình thanh toán. |
Ví dụ:
Ví dụ sau đây cho thấy kết quả thanh toán được trả về sau khi một giao dịch thanh toán được xử lý:
{ "transactionState": "ERROR", "error": { "reason": "PAYMENT_DATA_INVALID", "message": "Cannot pay with payment credentials", "intent": "PAYMENT_AUTHORIZATION" } }
PaymentDataError
| Thuộc tính | Loại | Sự cần thiết | Mô tả |
|---|---|---|---|
reason |
Chuỗi | Bắt buộc | Danh sách các lý do lỗi được xác định trước:
|
message |
Chuỗi | Bắt buộc | Thông báo lỗi cho người dùng xuất hiện trong một hộp thoại. |
intent |
Chuỗi | Bắt buộc | Mục đích của lỗi. Đây phải là một trong những mã đã được đăng ký trong
|
Ví dụ:
Ví dụ này cho thấy ý định và thông báo lỗi sẽ được hiển thị trong trang thanh toán.
{ "error": { "reason": "SHIPPING_OPTION_INVALID", "message": "This shipping option is invalid for the given address", "intent": "SHIPPING_OPTION" } }
Địa chỉ
Đối tượng này cung cấp thông tin về địa chỉ bưu chính được yêu cầu. Tất cả các thuộc tính đều là chuỗi.
Địa chỉ có thể được trả về ở định dạng MIN, FULL và FULL-ISO3166. Bạn có thể xem các thuộc tính thuộc từng định dạng trong bảng sau.
| Thuộc tính | Định dạng địa chỉ | Mô tả |
|---|---|---|
name |
MIN, FULL, FULL-ISO3166 |
Họ và tên đầy đủ của người nhận. |
postalCode |
MIN, FULL, FULL-ISO3166 |
Mã bưu điện hoặc mã vùng. |
countryCode |
MIN, FULL, FULL-ISO3166 |
Mã quốc gia ISO 3166-1 alpha-2. |
phoneNumber |
MIN, FULL, FULL-ISO3166 |
Số điện thoại, nếu phoneNumberRequired được đặt thành true trong
PaymentDataRequest.
|
address1 |
FULL, FULL-ISO3166 |
Dòng đầu tiên của địa chỉ. |
address2 |
FULL, FULL-ISO3166 |
Dòng thứ hai của địa chỉ. |
address3 |
FULL, FULL-ISO3166 |
Dòng thứ ba của địa chỉ. |
locality |
FULL, FULL-ISO3166 |
Thành phố, thị trấn, khu phố hoặc vùng ngoại ô. |
administrativeArea |
FULL, FULL-ISO3166 |
Một phân khu của quốc gia, chẳng hạn như tiểu bang hoặc tỉnh. |
sortingCode |
FULL, FULL-ISO3166 |
Mã sắp xếp. |
iso3166AdministrativeArea |
FULL-ISO3166 |
Mã khu vực hành chính theo ISO 3166-2 tương ứng với administrativeArea. |
Ví dụ:
Đây là ví dụ về địa chỉ theo định dạng FULL-ISO3166 ở Hoa Kỳ có nhiều dòng dữ liệu địa chỉ đường phố.
{ "name": "John Doe", "address1": "c/o Google LLC", "address2": "1600 Amphitheatre Pkwy", "address3": "Building 40", "locality": "Mountain View", "administrativeArea": "CA", "countryCode": "US", "postalCode": "94043", "sortingCode": "" "iso3166AdministrativeArea": "US-CA" }
IntermediateAddress
| Thuộc tính | Loại | Sự cần thiết | Mô tả |
|---|---|---|---|
administrativeArea |
Chuỗi | Bắt buộc | Một phân khu của quốc gia, chẳng hạn như tiểu bang hoặc tỉnh. |
countryCode |
Chuỗi | Bắt buộc | Mã quốc gia ISO 3166-1 alpha-2. |
locality |
Chuỗi | Bắt buộc | Thành phố, thị trấn, khu phố hoặc vùng ngoại ô. |
postalCode |
Chuỗi | Bắt buộc | Mã bưu chính đã được chỉnh sửa dựa trên quốc gia. Đối với Canada và Vương quốc Anh, mã này chỉ chứa 3 ký tự đầu tiên. Đối với Hoa Kỳ, mã này chứa 5 chữ số đầu tiên. |
iso3166AdministrativeArea |
Chuỗi | Không bắt buộc |
Mã khu vực hành chính theo ISO 3166-2 tương ứng với administrativeArea. Chỉ xuất hiện nếu định dạng địa chỉ giao hàng là FULL-ISO3166.
|
Ví dụ:
Ví dụ này cho thấy địa chỉ được chọn trong trang thanh toán.
{ "administrativeArea": "NY", "countryCode": "US", "locality": "New York", "postalCode": "10011" "iso3166AdministrativeArea": "US-NY" }
SelectionOptionData
| Thuộc tính | Loại | Sự cần thiết | Mô tả |
|---|---|---|---|
id |
Chuỗi | Bắt buộc | Khớp với SelectionOption.id |
Ví dụ:
Ví dụ này cho thấy lựa chọn vận chuyển được chọn trong trang thanh toán.
{ "id": "shipping-001" }
OfferData
Đối tượng này cung cấp thông tin về mã ưu đãi được nhập vào trang thanh toán.
| Thuộc tính | Loại | Sự cần thiết | Mô tả |
|---|---|---|---|
redemptionCodes |
mảng | Luôn tồn tại | Tập hợp mã khuyến mãi được nhập vào bảng thanh toán. Bao gồm cả những mã đã được phê duyệt. |
Ví dụ:
Ví dụ sau đây minh hoạ một đối tượng OfferData có một mảng redemptionCodes.
"offerData": { "redemptionCodes": ["PROMOTIONALCODE"] }