ออบเจ็กต์การตอบกลับ

ข้อมูลอ้างอิงนี้อธิบายตัวเลือกออบเจ็กต์การตอบกลับของ Google Pay API ที่จะใช้กับเว็บไซต์ ออบเจ็กต์การตอบกลับคือออบเจ็กต์ที่ Google Pay API เมธอดไคลเอ็นต์แสดงผล

IsReadyToPayResponse

ออบเจ็กต์นี้ให้ข้อมูลเกี่ยวกับความสามารถของผู้เข้าชมเว็บไซต์ในการให้ข้อมูลการชำระเงิน แก่เว็บไซต์ที่ขอข้อมูล

พร็อพเพอร์ตี้ ประเภท มีอยู่เสมอ คำอธิบาย
result บูลีน ใช่ ผู้เข้าชมปัจจุบันสามารถให้ข้อมูลการชำระเงินแก่เว็บไซต์ที่ขอข้อมูลดังกล่าวได้ ความสามารถในการชำระเงินของผู้เข้าชมอาจเชื่อมโยงกับความสามารถของเว็บเบราว์เซอร์ในการแสดงคอมโพเนนต์ที่จำเป็นสำหรับวิธีการชำระเงินที่ระบุ ซึ่งรวมถึงกรณีที่ผู้ใช้เข้าสู่ระบบบัญชี Google และระบุวิธีการชำระเงิน
paymentMethodPresent บูลีน ไม่

หาก true ผู้เข้าชมมีวิธีการชำระเงินอย่างน้อย 1 รายการตามที่ระบุไว้ในพร็อพเพอร์ตี้ allowedPaymentMethods ของ IsReadyToPayRequest ที่ระบุ

มีเฉพาะเมื่อตั้งค่า existingPaymentMethodRequired เป็น true ใน IsReadyToPayRequest

หากมีการเริ่มต้น PaymentsClient ด้วยพร็อพเพอร์ตี้ environment ของ TEST ระบบจะถือว่ามีวิธีการชำระเงินอยู่เสมอ

ตัวอย่าง

ตัวอย่างต่อไปนี้จะแสดงให้เห็นว่าเมื่อใดที่ผู้เข้าชมปัจจุบันจะสามารถให้ข้อมูลการชำระเงิน แก่เว็บไซต์ที่ขอข้อมูลดังกล่าว

{
  "result": true
}

PaymentData

นี่คือออบเจ็กต์การตอบกลับที่ Google ส่งคืนหลังจากที่ผู้ชำระเงินอนุมัติการชำระเงิน

PaymentDataRequestPaymentDataRequestPaymentDataRequest
พร็อพเพอร์ตี้ ประเภท มีอยู่เสมอ คำอธิบาย
apiVersion ตัวเลข ใช่ เวอร์ชัน API หลัก ค่าในการตอบกลับตรงกับค่าที่ระบุใน PaymentDataRequest
apiVersionMinor ตัวเลข ใช่ เวอร์ชัน API ย่อย ค่าในการตอบกลับตรงกับค่าที่ระบุใน PaymentDataRequest
paymentMethodData PaymentMethodData ใช่ ข้อมูลเกี่ยวกับวิธีการชำระเงินที่เลือก
email สตริง ไม่ อีเมล หากตั้งค่า emailRequired เป็น true ใน PaymentDataRequest หากคำขออื่นตั้งค่าพร็อพเพอร์ตี้เป็น true จะไม่มีผลใดๆ
shippingAddress ที่อยู่ ไม่ ที่อยู่สำหรับจัดส่ง หากตั้งค่า shippingAddressRequired เป็น true ใน PaymentDataRequest

ตัวอย่าง

การตอบกลับตัวอย่างนี้สำหรับ Google Pay API เวอร์ชัน 2.0 แสดงCARDวิธีการชำระเงิน ที่เลือกในชีตการชำระเงินของ Google Pay ระบบได้สร้างโทเค็นวิธีการชำระเงินสำหรับเกตเวย์ 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

ออบเจ็กต์นี้จะแสดงผลโดยอินพุตของ Google Pay API onPaymentDataChanged() เมื่อมีการเปลี่ยนแปลงที่อยู่จัดส่งหรือตัวเลือกการจัดส่งในชีตการชำระเงิน

พร็อพเพอร์ตี้ ประเภท ความจำเป็น คำอธิบาย
callbackTrigger สตริง ไม่บังคับ

อธิบายเหตุผลที่เรียกใช้การเรียกกลับข้อมูลการชำระเงิน

  • INITIALIZE
  • SHIPPING_ADDRESS
  • SHIPPING_OPTION
  • OFFER
