เคล็ดลับในการแก้ไขปัญหาเกี่ยวกับลิงก์และปุ่มชำระเงิน PayPal

ฉันได้รับข้อผิดพลาด และปุ่มไม่แสดงบนเว็บไซต์

  1. ตรวจสอบว่าการเชื่อมต่ออินเทอร์เน็ตของคุณใช้การได้
  2. ไปที่หน้าอื่นๆ บนเว็บไซต์ของคุณและตรวจสอบว่าระบบโหลดหน้าอย่างถูกต้อง
  3. ไปที่หน้าปุ่ม PayPal แล้วตรวจสอบรายการต่อไปนี้
    * ปุ่มดังกล่าวแสดงอยู่ใต้ส่วน “ปุ่มที่บันทึกไว้” หรือไม่
    * เลือก “แก้ไข” และตรวจสอบให้แน่ใจว่าโค้ดของ ปุ่มตรงกับสิ่งที่อยู่ในเว็บไซต์ของคุณ
  4. คลิกขวาที่หน้าสินค้าของคุณ (หน้าที่คุณวางโค้ดของปุ่ม) แล้วคลิก “ตรวจสอบ” ไปที่แท็บคอนโซล (คุณจะเห็นแท็บนี้อยู่ด้านบน) คุณอาจเห็นข้อผิดพลาดเกี่ยวกับ PIN สำหรับการบริการลูกค้า หากคุณได้ปรับใช้นโยบายความปลอดภัยของเนื้อหา คุณอาจเห็นข้อผิดพลาดเกี่ยวกับ PIN สำหรับการบริการลูกค้า เช่น (ตัวอย่างข้อผิดพลาดเกี่ยวกับ PIN สำหรับการบริการลูกค้า)

  • การโหลดสคริปต์ 'https://www.paypal.com/sdk/js**' ถูกปฏิเสธเนื่องจากละเมิดคําสั่งนโยบายความปลอดภัยของเนื้อหาต่อไปนี้: "default-src 'self'" โปรดทราบว่า 'script-src-elem' ไม่ได้ถูกตั้งค่าไว้อย่างชัดเจน ดังนั้น 'default-src' จะถูกใช้เป็น fallback
  • การเชื่อมต่อกับ 'https://www.paypal.com/sdk/js**' ถูกปฏิเสธเนื่องจากละเมิดคําสั่งนโยบายความปลอดภัยของเนื้อหาต่อไปนี้: "default-src 'self'" โปรดทราบว่า 'connect-src' ไม่ได้ถูกตั้งค่าไว้อย่างชัดเจน ดังนั้น 'default-src' จะถูกใช้เป็น fallback
  • การดําเนินการสคริปต์แบบอินไลน์ถูกปฏิเสธเนื่องจากละเมิดข้อบังคับของนโยบายความปลอดภัยเนื้อหาต่อไปนี้: "script-src https://*.paypal.com" ต้องใช้คําสําคัญ 'unsafe-inline' แฮช ('sha256-WYDWDPwB8j2VePYrqy38aHPcJLsasO//lnXymmxscUk=') หรือ nonce ('nonce-...') เพื่อให้สามารถดําเนินการแบบอินไลน์ได้
  • การโหลดภาพ 'https://tracking.qa.paypal.com/webapps/tracking/ts?**' ถูกปฏิเสธเนื่องจากละเมิดคําสั่งนโยบายความปลอดภัยของเนื้อหาต่อไปนี้: "default-src 'self'" โปรดทราบว่า 'img-src' ไม่ได้ถูกตั้งค่าไว้อย่างชัดเจน ดังนั้น 'default-src' จะถูกใช้เป็น fallback
  • การสร้างเฟรม 'https://www.paypal.com/' ถูกปฏิเสธเนื่องจากละเมิดคําสั่งนโยบายความปลอดภัยของเนื้อหาต่อไปนี้: "default-src 'self'" โปรดทราบว่า 'frame-src' ไม่ได้ถูกตั้งค่าไว้อย่างชัดเจน ดังนั้น 'default-src' จะถูกใช้เป็น fallback

