IPN vs PDT di Paypal

99

Saya mengalami masalah saat memilih antara Pemberitahuan Pembayaran Instan (IPN) PayPal dan Transfer Data Pembayaran (PDT).

Pada dasarnya, pengguna membeli produk sekali pakai di situs saya, membayar di PayPal, dan kembali ke situs saya. Saya memahami cara kerja IPN tetapi sekarang saya melihat bahwa saya mungkin dapat memicu berbagai tindakan yang terjadi setelah pembelian yang berhasil dengan lebih mudah dengan PDT, karena data dikembalikan ke sana dan kemudian (sebagai lawan dari membutuhkan pendengar terpisah) .

Namun, dokumentasi PDT PayPal berisi baris samar berikut: "PDT tidak dimaksudkan untuk digunakan dengan kartu kredit atau transaksi Checkout Kilat." ... tetapi saya tidak dapat menemukan apa pun lebih jauh tentang topik tersebut.

  1. Apakah kartu kredit BENAR-BENAR tidak dimaksudkan untuk digunakan dengan PDT? Saya ingin lebih dari satu kalimat.

  2. Apakah itu berarti bahwa pengguna harus memiliki / membuat akun PayPal untuk membayar?

  3. Apakah ini berarti bahwa jika saya ingin mengizinkan pengguna membayar dengan akun PayPal mereka DAN / ATAU dengan kartu kredit secara langsung, saya harus menerapkan IPN?

Adakah yang bisa melalui ini dengan baik hati menjelaskan?

Tom
sumber
Saya menemukan halaman web yang benar-benar menjelaskan hal ini dengan lebih baik. [PayPal PDT dan IPN: Bagaimana cara kerjanya?] [1] [1]: webmasters.stackexchange.com/questions/21634/…
Ananize Scott
Mengenai pertanyaan 2, ada PayPal Account Optionalpengaturan di My selling preferences > Website preferencesmana Anda dapat mengaktifkan untuk tidak memaksa pelanggan Anda untuk membuat / memiliki akun PayPal, yaitu. bayar dengan kartu kredit / debit.
kaiyaq

Jawaban:

112

API untuk PDT dan IPN serupa. Perbedaan utamanya adalah saat Anda menerima notifikasi. Untuk alasan itu saya akan merekomendasikan penerapan keduanya.

  • Dengan PDT Anda mendapatkan pemberitahuan secara instan dan dapat melakukan pemrosesan tambahan yang diperlukan dan menampilkan halaman konfirmasi kepada pengguna.
  • Dengan IPN, Anda dijamin akan diberi tahu bahwa pembayaran telah diterima meskipun komputer pengguna meledak sebelum dapat mengirim PDT kepada Anda.

Terapkan keduanya dan dapatkan yang terbaik dari kedua dunia. Tapi kalau cuma buat satu, IPN lah yang bisa diandalkan.

Satu tangkapan: jika Anda menerapkan keduanya maka ada kemungkinan pembayaran Anda dapat diproses dua kali. Berhati-hatilah untuk memastikan hal itu tidak terjadi. Aplikasi yang saya tulis menangani PDT dan IPN hampir identik (bagian backendnya sama) dan kode tersebut memperoleh kunci per pengguna web di database, sehingga jika pengguna yang sama mencoba mengirimkan pembayaran yang sama persis beberapa kali lipatnya hanya bisa diproses sekali. Setelah diproses, hasil dari proses itu digunakan kembali untuk setiap upaya berikutnya untuk memprosesnya.

Sunting Satu hal lagi: IPN membawa lebih banyak informasi daripada PDT. Ada banyak sekali pesan berbeda yang dapat Anda terima dari IPN, seperti pemberitahuan tagihan balik, dll, dan karenanya Anda harus benar-benar menerapkannya.


Sistem PDT PayPal mengirimkan konfirmasi pesanan ke situs pedagang yang menggunakan Standar Pembayaran PayPal dan memungkinkan mereka mengautentikasi informasi ini. Situs semacam itu kemudian dapat menampilkan data ini secara lokal di halaman "konfirmasi pesanan".

Kapan Menggunakan PDT?

IPN menyediakan kemampuan yang sama seperti yang dijelaskan di atas. Jadi, kapan sebaiknya memilih PDT daripada IPN?

Dengan PDT, situs Anda segera diberi tahu saat pelanggan menyelesaikan pembayaran. Namun, dengan IPN, ada jeda materi antara waktu pelanggan menyelesaikan pembayaran dan waktu situs Anda menerima pemberitahuan tentang peristiwa ini.

Jadi, gunakan PDT jika situs Anda menyertakan fitur yang membutuhkan pemberitahuan pembayaran segera.

Misalnya, pertimbangkan toko musik digital. Dengan PDT, toko ini dapat mengizinkan pelanggan mendownload pembeliannya langsung karena PDT segera mengirimkan konfirmasi pesanan. Dengan IPN, pemenuhan pesanan langsung seperti itu tidak mungkin dilakukan.

Keunggulan IPN

PDT memiliki kelemahan utama: PDT mengirimkan konfirmasi pesanan sekali dan hanya sekali. Akibatnya, ketika PDT mengirimkan konfirmasi, situs Anda harus berjalan; jika tidak, pesan tersebut tidak akan pernah diterima.