INITIALIZE
offerData OfferData ไม่บังคับ รหัสโปรโมชันที่ผู้ใช้ระบุ
shippingAddress IntermediateAddress ไม่บังคับ ที่อยู่ที่เลือกในชีตการชำระเงิน
shippingOptionData SelectionOptionData ไม่บังคับ ตัวเลือกการจัดส่งที่เลือกในชีตการชำระเงิน

ตัวอย่าง

ตัวอย่างนี้แสดงเพย์โหลดระดับกลางที่แสดงผลจาก Google Pay API

{
  "callbackTrigger": "SHIPPING_ADDRESS",
  "offerData": {
    "redemptionCode": "exampleCode"
  },
  "shippingAddress": {
    "administrativeArea": "NY",
    "countryCode": "US",
    "locality": "New York",
    "postalCode": "10011"
  },
  "shippingOptionData": {
    "id": "shipping-001"
  }
}

PaymentMethodData

ออบเจ็กต์นี้ให้ข้อมูลสำหรับวิธีการชำระเงินที่เลือก

พร็อพเพอร์ตี้ ประเภท มีอยู่เสมอ คำอธิบาย
type สตริง ใช่ PaymentMethod type ที่เลือกในชีตการชำระเงินของ Google Pay
description สตริง ใช่

ข้อความที่แสดงต่อผู้ใช้เพื่ออธิบายวิธีการชำระเงินที่ใช้ในการทำธุรกรรมนี้

info ออบเจ็กต์ ใช่ ค่าของพร็อพเพอร์ตี้นี้ขึ้นอยู่กับวิธีการชำระเงินที่typeแสดง สำหรับ CARD โปรดดู CardInfo
tokenizationData PaymentMethodTokenizationData ไม่ ข้อมูลการแปลงโทเค็นการชำระเงินสำหรับวิธีการชำระเงินที่เลือก

ตัวอย่าง

ตัวอย่างการตอบกลับนี้แสดงให้เห็นว่าCARDวิธีการชำระเงินที่เลือกในชีตการชำระเงินของ Google Pay จะสร้างโทเค็นวิธีการชำระเงินสำหรับexampleเกตเวย์ได้อย่างไร

{
  "type": "CARD",
  "description": "Visa •••• 1234",
  "info": {
    "cardNetwork": "VISA",
    "cardDetails": "1234"
  },
  "tokenizationData": {
    "type": "PAYMENT_GATEWAY",
    "token": "examplePaymentMethodToken"
  }
}

CardInfo

ออบเจ็กต์นี้ให้ข้อมูลเกี่ยวกับบัตรชำระเงินที่เลือก

พร็อพเพอร์ตี้ ประเภท มีอยู่เสมอ คำอธิบาย
cardDetails สตริง ใช่ รายละเอียดเกี่ยวกับบัตร โดยปกติแล้วค่านี้จะเป็นตัวเลข 4 หลักสุดท้าย ของหมายเลขบัญชีการชำระเงินที่เลือก
assuranceDetails AssuranceDetailsSpecifications ใช่ ออบเจ็กต์นี้ให้ข้อมูลเกี่ยวกับการตรวจสอบที่ดำเนินการกับข้อมูลการชำระเงินที่แสดงผล หากตั้งค่า assuranceDetailsRequired เป็น true ใน CardParameters
cardNetwork สตริง ใช่

เครือข่ายบัตรชำระเงินของการชำระเงินที่เลือก ค่าที่แสดงผลจะตรงกับรูปแบบของ allowedCardNetworks ใน CardParameters

ค่าเครือข่ายบัตรนี้ไม่ควรแสดงต่อผู้ซื้อ ใช้เมื่อต้องการ รายละเอียดบัตรของผู้ซื้อ เช่น หากฝ่ายสนับสนุนลูกค้าต้องการค่านี้เพื่อ ระบุบัตรที่ผู้ซื้อใช้สำหรับธุรกรรม สําหรับคําอธิบายที่ผู้ใช้มองเห็น ให้ใช้พร็อพเพอร์ตี้ description ของ PaymentMethodData แทน

billingAddress ที่อยู่ ไม่ ที่อยู่สำหรับการเรียกเก็บเงินที่เชื่อมโยงกับวิธีการชำระเงินที่ระบุ หาก billingAddressRequired ตั้งค่าเป็น true ใน CardParameters
cardFundingSource สตริง ใช่

แหล่งเงินทุนของบัตรสำหรับวิธีการชำระเงินที่เลือก

  • UNKNOWN
  • CREDIT
  • DEBIT
  • PREPAID

ตัวอย่าง

ตัวอย่างนี้แสดงบัตรในเครือข่าย Visa

{
  "cardNetwork": "VISA",
  "cardDetails": "1234",
  "cardFundingSource": "CREDIT",
  "assuranceDetails": {
    "cardHolderAuthenticated": false,
    "accountVerified": true
  }
}

AssuranceDetailsSpecifications

