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

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

IsReadyToPayResponse

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

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

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

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

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

ตัวอย่าง

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

{
  "result": true
}

PaymentData

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

PaymentDataRequest.PaymentDataRequest.PaymentDataRequest
พร็อพเพอร์ตี้ ประเภท มีอยู่เสมอ คำอธิบาย
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

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

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

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

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

ตัวอย่าง

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

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

ตัวอย่างนี้แสดงเพย์โหลดระดับกลางที่แสดงผลเมื่อมีการเปลี่ยนแปลงวิธีการชำระเงิน

{
  "callbackTrigger": "PAYMENT_METHOD",
  "paymentMethodData": {
    "type": "CARD",
    "info": {
      "cardNetwork": "VISA",
      "cardFundingSource": "CREDIT",
      "billingAddress": {
        "administrativeArea": "NY",
        "countryCode": "US",
        "locality": "New York",
        "postalCode": "10011"
      }
    }
  }
}

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 สตริง ต้องระบุ

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

  • OFFER
  • PAYMENT_AUTHORIZATION
  • SHIPPING_ADDRESS
  • SHIPPING_OPTION

ตัวอย่าง

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

{
  "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 รหัส Sort
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"]
}

IntermediatePaymentMethodData

ออบเจ็กต์นี้มีข้อมูลแบบจำกัดเกี่ยวกับวิธีการชำระเงินที่เลือกสำหรับ Callback ของนักพัฒนาแอป

พร็อพเพอร์ตี้ ประเภท ความจำเป็น คำอธิบาย
type สตริง ต้องระบุ ประเภทวิธีการชำระเงิน รองรับเฉพาะ CARD สำหรับ Callback นี้
info IntermediateCardInfo ไม่บังคับ ข้อมูลเกี่ยวกับการ์ดที่เลือก แสดงเมื่อ type เป็น CARD เท่านั้น

IntermediateCardInfo

ออบเจ็กต์นี้มีข้อมูลแบบจำกัดเกี่ยวกับบัตรที่เลือก ซึ่งใช้ใน Callback ของนักพัฒนาแอป

พร็อพเพอร์ตี้ ประเภท ความจำเป็น คำอธิบาย
billingAddress IntermediateAddress ไม่บังคับ ที่อยู่สำหรับการเรียกเก็บเงินที่เชื่อมโยงกับบัตร จะมีการป้อนข้อมูลเมื่อมีการตั้งค่าที่อยู่สำหรับการเรียกเก็บเงินเป็น "ต้องระบุ" เท่านั้น
cardNetwork สตริง ไม่บังคับ

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

ไม่ควรแสดงค่าเครือข่ายบัตรนี้ต่อผู้ซื้อ

cardFundingSource สตริง ไม่บังคับ

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

  • UNKNOWN
  • CREDIT
  • DEBIT
  • PREPAID