คุณสามารถเพิ่มรายการด้านล่างเพื่อแก้ไขข้อผิดพลาดด้านบนได:

ตัวเลือก-1 (HTML): ถ้า CSP ของคุณได้รับการกําหนดค่าในไฟล์ HTML ให้ใช้โค้ดด้านล่างเพื่อแทนที่โค้ด CSP ของคุณ

<meta http-equiv="Content-Security-Policy" content="default-src 'self';
script-src 'unsafe-inline' https://*.paypal.com https://*.paypalobjects.com;
style-src 'unsafe-inline' https://*.paypal.com; connect-src
https://*.paypal.com; frame-src https://*.paypal.com; img-src
https://*.paypal.com https://*.paypalobjects.com">

ตัวเลือก-2 (ฝั่งเซิร์ฟเวอร): หาก PIN สำหรับการบริการลูกค้าของคุณมีการกำหนดค่าไว้ในฝั่งเซิร์ฟเวอร์ ให้ใช้โค้ดด้านล่างแทนที่โค้ด PIN สำหรับการบริการลูกค้าของคุณ

Content-Security-Policy: script-src 'unsafe-inline' https://*.paypal.com https://*.paypalobjects.com
Content-Security-Policy: style-src 'unsafe-inline' https://*.paypal.com
Content-Security-Policy: connect-src https://*.paypal.com
Content-Security-Policy: frame-src https://*.paypal.com
Content-Security-Policy: img-src https://*.paypal.com https://*.paypalobjects.com

ฉันจะเปลี่ยนแปลงเค้าโครง/ขนาด/สีของชื่อ/ราคา/ปริมาณของผลิตภัณฑ์ได้อย่างไร 

วิธีเปลี่ยนรูปแบบ/ขนาด/สีของผลิตภัณฑ์ หรือเปลี่ยนชื่อ/ราคา/ปริมาณสินค้าบนเว็บไซต์ PayPal มีดังนี้

  1. ให้ไปที่หน้าปุ่ม PayPal
  2. คลิกเปิดถัดจากปุ่มที่บันทึกไว้ แล้วเลือกแก้ไข
  3. คลิกปรับแต่งปุ่มของคุณ แล้วทําการเปลี่ยนแปลงที่จําเป็น

ฉันได้แก้ไขข้อมูลผลิตภัณฑ์ (ชื่อ จำนวนเงิน หรือสิ่งอื่นๆ) ฉันต้อง

คัดลอก/วางโค้ดปุ่มอีกครั้งหรือไม่

ไม่ เราใช้ข้อมูลทั้งหมดจากเซิร์ฟเวอร์ PayPal หลังจากที่คุณบันทึกการเปลี่ยนแปลงในบัญชีของคุณแล้ว คุณไม่จําเป็นต้องอัปเดต ID ปุ่มคัดลอก/วางของเว็บไซต์ของคุณอีก 

ข้อควรทราบ:  ถ้าคุณเปลี่ยนรหัสสกุลเงินในผลิตภัณฑ์ ของคุณ คุณจะต้องอัปเดตปุ่มชําระเงินของคุณด้วย

ฉันเห็น ID ลูกค้าในโค้ด หมายความว่าอย่างไร

ID ลูกค้าคือ ID ลูกค้าของผู้ค้าที่เป็นส่วนหนึ่งของบัญชีของคุณ คุณไม่ควรแก้ไข ID ดังกล่าว ใช้ตามที่เสนอในโค้ดปุ่ม

ฉันเพิ่มปุ่มไปหลายปุ่มแล้ว แต่ไม่มีปุ่มใดๆ แสดงขึ้นบนเว็บเพจของฉัน

