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à đối tượng được trả về bằng phương thức ứng dụng khách của Google Pay API.
IsReadyToPayResponse
Đối tượng này cung cấp thông tin về khả năng của khách truy cập trang web trong việc cung cấp thông tin thanh toán 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ể gắn liền với 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. Điều này bao gồm cả trường hợp họ đăng nhập vào Tài khoản Google và cung cấp 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 bạn 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à đối tượng phản hồi mà 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ụ
Ví dụ về phản hồi này cho Google Pay API phiên bản 2.0 cho thấy phương thức thanh toán CARD được chọn trong bảng thanh toán của Google Pay. Đã tạo mã thông báo phương thức thanh toán cho cổng thanh toán 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ề bởi dữ liệu đầu vào onPaymentDataChanged() của API Google Pay khi địa chỉ giao hàng hoặc phương thức vận chuyển thay đổi trong trang 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ỉ được chọn trong trang thanh toán. |
shippingOptionData |
SelectionOptionData | Không bắt buộc | Phương thức vận chuyển đã chọn trong trang thanh toán. |
paymentMethodData |
IntermediatePaymentMethodData | Không bắt buộc | Dữ liệu về phương thức thanh toán được 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 khi có thay đổi về địa chỉ giao hàng.
{ "callbackTrigger": "SHIPPING_ADDRESS", "offerData": { "redemptionCode": "exampleCode" }, "shippingAddress": { "administrativeArea": "NY", "countryCode": "US", "locality": "New York", "postalCode": "10011" }, "shippingOptionData": { "id": "shipping-001" } }
Ví dụ này cho thấy tải trọng trung gian được trả về khi phương thức thanh toán thay đổi.
{ "callbackTrigger": "PAYMENT_METHOD", "paymentMethodData": { "type": "CARD", "info": { "cardNetwork": "VISA", "cardFundingSource": "CREDIT", "billingAddress": { "administrativeArea": "NY", "countryCode": "US", "locality": "New York", "postalCode": "10011" } } } }
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 bảng thanh toán của Google Pay.
|
description |
chuỗi | Có | Thông báo dành cho người dùng để mô tả phương thức thanh toán dùng để thanh toán cho 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 mà type trả về.
Đối với CARD, hãy xem CardInfo.
|
tokenizationData |
PaymentMethodTokenizationData | Không | Dữ liệu mã hoá thanh toán cho phương thức thanh toán đã chọn. |
Ví dụ
Ví dụ về phản hồi này cho thấy cách một phương thức thanh toán CARD được chọn trong trang thanh toán của Google Pay tạo mã thông báo phương thức thanh toán cho cổng thanh toán 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à bốn 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 được trả về nếu assuranceDetailsRequired được đặt thành true trong
CardParameters.
|
cardNetwork |
chuỗi | Có | Mạng thẻ thanh toán của khoản thanh toán đã chọn.
Giá trị được trả về khớp với định dạng của Không được hiển thị giá trị mạng thẻ này cho người mua. Trường này được dùng khi cần có 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ủa họ. Để có nội dung mô tả mà người dùng có thể nhìn thấy, hãy sử dụng thuộc tính |
billingAddress |
Địa chỉ | Không | Địa chỉ thanh toán liên kết với phương thức thanh toán được cung cấp, nếu
billingAddressRequired được đặt thành true trong
CardParameters.
|
cardFundingSource |
chuỗi | Có | Nguồn tiền vào 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 trên thông tin xác thực 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 phương thức thanh toán.
| Tên | Loại | Mô tả |
|---|---|---|
accountVerified |
boolean | Nếu true, cho biết rằng quy trình xác thực quyền sở hữu Cardholder đã được thực hiện trên thông tin đăng nhập thanh toán được trả về. |
cardHolderAuthenticated |
boolean |
Nếu là 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 Request.
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ề phản hồi được mã hoá và chuẩn bị cho cổng thanh toán 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 các kết quả sau của người bán:
|
error |
PaymentDataError | Không bắt buộc | Lỗi sẽ hiển thị trong trang thanh toán cho người dùng khi cần thử lại 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 khoản 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 hộp thoại. |
intent |
Chuỗi | Bắt buộc | Ý định của lỗi. Ý định này phải là ý định đã được đăng ký trong
|
Ví dụ
Ví dụ này cho thấy ý định và thông báo lỗi sẽ 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ả thuộc tính đều là chuỗi.
Địa chỉ có thể được trả về ở các định dạng MIN, FULL và FULL-ISO3166. Bạn có thể xem các thuộc tính của 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 của người nhận. |
postalCode |
MIN, FULL, FULL-ISO3166 |
Mã bưu chính hoặc mã ZIP. |
countryCode |
MIN, FULL, FULL-ISO3166 |
Mã quốc gia theo 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 đơn vị hành chính cấp dưới của quốc gia, chẳng hạn như tiểu bang hoặc tỉnh. |
sortingCode |
FULL, FULL-ISO3166 |
Mã ngân hàng. |
iso3166AdministrativeArea |
FULL-ISO3166 |
Mã khu vực hành chính 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
Địa chỉ trung gian chứa địa chỉ giao hàng đã được loại bỏ thông tin nhạy cảm (không có dòng địa chỉ cấp đường phố hoặc tên người nhận) để cho phép tính thuế và các lựa chọn giao hàng hiện hành trước khi người dùng cho phép thanh toán.
| Thuộc tính | Loại | Sự cần thiết | Mô tả |
|---|---|---|---|
administrativeArea |
Chuỗi | Bắt buộc | Một đơn vị hành chính cấp dưới 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 theo 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 loại bỏ thông tin nhạy cảm dựa trên quốc gia. Đối với Canada và Vương quốc Anh, trường này chỉ chứa ba 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 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 bạn 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 | Trùng khớp với SelectionOption.id |
Ví dụ
Ví dụ này cho bạn 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 trang thanh toán. Bao gồm các mã đã được phê duyệt. |
Ví dụ
Ví dụ sau đây cho thấy một đối tượng OfferData có mảng redemptionCodes.
"offerData": { "redemptionCodes": ["PROMOTIONALCODE"] }
IntermediatePaymentMethodData
Đối tượng này chứa một số thông tin về phương thức thanh toán đã chọn cho lệnh gọi lại của nhà phát triển.
| Thuộc tính | Loại | Sự cần thiết | Mô tả |
|---|---|---|---|
type |
chuỗi | Bắt buộc | Loại phương thức thanh toán. Chỉ hỗ trợ CARD cho lệnh gọi lại này. |
info |
IntermediateCardInfo | Không bắt buộc | Thông tin về thẻ đã chọn. Chỉ xuất hiện nếu type là CARD. |
IntermediateCardInfo
Đối tượng này chứa thông tin giới hạn về thẻ đã chọn, được dùng trong lệnh gọi lại của nhà phát triển.
| Thuộc tính | Loại | Sự cần thiết | Mô tả |
|---|---|---|---|
billingAddress |
IntermediateAddress | Không bắt buộc | Địa chỉ thanh toán liên kết với thẻ. Chỉ được điền sẵn khi địa chỉ thanh toán được đặt là bắt buộc. |
cardNetwork |
chuỗi | Không bắt buộc | Mạng thẻ thanh toán của thẻ thanh toán đã chọn. Giá trị được trả về khớp với định dạng của Giá trị mạng thẻ này không được hiển thị cho người mua. |
cardFundingSource |
chuỗi | Không bắt buộc | Nguồn tiền cho thẻ thanh toán đã chọn.
|