Livezilla

Certified Partner and
PrestaShop Developer for:

Memperbaiki Masalah Paypal di PrestaShop

Memperbaiki Masalah Paypal

Halaman ini ditulis dalam bahasa Inggris, silakan lihat versi bahasa Inggris untuk perubahan kode yang benar.

Tips berikut ditulis untuk PrestaShop 1.2 dan 1.3, jika Anda menggunakan versi PrestaShop 1,4, pastikan untuk mendapatkan versi terbaru dari modul paypal (tersedia gratis di http://addons.prestashop.com/en/payments- gateways/1748-paypal.html)


1) Masalah yang paling umum dengan perintah paypal tidak muncul terjadi ketika paypal tidak dapat mengakses server Anda, file / folder permissions tidak benar, atau jika account paypal Anda tidak diverifikasi.


Periksa kondisi berikut benar:

· Toko Anda tidak dalam modus pemeliharaan (jika tidak ada orang dapat mengakses situs Anda, situs paypal tidak akan bisa baik).

· Tidak ada proteksi password pada situs Anda (alasan yang sama seperti di atas).

Cobalah untuk membuka halaman ini dari browser - http://www.yoursite.com/modules/paypal/validation.php,
jika Anda mendapatkan kesalahan (error 500, halaman tidak dapat ditampilkan), dari ini berarti Anda memiliki masalah izin file. Kemungkinan besar, direktori paypal atau direktori seluruh modul diatur ke 777 dan host Anda tidak mengizinkan hal itu (tidak aman), coba ubah ke 755. Anda juga dapat memeriksa log kesalahan server anda (dari cPanel) untuk mendapatkan kesalahan yang tepat.

· Pastikan account paypal Anda diverifikasi, jika tidak transaksi tidak mendapatkan secara otomatis disetujui dan prestashop akan menunjukkan kesalahan pembayaran.


2) Yang paling umum modus Sandbox masalah dengan modul paypal adalah bahwa perintah tidak muncul di toko.

Alasan untuk itu adalah modul paypal saat ini diatur untuk menciptakan perintah hanya jika mendapat respon dari situs paypal adalah "Selesai", Namun, ketika berjalan di Sandbox modus, paypal mengirimkan respon "Pending".

Kami telah membaca beberapa dokumentasi tentang mengubah account sandbox untuk mengirimkan "Selesai" respon, tapi bahkan setelah mencoba itu, pembayaran masih tampil sebagai tertunda.


Dalam rangka untuk memperbaiki itu, membuat perubahan berikut di / modules / paypal / validation.php baris # 80.

Ini akan memungkinkan untuk memesan dengan status "Pending" untuk pergi melalui, tetapi hanya dalam mode sandbox.


elseif ($ _POST ['payment_status'] = 'Selesai'!)

Harus diubah menjadi

elseif ($ _POST ['payment_status'] = 'Selesai' & & (Konfigurasi::! get ('PAYPAL_SANDBOX') | | $ _POST ['payment_status'] = 'Menunggu'))


3) Masalah umum lainnya adalah bahwa perintah yang ditempatkan dalam modus hidup tidak muncul dalam backoffice, tapi pelanggan masih akan dikenakan biaya.


Hal ini sering terjadi karena respon dari paypal tidak "Selesai."

Mungkin ada banyak alasan untuk itu, yang utama bahwa kita telah menemukan adalah:

a) mata uang default Anda di PrestaShop tidak sesuai dengan mata uang paypal anda.

b) Pembayaran dilakukan dengan menggunakan eCheck atau metode lain yang memerlukan waktu lebih lama untuk membersihkan.

c) Paypal memutuskan mereka butuhkan untuk menyelidiki transaksi.


  • Anda dapat memodifikasi kode untuk mengirimkan email setiap kali transaksi seperti itu terjadi, sehingga Anda bisa setidaknya tahu tentang hal itu dan menghubungi pelanggan untuk menginformasikan mereka tentang situasi.


Untuk melakukan itu, mengubah kode dalam / paypal / validation.php (baris # 80) Dari

elseif ($ _POST ['payment_status'] = 'Selesai' & & (Konfigurasi::! get ('PAYPAL_SANDBOX') | | $ _POST ['payment_status'] = 'Menunggu'))
$ Kesalahan .= $ paypal-> getL ('pembayaran').$_ POST [' payment_statu
s'].'';

Untuk

elseif ($ _POST ['payment_status'] = 'Selesai' & & (Konfigurasi::! get ('PAYPAL_SANDBOX') | | $ _POST ['payment_status'] = 'Menunggu'))

{
$ Kesalahan .= $ paypal-> getL ('pembayaran').$_ POST [' payment_status'].'';
mail ("your@address.com", "Email pembayaran kesalahan", "Ada masalah dengan pembayaran, di bawah ini kembali dari paypal" print_r ($ _POST, benar).);
}