คู่มือการแก้ปัญหาบนเว็บครอบคลุมปัญหาและคำถามที่เกี่ยวข้องกับหัวข้อต่อไปนี้
- สิทธิ์เข้าถึงการลงทะเบียน
- merchantID
- ความถูกต้องของเกตเวย์
- ความถูกต้องของออบเจ็กต์
- ผู้ขายโดยตรง
- CardInfo
- ข้อผิดพลาด OR_BIBED_15
การลงทะเบียนและการเข้าถึง
คุณอาจพบข้อผิดพลาดต่อไปนี้ในบางจุดของการผสานรวม รายการนี้มีคำแนะนำในการแก้ปัญหาที่เป็นประโยชน์ในกรณีที่เกิดข้อผิดพลาดเหล่านี้
- ผู้ขายรายนี้ไม่ได้เปิดใช้ Google Pay
- Google Pay API ต้องใช้ merchantId ของ Google สำหรับเว็บไซต์ที่กำหนดค่า
PaymentsClientสำหรับสภาพแวดล้อมPRODUCTIONบัญชี GooglemerchantIdจะเชื่อมโยงกับโดเมนที่สมบูรณ์อย่างน้อย 1 โดเมนผ่าน Google Pay & Wallet Console ดูข้อมูลเพิ่มเติมได้ในรายละเอียดข้อผิดพลาดที่ส่งคืน - ผู้ขายรายนี้ยังลงทะเบียนเพื่อใช้ Google Pay API ไม่เสร็จ โปรดไปที่คอนโซล (https://pay.google.com/business/console) เพื่อยืนยัน
- คุณยังไม่ได้ดำเนินการลงทะเบียนเว็บไซต์สำหรับ Google Pay API ให้เสร็จสมบูรณ์ ตรวจสอบ ขอสิทธิ์เข้าถึงเวอร์ชันที่ใช้งานจริง เพื่อลงทะเบียนโดยใช้ Google Pay และ Wallet Console และ ขอรับการตรวจสอบการใช้ Google Pay API ของเว็บไซต์
- โปรไฟล์ผู้ขายนี้ไม่มีสิทธิ์เข้าถึงฟีเจอร์นี้
- Google ยังไม่ได้กำหนดค่าเว็บไซต์ให้ใช้ Google Pay API ตรวจสอบ ขอสิทธิ์เข้าถึงเวอร์ชันที่ใช้งานจริงเพื่อขอรับการตรวจสอบการใช้ Google Pay API ของเว็บไซต์ผ่าน Google Pay และ Wallet Console
- ปิดใช้การผสานรวม Google Pay API นี้แล้ว โปรดติดต่อเราเพื่อขอข้อมูลเพิ่มเติม (https://developers.google.com/pay/api/faq#how-to-get-support)
- ติดต่อเราเพื่อดูข้อมูลเพิ่มเติมเกี่ยวกับ ขั้นตอนที่จำเป็นในการเปิดใช้ Google Pay API สำหรับบัญชี Google ของคุณอีกครั้ง
- โดเมน "example.com" ของคุณไม่ได้ลงทะเบียนเพื่อใช้ API นี้
- โดเมนที่โฮสต์การชำระเงินไม่ได้เชื่อมโยงกับ
merchantIdที่คุณใช้ ตรวจสอบว่าพารามิเตอร์merchantIdถูกต้องและโดเมนของคุณ ลงทะเบียนผ่าน Google Pay และ Wallet Console - ควรเรียกใช้ Google Pay API ในบริบทที่ปลอดภัย
- API ของ Google Pay ใช้ได้เฉพาะในเว็บไซต์ในบริบทที่ปลอดภัยเท่านั้น ดูข้อมูลเพิ่มเติมได้ที่ บริบทที่ปลอดภัย
- ไม่พบคีย์สำหรับโปรไฟล์ผู้ขายนี้
- คุณต้องลงทะเบียนคีย์การเข้ารหัสสาธารณะกับ Google ผ่าน
Google Pay & Wallet Console เพื่อให้การผสานรวม
DIRECTtokenizationSpecificationtypeเสร็จสมบูรณ์
merchantId
คุณอาจพบข้อผิดพลาดต่อไปนี้ที่เกี่ยวข้องกับ merchantId ในการผสานรวม
ในบางครั้ง รายการนี้มีคำแนะนำในการแก้ปัญหาที่เป็นประโยชน์ในกรณีที่เกิดข้อผิดพลาดเหล่านี้
- ต้องตั้งค่า merchantId
- ต้องตั้งค่าพารามิเตอร์
merchantIdภายในPaymentDataRequestเป็นค่าที่ระบุโดยใช้ Google Pay & Wallet Console พารามิเตอร์ AmerchantIdจำเป็นต่อเมื่อคุณใช้PaymentsClientที่กำหนดค่าไว้สำหรับสภาพแวดล้อมPRODUCTIONเท่านั้น โปรดอ่าน รายการตรวจสอบการผสานรวม เพื่อขอรับการตรวจสอบการใช้ Google Pay API ของเว็บไซต์และรับmerchantId - merchantId ไม่ใช่สตริง
- พารามิเตอร์
merchantIdภายในPaymentDataRequestต้องเป็นสตริงเสมอ ตรวจสอบว่าประเภทของพารามิเตอร์merchantIdที่คุณใช้ เป็นสตริงก่อนเรียก API - ไม่ได้ลงทะเบียน merchantId
- ต้องจัดสรรพารามิเตอร์
merchantIdภายในPaymentDataRequestผ่าน Google Pay และ Wallet Console ดูข้อมูลเพิ่มเติมได้ที่ขอสิทธิ์เข้าถึงเวอร์ชันที่ใช้งานจริง
ความถูกต้องของเกตเวย์
คุณอาจพบข้อผิดพลาดต่อไปนี้ที่เกี่ยวข้องกับความถูกต้องของเกตเวย์ในบางจุดของการผสานรวม รายการนี้มีคำแนะนำในการแก้ปัญหาที่เป็นประโยชน์ในกรณีที่เกิดข้อผิดพลาดเหล่านี้
- เกตเวย์ที่ไม่รู้จัก 'yourgateway'
- ขณะนี้ Google ยังไม่รองรับพารามิเตอร์เกตเวย์ที่คุณระบุใน
paymentMethodTokenizationParameters.parametersโปรดติดต่อเกตเวย์เพื่อขอข้อมูลเพิ่มเติมเกี่ยวกับ ตัวระบุเกตเวย์และฟิลด์ที่เกี่ยวข้อง เช่นgatewayMerchantId - ใช้เกตเวย์ "example" ในโหมดการใช้งานจริงไม่ได้
- ค่าพารามิเตอร์เกตเวย์ตัวอย่างใช้เพื่อการทดสอบเท่านั้น และใช้กับ
PaymentsClientที่กำหนดค่าไว้สำหรับสภาพแวดล้อมPRODUCTIONไม่ได้ โปรดติดต่อเกตเวย์ของคุณเพื่อขอข้อมูลเพิ่มเติมเกี่ยวกับPaymentMethodTokenizationSpecificationค่าพารามิเตอร์ที่คุณต้องตั้งค่าเพื่อใช้กับ Google Pay API
ความถูกต้องของออบเจ็กต์
คุณอาจพบข้อผิดพลาดต่อไปนี้ที่เกี่ยวข้องกับความถูกต้องของออบเจ็กต์ในบางจุดของการผสานรวม รายการนี้มีคำแนะนำในการแก้ปัญหาที่เป็นประโยชน์ในกรณีที่เกิดข้อผิดพลาดเหล่านี้
- PaymentDataRequest ของ Google Pay ไม่ใช่ JSON ที่ถูกต้อง
- พารามิเตอร์ที่ระบุให้กับ
loadPaymentDataต้องเป็นออบเจ็กต์PaymentDataRequestที่ถูกต้องเสมอ - ต้องตั้งค่า transactionInfo
- พารามิเตอร์
transactionInfoภายในPaymentDataRequestต้องเป็นออบเจ็กต์TransactionInfoที่ถูกต้องเสมอ
ผู้ขายโดยตรง
คุณอาจพบข้อผิดพลาดต่อไปนี้ที่เกี่ยวข้องกับผู้ขายโดยตรงในบางจุดของการผสานรวม รายการนี้มีคำแนะนำในการแก้ปัญหาที่เป็นประโยชน์ในกรณีที่เกิดข้อผิดพลาดเหล่านี้
- การยืนยันลายเซ็น
- คุณอาจพบข้อผิดพลาดในการยืนยันลายเซ็นหาก
merchantIdไม่ถูกต้อง ซึ่งอาจเกิดขึ้นในสภาพแวดล้อมTESTเมื่อคุณใช้ ไลบรารีโทเค็นวิธีการชำระเงินของ Tink หากต้องการหลีกเลี่ยงปัญหานี้ ให้ตั้งค่า YOUR_MERCHANT_ID เป็น12345678901234567890ใน .recipientId("merchant:YOUR_MERCHANT_ID")
- ถอดรหัสโทเค็นไม่ได้
- หากคุณใช้ไลบรารี paymentmethodtoken ของ Tink เพื่อถอดรหัสโทเค็น โปรดทราบสิ่งต่อไปนี้
- ตรวจสอบว่าสภาพแวดล้อมการตอบกลับของ Google Pay API สอดคล้องกับสภาพแวดล้อม paymentmethodtoken ของ Tink ดูรายละเอียดเพิ่มเติมได้ที่ตัวอย่างต่อไปนี้
- หากสภาพแวดล้อม
TESTส่งคืนการตอบกลับของ Google Pay API แสดงว่า Tink ชี้ไปยังสภาพแวดล้อมการทดสอบสำหรับการถอดรหัส - อย่าแก้ไขการตอบกลับจาก Google Pay API ก่อนที่จะส่งไปยัง Tink ตรวจสอบว่าคุณ ส่งโทเค็นทั้งหมดที่ได้จากการตอบกลับของ Google Pay API ดูรายละเอียดเพิ่มเติมได้ที่หมายเหตุต่อไปนี้
- ตรวจสอบว่าคุณมีคีย์ส่วนตัวที่เหมาะสมซึ่งเชื่อมโยงกับคีย์สาธารณะที่คุณลงทะเบียน กับ Google
- สร้างคู่คีย์สาธารณะและส่วนตัวใน Windows
- หากใช้ Windows และต้องการทำตามขั้นตอนที่ระบุไว้ใน ใช้ OpenSSL เพื่อสร้างคู่คีย์ส่วนตัวและคีย์สาธารณะ โปรดตรวจสอบว่าได้ติดตั้ง Cygwin ในเครื่องแล้ว ซึ่งจำเป็นต่อการเรียกใช้คำสั่ง Linux
ออบเจ็กต์ข้อผิดพลาด
ออบเจ็กต์ข้อผิดพลาดคือออบเจ็กต์ที่ส่งคืนโดย Promise ที่ถูกปฏิเสธจากเมธอด JavaScript ของไคลเอ็นต์
- PaymentsError
- ออบเจ็กต์นี้มีรายละเอียดเกี่ยวกับข้อผิดพลาดที่เมธอด JavaScript ของไคลเอ็นต์ส่งคืน ข้อผิดพลาด อาจไม่แสดงในกล่องโต้ตอบที่ผู้ใช้เห็น
| พร็อพเพอร์ตี้ | ประเภท | คำอธิบาย |
|---|---|---|
statusCode |
สตริง | รหัสสั้นๆ ที่อธิบายประเภทข้อผิดพลาด |
statusMessage |
สตริง | ข้อความที่แสดงต่อผู้พัฒนาซึ่งอธิบายข้อผิดพลาดที่พบและขั้นตอนที่อาจช่วยแก้ไขข้อผิดพลาดได้ |
- ข้อผิดพลาดที่พบบ่อย
- ออบเจ็กต์นี้จะแสดงข้อผิดพลาดที่คุณอาจพบในเมธอด JavaScript ทั้งหมด โปรด ตรวจสอบข้อความแสดงข้อผิดพลาดเพิ่มเติมในคอนโซลของนักพัฒนาแอป
- ฟีเจอร์ CardInfo คืออะไร
- Google Pay จะระบุให้ผู้บริโภคทราบว่ามีบัตรอยู่เบื้องหลังปุ่มชำระเงินของ Google Pay ซึ่งจะแสดงทั้งเครือข่ายแบรนด์บัตรและตัวเลข 4 หลักสุดท้ายของบัตร
- เหตุใดฟีเจอร์ CardInfo จึงไม่แสดงในการติดตั้งใช้งานของฉัน
เรากำหนดเงื่อนไขต่อไปนี้เพื่อให้ฟีเจอร์ CardInfo ทำงานได้
- คุณต้องใช้
createButtonAPI - คุณต้องกำหนดค่า
ButtonOptions.buttonTypeเป็นbuy,longหรือpay - ผู้ใช้ต้องมีวิธีการชำระเงินที่ใช้ได้ตามที่กำหนดไว้ในออบเจ็กต์
CardParameters
- คุณต้องใช้
- เหตุใดปุ่มชำระเงินด้วย Google Pay จึงโหลดอย่างไม่มีกำหนด
- อย่านำ Listener เหตุการณ์
onLoadออก หากนำonLoadEvent Listener ออก อาจทำให้ปุ่มชำระเงินของ Google Pay โหลดอย่างไม่มีกำหนด - ทำไมจึงไม่มีข้อความแจ้งการชำระเงินหลังจากที่ฉันคลิกปุ่มชำระเงินด้วย Google Pay
- กำหนด Callback ของ Listener เหตุการณ์ให้กับ
ButtonOptions.onClickเหตุการณ์ - การทำงานกับ WebView
- ทําตามคําแนะนําสําหรับ Android และ iOS เพื่อให้แน่ใจว่าการผสานรวมเข้ากันได้กับ WebView
Cross-Origin-Opener-Policyส่วนหัวการตอบกลับ HTTP- หากตั้งค่าส่วนหัวการตอบกลับ HTTP
Cross-Origin-Opener-Policyเป็นsame-originอาจทำให้เบราว์เซอร์ไม่เปิดป๊อปอัปที่จำเป็นเพื่อให้ผู้ใช้ทำธุรกรรมให้เสร็จสมบูรณ์ ลองเปลี่ยนค่าของส่วนหัวเป็นsame-origin-allow-popupsเพื่อลดปัญหาดังกล่าว - ความล่าช้าระหว่างเหตุการณ์คลิกของผู้ใช้กับการเรียกใช้
loadPaymentData() -
หากมีความล่าช้าหลังจากคลิกปุ่ม Google Pay (หรือปุ่มชำระเงินที่คล้ายกัน) และก่อนการเรียก
loadPaymentData()(ตัวอย่างเช่นsetTimeout(), การเรียกเครือข่ายเพิ่มเติม หรือตรรกะที่ทำงานเป็นเวลานานที่คล้ายกัน) อาจทำให้กลไกการบล็อกป๊อปอัปของเบราว์เซอร์ทริกเกอร์ เราขอแนะนำว่าไม่ควรตั้งค่าความล่าช้าระหว่างการคลิกของผู้ใช้กับคำสั่งเรียกloadPaymentData()
| รหัสสถานะ | คำอธิบาย |
|---|---|
BUYER_ACCOUNT_ERROR |
ผู้ใช้ Google ปัจจุบันไม่สามารถให้ข้อมูลการชำระเงินได้ |
DEVELOPER_ERROR |
พารามิเตอร์ที่ส่งมีการจัดรูปแบบไม่ถูกต้อง ข้อผิดพลาด อาจปรากฏในคอนโซลเบราว์เซอร์ สำหรับสภาพแวดล้อมที่กำหนดค่าทั้งหมด |
MERCHANT_ACCOUNT_ERROR |
เว็บไซต์ที่เข้าถึง Google Pay API ไม่มีสิทธิ์ที่เหมาะสม ซึ่งอาจเกิดจากการกำหนดค่าไม่ถูกต้องหรือตั้งรหัสระบุผู้ขายไม่ถูกต้องในคำขอ ดูรายละเอียดเพิ่มเติมได้ที่ช่อง |
INTERNAL_ERROR |
ข้อผิดพลาดทั่วไปของเซิร์ฟเวอร์ |
CardInfo
ข้อผิดพลาด OR_BIBED_15 รายการ
คุณอาจพบข้อผิดพลาด OR_BIBED_15 ในบางจุดของการผสานรวม รายการนี้มี
คำแนะนำในการแก้ปัญหาที่เป็นประโยชน์ในกรณีที่เกิดข้อผิดพลาดนี้