ออบเจ็กต์นี้ให้ข้อมูลเกี่ยวกับการตรวจสอบที่ดำเนินการกับข้อมูลเข้าสู่ระบบการชำระเงินที่ส่งคืน เพื่อให้สามารถใช้การตรวจสอบความเสี่ยงของเครื่องมือที่เหมาะสมได้

ชื่อ ประเภท คำอธิบาย
accountVerified บูลีน หาก true แสดงว่ามีการตรวจสอบการครอบครอง Cardholder ในข้อมูลเข้าสู่ระบบการชำระเงินที่ส่งคืน
cardHolderAuthenticated บูลีน

หาก true แสดงว่ามีการระบุและการยืนยัน (ID&V) ในข้อมูลเข้าสู่ระบบการชำระเงินที่ส่งคืน

หาก false คุณจะทำการตรวจสอบสิทธิ์ตามความเสี่ยงแบบเดียวกันได้เหมือนกับ การทำธุรกรรมด้วยบัตร การตรวจสอบสิทธิ์ตามความเสี่ยงนี้อาจรวมถึงแต่ไม่จำกัดเพียงการเพิ่มขั้นตอนด้วยโปรโตคอล 3D Secure หากมี

คุณรับและประมวลผลออบเจ็กต์การตอบกลับได้แม้ว่าจะไม่ได้ใช้ฟิลด์ assuranceDetails ก็ตาม หากต้องการรับออบเจ็กต์นี้ ให้รวม assuranceDetailsRequired: true ในออบเจ็กต์คำขอของ CardParameters

PaymentMethodTokenizationData

ออบเจ็กต์นี้ให้ข้อมูลการแปลงโทเค็นสำหรับวิธีการชำระเงิน

พร็อพเพอร์ตี้ ประเภท มีอยู่เสมอ คำอธิบาย
type สตริง ใช่ ประเภทการแปลงโทเค็นที่จะใช้กับวิธีการชำระเงินที่เลือก ค่านี้ตรงกับ type ที่ตั้งไว้ใน PaymentMethodTokenizationSpecification
token สตริง ไม่

โทเค็นวิธีการชำระเงินที่สร้างขึ้น

ตัวอย่าง

นี่คือตัวอย่างการตอบกลับที่แปลงเป็นโทเค็นซึ่งเตรียมไว้สำหรับexampleเกตเวย์

{
  "type": "PAYMENT_GATEWAY",
  "token": "examplePaymentMethodToken"
}

PaymentAuthorizationResult

ออบเจ็กต์นี้ให้ข้อมูลเกี่ยวกับผลการให้สิทธิ์การชำระเงิน

พร็อพเพอร์ตี้ ประเภท ความจำเป็น คำอธิบาย
transactionState สตริง ต้องระบุ สถานะของธุรกรรมจะได้รับการแก้ไขโดยผลลัพธ์ของผู้ขายอย่างใดอย่างหนึ่งต่อไปนี้
  • SUCCESS
  • ERROR
error PaymentDataError ไม่บังคับ ข้อผิดพลาดที่จะแสดงในชีตการชำระเงินสำหรับผู้ใช้เมื่อจำเป็นต้องลองชำระเงินอีกครั้ง

ตัวอย่าง

ตัวอย่างต่อไปนี้แสดงผลการชำระเงินที่ส่งคืนหลังจากประมวลผลการชำระเงินแล้ว

{
  "transactionState": "ERROR",
  "error": {
    "reason": "PAYMENT_DATA_INVALID",
    "message": "Cannot pay with payment credentials",
    "intent": "PAYMENT_AUTHORIZATION"
  }
}

PaymentDataError

พร็อพเพอร์ตี้ ประเภท ความจำเป็น คำอธิบาย
reason สตริง ต้องระบุ

รายการเหตุผลของข้อผิดพลาดที่กำหนดไว้ล่วงหน้า

  • OFFER_INVALID
  • PAYMENT_DATA_INVALID
  • SHIPPING_ADDRESS_INVALID
  • SHIPPING_ADDRESS_UNSERVICEABLE
  • SHIPPING_OPTION_INVALID
  • OTHER_ERROR
message สตริง ต้องระบุ ข้อความแสดงข้อผิดพลาดต่อผู้ใช้ซึ่งแสดงในกล่องโต้ตอบ
intent สตริง ต้องระบุ

เจตนาของข้อผิดพลาด ซึ่งต้องเป็นบัญชีที่ลงทะเบียนไว้ใน PaymentDataRequest ตั้งแต่เริ่มโฟลว์

  • OFFER
  • PAYMENT_AUTHORIZATION
  • SHIPPING_ADDRESS
  • SHIPPING_OPTION

ตัวอย่าง

ตัวอย่างนี้แสดงเจตนาและข้อความแสดงข้อผิดพลาดที่จะแสดงในชีตการชำระเงิน