หน้าเว็บหนึ่งจะเพิ่มปุ่มหลายปุ่มไม่ได้ในสถานการณ์ต่อไปนี้

  • ถ้าคุณคัดลอก/วาง ID ปุ่มเดียวกันหลายครั้งในหน้าเว็บเดียวกัน ระบบจะแสดงเฉพาะปุ่มแรกเท่านั้น คุณไม่สามารถใช้ ID ปุ่มเดิมซ้ำหลายครั้งได้
  • ถ้าคุณคัดลอก/วาง ID ของปุ่มที่แตกต่างกันแต่ในสกุลเงินอื่นภายในหน้าเว็บเดียวกัน ระบบจะแสดงเฉพาะปุ่มแรกเท่านั้น คุณไม่สามารถเพิ่มสกุลเงินต่างประเทศลงบนปุ่มต่างๆ ที่อยู่ภายในหน้าเว็บเดียวกันได้
  • ถ้าคุณคัดลอก/วาง ID ปุ่มที่แตกต่างกันแล้วแต่พบว่าระบบโหลดช้า ให้ดูให้แน่ใจว่าคุณไม่ได้เพิ่มแท็กสคริปต์ที่มี ID ไคลเอ็นต์นั้นเกิน 1 ครั้ง บรรทัดสคริปต์จะมีลักษณะดังนี้
    • <script src="https://www.paypal.com/sdk/js?client-id=XYZ&components=hosted-buttons&enable-funding=venmo&currency=USD"></script> 

ฉันมีบัญชี PayPal พรีเมียร์และฉันไม่เห็น ลิงก์และปุ่มการชำระเงินเป็น

ตัวเลือก

ฟีเจอร์นี้พร้อมให้ใช้งานสำหรับ "บัญชีธุรกิจ PayPal" เท่านั้น ถ้าต้องการใช้ฟีเจอร์นี้ ให้อัปเกรดหรือสร้างบัญชีธุรกิจ

ฉันจะทดสอบประสบการณ์นี้ใน PayPal Sandbox ได้อย่างไร

ลิงก์และปุ่มการชำระเงินพร้อมใช้งานเพื่อทดสอบบน Sandbox

การขยายตัวของเครดิต/เดบิตแบบอินไลน์ไม่แสดงให้เห็นอย่างสมบูรณ์ใน

เว็บไซต์ของฉัน

ตรวจสอบให้แน่ใจว่ามีการตั้งค่าความกว้างและความสูงของคอนเทนเนอร์หลักเพื่อรองรับการขยายตัวแบบอินไลน์ ดูเอกสาร/ปรึกษาฝ่ายสนับสนุนแพลตฟอร์มโฮสติ้งของคุณเพื่อรับรายละเอียดเพิ่มเติม

ลิงก์และปุ่มการชำระเงินรองรับ IPN (บริการแจ้งทันทีที่ได้รับเงิน) หรือไม่

รองรับ ทำตามขั้นตอนเหล่านี้เพื่อตั้งค่าและเปิดใช้งาน IPN

วิธีค้นหาการตั้งค่า IPN ใน PayPal มีดังนี้

  1. ไปที่การตั้งค่าบัญชี
  2. เลือกการแจ้งเตือนและบริการแจ้งทันทีที่ได้รับเงิน
  3. คลิกอัปเดตลิงก์

วิธีเปิดใช้งานการตั้งค่า IPN มีดังนี้

  1. เพิ่ม URL ของตัวจัดการ IPN และเลือกรับข้อความ IPN (เปิดใช้งานแล้ว)
  2. คลิกบันทึก

จัดการ IPN ในโค้ดเซิร์ฟเวอร์ของคุณ:

  • เมื่อใดก็ตามที่การทำรายการด้วยลิงก์และปุ่มการชำระเงินเสร็จสมบูรณ์ IPN ของ PayPal จะเรียกใช้ URL การแจ้งเตือนที่กำหนดค่าไว้ในขั้นตอนที่ 2

การเข้าถึงประวัติ IPN:

ข้อมูลอ้างอิง