Sebaliknya, dengan IPN, pengiriman konfirmasi pesanan dijamin secara virtual karena IPN mengirim ulang konfirmasi hingga situs Anda menyatakan telah menerimanya. Karena alasan ini, PayPal merekomendasikan agar Anda menerapkan IPN daripada PDT.

Keunggulan lain dari IPN adalah mengirimkan banyak jenis notifikasi, sedangkan PDT hanya mengirimkan konfirmasi pesanan. Jadi, dengan menggunakan IPN, situs Anda dapat menerima, misalnya, pemberitahuan tagihan balik serta konfirmasi pesanan. Catatan: Jika situs Anda harus segera diberitahukan tentang pembayaran, Anda dapat menerapkan IPN dan PDT. Namun, jika Anda melakukannya, situs Anda akan menerima dua konfirmasi pesanan untuk setiap penjualan. Akibatnya, Anda harus berhati-hati untuk mengambil tindakan (misalnya, mengirimkan produk) hanya pada satu salinan dari pesan konfirmasi yang diberikan.

Dokumentasi Di Sini

Tuan Shiny dan Baru 安 宇
sumber
2
Terima kasih, saya mengerti. Jadi pada dasarnya, tautkan pembaruan basis data ke IPN (karena akan selalu diproses) dan tautkan konfirmasi pengguna hanya ke PDT (seperti memeriksa apakah pembayaran telah diproses oleh IPN pada halaman yang tertunda, misalnya) ....?
Tom
1
1 untuk implementasi IPN dan PDT, kami telah melakukan ini dan berhasil dengan baik.
Mark Redman
3
@ Tom: Implementasi saya adalah: Ketika PDT atau IPN masuk, baca parameternya dan coba proses pembayarannya. Prosesor A) memblokir pemrosesan simultan lainnya (untuk pengguna itu) dan B) memeriksa untuk melihat apakah itu sudah diproses. Setelah pemrosesan selesai, dengan IPN Anda selesai, dengan PDT Anda menunjukkan kepada pengguna halaman konfirmasi atau halaman tanda terima atau apa pun. Baik sisi PDT maupun sisi IPN dapat bekerja dengan baik jika sisi lain turun, tetapi Anda mendapatkan keandalan yang baik dengan memiliki keduanya. % Pengguna yang cukup tinggi tidak mengklik sebelum IPN tersedia.
Tn. Shiny dan Baru 安 宇
8
Jawaban ini tidak menjawab pertanyaan OP # 1, # 2, atau # 3, namun diterima?
Clint Pachl
2
IPN butuh waktu hingga 4 hari untuk menjawab ... menyebalkan
Toskan
1

Re 1. PDT dimaksudkan untuk digunakan dengan fitur Pengembalian Otomatis untuk Pembayaran Situs Web. Pengembalian Otomatis mengalihkan ke situs PDT setelah membayar uang kepada penjual. Sayangnya, fitur itu tidak dapat digunakan bersama dengan Akun PayPal Opsional - digunakan untuk mengaktifkan pembayaran Kartu Kredit. Berikut catatan dari PayPal: 'Jika Anda telah mengaktifkan Pengembalian Otomatis dan telah memilih untuk mengaktifkan Akun PayPal Opsional untuk pengguna baru, pengguna baru tidak akan secara otomatis diarahkan kembali ke situs web Anda, tetapi akan diberikan opsi untuk kembali.' . Pengguna akan memiliki opsi untuk kembali ke situs Anda (langkah PDT) atau tetap di situs PayPal. Singkatnya saat membayar dengan Kartu Kredit, pengguna dapat melewati langkah PDT jika pengguna tidak mengklik 'link kembali ke toko'.

Re 2. Terserah Anda opsi pembayaran apa yang ingin Anda izinkan. Jika Anda ingin mengizinkan pembayaran tanpa Akun PayPal, Anda dapat mengaktifkan Akun Opsional . Jika Anda hanya ingin mengizinkan pengguna dengan akun PayPal, nonaktifkan fitur itu. Mungkin ada lebih banyak opsi.

Re 3. Dalam kasus Anda, Anda perlu memicu tindakan setelah pembelian berhasil. Cara yang disarankan adalah dengan menerapkan IPN. PDT tidak berfungsi untuk semua kasus dan tidak menjamin pengiriman pesan. Berikut ini tautan ke dokumen yang membahas topik PDT vs IPN .

jan salawa
sumber
0

Ini adalah pertanyaan lama, tetapi jawaban sederhana saya adalah - Mengapa tidak menggunakan PDT dan IPN? Mereka akan bekerja dengan baik untuk transaksi kartu.

PDT dapat memberikan status transaksi langsung ke situs web Anda, di mana Anda dapat dengan cepat memeriksa status keberhasilan atau kegagalan pembayaran dan memberikan pesan yang sesuai kepada pengguna.

Sementara itu, Anda bisa menunggu verifikasi lengkap dari IPN di background. Setelah diterima, Anda dapat menggunakan ini untuk memperbarui DB Anda lebih lanjut dan memproses pesanan.

Anda dapat mengikuti panduan langkah demi langkah ini yang menurut saya sangat jelas dan bermanfaat - dan masih berlaku pada tahun 2018.

https://www.codexworld.com/paypal-standard-payment-gateway-integration-php/

Sol
sumber