{
  "error": {
    "reason": "SHIPPING_OPTION_INVALID",
    "message": "This shipping option is invalid for the given address",
    "intent": "SHIPPING_OPTION"
  }
}

ที่อยู่

ออบเจ็กต์นี้ให้ข้อมูลเกี่ยวกับที่อยู่ไปรษณีย์ที่ขอ พร็อพเพอร์ตี้ทั้งหมดเป็นสตริง

ระบบจะแสดงที่อยู่ในรูปแบบ MIN, FULL และ FULL-ISO3166 คุณดูพร็อพเพอร์ตี้ที่เป็นของแต่ละรูปแบบได้ในตารางต่อไปนี้

พร็อพเพอร์ตี้ รูปแบบที่อยู่ คำอธิบาย
name MIN, FULL, FULL-ISO3166 ชื่อและนามสกุลของผู้รับ
postalCode MIN, FULL, FULL-ISO3166 รหัสไปรษณีย์
countryCode MIN, FULL, FULL-ISO3166 รหัสประเทศ ISO 3166-1 alpha-2
phoneNumber MIN, FULL, FULL-ISO3166 หมายเลขโทรศัพท์ หากตั้งค่า phoneNumberRequired เป็น true ใน PaymentDataRequest
address1 FULL, FULL-ISO3166 บรรทัดแรกของที่อยู่
address2 FULL, FULL-ISO3166 ที่อยู่บรรทัดที่ 2
address3 FULL, FULL-ISO3166 บรรทัดที่ 3 ของที่อยู่
locality FULL, FULL-ISO3166 เมือง เขตชุมชน ย่าน หรือชานเมือง
administrativeArea FULL, FULL-ISO3166 เขตย่อยของประเทศ เช่น รัฐหรือจังหวัด
sortingCode FULL, FULL-ISO3166 รหัสการจัดเรียง
iso3166AdministrativeArea FULL-ISO3166 รหัสเขตบริหาร ISO 3166-2 ที่สอดคล้องกับ AdministrativeArea

ตัวอย่าง

นี่คือตัวอย่างที่อยู่ในรูปแบบ FULL-ISO3166 ในสหรัฐอเมริกาที่มีข้อมูลที่อยู่ถนนหลายบรรทัด

{
  "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

พร็อพเพอร์ตี้ ประเภท ความจำเป็น คำอธิบาย
administrativeArea สตริง ต้องระบุ เขตย่อยของประเทศ เช่น รัฐหรือจังหวัด
countryCode สตริง ต้องระบุ รหัสประเทศ ISO 3166-1 alpha-2
locality สตริง ต้องระบุ เมือง เขตชุมชน ย่าน หรือชานเมือง
postalCode สตริง ต้องระบุ รหัสไปรษณีย์ที่แก้ไขตามประเทศ สำหรับแคนาดาและสหราชอาณาจักร ฟิลด์นี้จะมี อักขระ 3 ตัวแรกเท่านั้น สำหรับสหรัฐอเมริกา ข้อมูลนี้จะมีตัวเลข 5 หลักแรก
iso3166AdministrativeArea สตริง ไม่บังคับ รหัสเขตบริหาร ISO 3166-2 ที่สอดคล้องกับ administrativeArea แสดงเมื่อ รูปแบบที่อยู่จัดส่งเป็น FULL-ISO3166 เท่านั้น

ตัวอย่าง

ตัวอย่างนี้แสดงที่อยู่ที่เลือกในชีตการชำระเงิน

{
  "administrativeArea": "NY",
  "countryCode": "US",
  "locality": "New York",
  "postalCode": "10011"
  "iso3166AdministrativeArea": "US-NY"
}

SelectionOptionData

พร็อพเพอร์ตี้ ประเภท ความจำเป็น คำอธิบาย
id สตริง ต้องระบุ ตรงกับ SelectionOption.id

ตัวอย่าง

ตัวอย่างนี้แสดงตัวเลือกการจัดส่งที่เลือกในชีตการชำระเงิน

{
  "id": "shipping-001"
}

OfferData

ออบเจ็กต์นี้ให้ข้อมูลเกี่ยวกับรหัสข้อเสนอที่ป้อนในชีตการชำระเงิน

พร็อพเพอร์ตี้ ประเภท ความจำเป็น คำอธิบาย
redemptionCodes อาร์เรย์ มีอยู่เสมอ ชุดรหัสโปรโมชันที่ป้อนลงในชีตการชำระเงิน รวมถึงรหัสที่ได้รับอนุมัติแล้ว

ตัวอย่าง

ตัวอย่างต่อไปนี้แสดงออบเจ็กต์ OfferData ที่มีอาร์เรย์ redemptionCodes

"offerData": {
    "redemptionCodes": ["PROMOTIONALCODE"]
}