ข้อมูลเบื้องต้น: https://developer.paypal.com/api/nvp-soap/ipn/IPNIntro/

ตรวจสอบให้แน่ใจว่าใช้ URL ของ IPN ที่ถูกต้องในโค้ดเซิร์ฟเวอร์

ตัวอย่างสำหรับภาษาต่างๆ GitHub - paypal/ipn-code-samples

เมื่อระบบส่งลูกค้าไปยังหน้าการเปลี่ยนเส้นทาง PayPal จะส่งข้อมูลใดบ้าง

เกี่ยวกับการซื้อ ลิงก์และปุ่มการชำระเงินรองรับระบบโอนข้อมูลการชำระเงินหรือไม่

ระบบรองรับตัวแปรใดบ้าง

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

ลิงก์และปุ่มการชำระเงินรองรับรูปแบบภาษาหรือไม่ หากผู้ค้า

เพิ่มลงในโค้ดปุ่มหรือลิงก์การชำระเงินด้วยตนเอง

ตามค่าเริ่มต้นลิงก์และปุ่มการชำระเงิน จะใช้การตั้งค่าเบราว์เซอร์ของลูกค้าเพื่อแสดงโค้ดปุ่มและประสบการณ์การใช้งานลิงก์การชำระเงิน

ผู้ค้าสามารถแทนที่การตั้งค่าดังกล่าวได้เฉพาะกับลิงก์การชำระเงินและโค้ดปุ่ม โดยการนำ "locale.x=fr_FR" ไปต่อท้ายเป็นพารามิเตอร์การสืบค้น คุณสามารถดูรายการโค้ดที่รองรับสำหรับรูปแบบภาษาต่างๆ ได้ที่นี่ ระบบจะไม่แปลข้อความที่ผู้ค้าป้อนในระหว่างการกำหนดค่า.

ตัวอย่าง: https://www.paypal.com/ncp/payment/F3YMU2ZGT49XX?locale.x=jp_JP

ตัวอย่าง: 

<script src="……¤cy=USD&locale.x=jp_JP"></script>

ฉันจะสามารถซ่อนป้ายบางรายการที่มาจากลิงก์การชำระเงินและ

โค้ดปุ่มได้หรือไม่

เราเข้าใจว่าคุณอาจมีการตั้งค่าภาพที่แตกต่างออกไปบนเว็บไซต์ของคุณ อย่างไรก็ตาม เราไม่แนะนำให้คุณซ่อนโค้ดปุ่มที่เราให้ไว้ 

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

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

ตัวอย่างวิธีการซ่อนราคาสินค้า มีดังนี้

เพิ่มสคริปต์นี้ใต้โค้ดปุ่ม แทนที่ HostedButton_ID ด้วย ID ปุ่มจริง

<style> #paypal-container-<HostedButton_ID> {

                #paypal-form-fields-container-<HostedButton_ID> {

                                 #price-label {

                                                 display: none !important;

                                }

                }

 

}

</style>

                   

คุณสามารถซ่อนข้อความอื่นๆ ได้เหมือนกันกับที่ซ่อนราคาสินค้า:

  • desc-label (สำหรับชื่อผลิตภัณฑ์)
  • price-label (สำหรับราคา)

หากคุณต้องการซ่อนหลายรายการ  ให้ใช้ ID แยกกัน:

style> #paypal-container-

