API สำหรับ PDT และ IPN นั้นคล้ายคลึงกัน ความแตกต่างหลักคือเมื่อคุณได้รับการแจ้งเตือน ด้วยเหตุนี้ฉันจึงขอแนะนำให้ใช้ทั้งสองอย่าง
- ด้วย PDT คุณจะได้รับการแจ้งเตือนทันทีและสามารถดำเนินการเพิ่มเติมใด ๆ ที่จำเป็นและแสดงหน้ายืนยันให้ผู้ใช้เห็น
- ด้วย IPN คุณรับประกันได้ว่าจะได้รับแจ้งว่าได้รับการชำระเงินแม้ว่าคอมพิวเตอร์ของผู้ใช้จะระเบิดก่อนที่จะสามารถส่ง PDT ให้คุณได้
ใช้ทั้งสองอย่างและได้รับสิ่งที่ดีที่สุดจากทั้งสองโลก แต่ถ้าคุณทำเพียงอย่างเดียว IPN ก็น่าเชื่อถือ
การจับครั้งเดียว: หากคุณใช้ทั้งสองอย่างก็มีโอกาสที่การชำระเงินของคุณจะได้รับการประมวลผลสองครั้ง ดูแลเพื่อให้แน่ใจว่าจะไม่เกิดขึ้น แอปพลิเคชันที่ฉันเขียนจัดการ PDT และ IPN เกือบจะเหมือนกัน (ส่วนแบ็กเอนด์เหมือนกัน) และรหัสนั้นจะได้รับการล็อกผู้ใช้แต่ละเว็บในฐานข้อมูลดังนั้นหากผู้ใช้รายเดียวกันพยายามส่งการชำระเงินเดียวกันหลายครั้ง สามารถดำเนินการได้เพียงครั้งเดียว เมื่อประมวลผลแล้วผลลัพธ์ของกระบวนการนั้นจะถูกนำมาใช้ใหม่สำหรับความพยายามในการประมวลผลในภายหลัง
แก้ไข
อีกอย่างหนึ่ง: IPN มีข้อมูลมากกว่า PDT มีข้อความต่างๆมากมายที่คุณสามารถรับได้จาก IPN เช่นการแจ้งเตือนการปฏิเสธการชำระเงินเป็นต้นดังนั้นคุณควรนำไปใช้จริงๆ
ระบบ PDT ของ PayPal จะส่งการยืนยันคำสั่งซื้อไปยังไซต์ร้านค้าที่ใช้ PayPal Payments Standard และอนุญาตให้ตรวจสอบสิทธิ์ข้อมูลนี้ จากนั้นไซต์ดังกล่าวสามารถแสดงข้อมูลนี้ในเครื่องในหน้า "ยืนยันคำสั่งซื้อ"
ควรใช้ PDT เมื่อใด
IPN มีความสามารถเช่นเดียวกับที่อธิบายข้างต้น คุณควรเลือก PDT แทน IPN เมื่อใด
ด้วย PDT ไซต์ของคุณจะได้รับแจ้งทันทีเมื่อลูกค้าชำระเงินเสร็จสมบูรณ์ อย่างไรก็ตามด้วย IPN มีความล่าช้ามากระหว่างเวลาที่ลูกค้าชำระเงินและเวลาที่ไซต์ของคุณได้รับการแจ้งเตือนเกี่ยวกับเหตุการณ์นี้
ดังนั้นให้ใช้ PDT หากไซต์ของคุณมีคุณลักษณะที่ต้องแจ้งการชำระเงินทันที
ตัวอย่างเช่นพิจารณาร้านขายเพลงดิจิทัล ด้วย PDT ร้านค้านี้สามารถให้ลูกค้าดาวน์โหลดสินค้าได้ทันทีเนื่องจาก PDT ส่งการยืนยันคำสั่งซื้อทันที ด้วย IPN การดำเนินการตามคำสั่งซื้อทันทีดังกล่าวเป็นไปไม่ได้
ข้อดีของ IPN
PDT มีจุดอ่อนที่สำคัญคือส่งการยืนยันคำสั่งซื้อเพียงครั้งเดียวและครั้งเดียว ดังนั้นเมื่อ PDT ส่งการยืนยันไซต์ของคุณจะต้องทำงานอยู่ มิฉะนั้นจะไม่ได้รับข้อความ
ในทางตรงกันข้าม IPN จะรับประกันการส่งการยืนยันคำสั่งซื้อเนื่องจาก IPN จะส่งการยืนยันอีกครั้งจนกว่าไซต์ของคุณจะยอมรับใบเสร็จ ด้วยเหตุนี้ PayPal จึงแนะนำให้คุณใช้ IPN แทน PDT
ข้อดีอีกอย่างของ IPN คือส่งการแจ้งเตือนหลายประเภทในขณะที่ PDT ส่งเพียงการยืนยันคำสั่งซื้อ ดังนั้นเมื่อใช้ IPN ไซต์ของคุณจึงสามารถรับการแจ้งเตือนการปฏิเสธการชำระเงินรวมทั้งการยืนยันคำสั่งซื้อ หมายเหตุ: หากไซต์ของคุณต้องได้รับแจ้งการชำระเงินทันทีคุณสามารถใช้ทั้ง IPN และ PDT ได้ อย่างไรก็ตามหากคุณทำเช่นนั้นไซต์ของคุณจะได้รับการยืนยันคำสั่งซื้อสองครั้งสำหรับการขายแต่ละครั้ง ด้วยเหตุนี้คุณต้องระมัดระวังในการดำเนินการ (เช่นจัดส่งผลิตภัณฑ์) กับสำเนาข้อความยืนยันที่ระบุเพียงชุดเดียว
เอกสารที่นี่