Saya mencoba menguji toko saya dengan PayPal Sandbox . Saya mendapatkan 2 kesalahan berbeda dalam 2 situasi berbeda.
1. Semua berfungsi dengan baik hingga menyelesaikan pesanan di PayPal. Kemudian dapatkan pesan:
Maaf, PayPal tidak mengizinkan penduduk Amerika Serikat untuk mengirimkan pembelian ke (di mana saja)
2. Situasi kedua adalah ketika saya kemudian mengubah alamat pengiriman pembeli saya ke AS. Saya mendapatkan kesalahan berikut, pada halaman pertama di paypal:
Tidak dapat memproses pembayaran. Silakan hubungi pedagang karena alamat pengiriman yang diberikan oleh pedagang tidak valid, dan pedagang telah meminta agar pesanan Anda harus dikirim ke alamat itu.
Saya menemukan formulir di sini , bahwa ini tampaknya menjadi masalah bagi banyak orang. Dari sini saya menemukan bahwa ada sesuatu yang harus dilakukan dengan metode address_override dan di sini disarankan untuk mematikannya.
Apakah ada cara untuk mematikannya di Magento? Apakah aman untuk mematikannya? Mengapa ada di tempat pertama? atau solusi apa yang ada di luar sana? :
Saya menemukan metode address_override di magento di
\ app \ code \ core \ Mage \ Paypal \ Model \ Api \ Standard.php baris: 238 $ request ['address_override'] = 1;
Mengubahnya menjadi '0' dan sekarang kotak pasir paypal berfungsi. Tidak ada kesalahan lagi. Tetapi bagaimana saya bisa melakukan ini tanpa mengubah file inti magento? dan apakah itu aman?
sumber
Jawaban:
Anda dapat melakukan hal berikut jika Anda tidak ingin mengubah file inti:
Mage/Paypal/Model/Api
bawah/app/code/local/
Standard.php
dari/app/code/core/Mage/Paypal/Model/Api
Standard.php
ke/app/code/local/Mage/Paypal/Model/Api
untuk
sumber
The
address_override
parameter yang ada untuk mengatur alamat pengiriman toko Magento Anda mengirim ke Paypal sebagai alamat pengiriman bukan alamat pengiriman pelanggan disimpan di sisi Paypal.Jika
address_override
diatur ke1
, yang merupakan kasus di Magento, maka Paypal akan memvalidasi alamat pengiriman. Jika parameter diatur ke0
, seharusnya tidak. Jadi pastikan Anda mengirim alamat yang valid dan berformat baik ke Paypal.Saya mengalami masalah ini karena nilai "keadaan" yang hilang. Paypal hanya menerima singkatan negara seperti "CA" untuk "California". Untuk negara lain, status mungkin tidak tersedia di instalasi Magento Anda secara default, misalnya untuk Meksiko.
Apakah Anda menyesuaikan bidang alamat pengiriman di checkout Anda?
sumber
Lihat jawaban Stack Overflow ini:
/programming/5978153
/programming/11281543
Pada dasarnya, cara cepat dan kotor adalah menyalin seluruh file ke
app/code/local/Mage
dunia Anda , tetapi akan lebih baik untuk upgrade jika Anda bisa membebani hanya satu fungsi saja.Juga, jika belum, silakan gunakan Github untuk kontrol versi. Itu telah menyelamatkan saya lebih dari sekali! Anda dapat melacak semua perubahan dengan mudah, bahkan jika Anda sedang buruk dan mengedit file inti.
sumber