{ #paypal-form-fields-container-

{ #price-label,  #desc-label { display: none !important; }} }

ถ้าคุณต้องการซ่อนข้อความทั้งหมดรอบๆ ปุ่ม โปรดทราบว่าประเภทปุ่มของคุณต้องเป็นประเภทที่ไม่ได้กำหนดให้ลูกค้าต้องเลือกหรือให้ข้อมูลใดๆ

<style>

#paypal-container-<HostedButton_ID>

{

                #paypal-form-fields-container-<HostedButton_ID>

                {

                                display: none !important;

                }

}

</style>


ฉันสามารถแทนที่ลิงก์และปุ่มการชำระเงินเพื่อใช้ ‘การจัดส่งจาก

การตั้งค่า’ ได้หรือไม่

ลิงก์และปุ่มการชำระเงินจะไม่ยอมรับการแทนที่การจัดส่งครั้งละหลายรายการจากการตั้งค่าบัญชี หรือหมายถึงการตั้งค่าต่อไปนี้จากการตั้งค่าการจัดส่ง

image

ฉันได้เปลี่ยนสกุลเงินของปุ่ม แต่ไม่เห็นมีการอัปเดตบน

เว็บไซต์ของฉัน

หากคุณเปลี่ยนสกุลเงินของปุ่มหลังจากที่วางปุ่มบนเว็บไซต์ของคุณแล้ว คุณจะต้องคัดลอก/วางรหัสปุ่มอีกครั้งบนเว็บไซต์ของคุณด้วย 

ฉันไม่สามารถเลือก “ใช้การจัดส่งจากการตั้งค่า” และ “ใช้ภาษีจาก

การตั้งค่า” ได้เมื่อเลือก “ไม่เก็บที่อยู่สำหรับจัดส่ง”

การจัดส่งและภาษีจากการตั้งค่าจะขึ้นอยู่กับรหัสไปรษณีย์และ/หรือประเทศที่จัดส่งของลูกค้า หากคุณเลือก “ไม่เก็บที่อยู่สำหรับจัดส่ง” คุณจะไม่ได้รับที่อยู่สำหรับจัดส่งของลูกค้าที่นำมาคำนวณค่าจัดส่งและภาษีจากการตั้งค่าได้ เราขอแนะนำให้ใช้ตัวเลือกอื่นๆ จากเมนูดรอปดาวน์ “ค่าธรรมเนียมการจัดส่ง” และ “อัตราภาษี”

ลิงก์และปุ่มการชำระเงินรองรับ Webhook หรือไม่

ได้ วิธีเปิดใช้งาน Webhook มีดังนี้

  1. เข้าสู่ระบบแดชบอร์ดนักพัฒนาระบบโดยใช้ข้อมูลรับรองบัญชีผู้ค้าของคุณ
  2. สลับไปเป็น Live
  3. คลิก แอปและข้อมูลรับรอง
  4. เลื่อนลงแล้วเลือกจัดการ Webhook
  5. ตอนนี้ คุณจะสามารถเพิ่ม URL ของ Webhook สําหรับ Live ได้แล้ว ถ้าคุณต้องการเพิ่ม Webhook สําหรับ Sandbox ให้อยู่ในหน้านี้และ สลับจาก Live เป็น Sandbox จากมุมขวาบน
  6. เพิ่ม URL การเรียกกลับของ Webhook เลือกอีเวนต์ทั้งหมด หรือการชําระเงิน ซึ่งเป็นกิจกรรมการชําระเงินที่จะถูกเรียกใช้โดย PayPal ตามอีเวนต์ที่เลือก ทั้งนี้ขึ้นอยู่กับการปรับใช้ NVP หรือ SOAP API ให้เรียกใช้ PayPal NVP/SOAP เพื่อดูข้อมูล Webhook

ตัวอย่างการตอบกลับ Webhook:

"id": "WH-12D11567VE3425924-2G120938U32719946", 
"event_version": "1.0", 
"create_time": "2024-09-14T15:55:58.043Z", 
"resource_type": "capture", 
"resource_version": "2.0", 
"event_type": "PAYMENT.CAPTURE.COMPLETED", 
"summary": "ชำระเงินเสร็จสมบูรณ์แล้วเป็นจำนวน 128.88 ดอลลาร์สหรัฐ", 
"resource": { 
"supplementary_data": { 
"related_ids": { 
"order_id": "8LM68409BR5528307" 
} 
], 
"id": "7KK30254642170736", 
"status": "COMPLETED" 

เราสามารถช่วยเหลือคุณได้มากขึ้น

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