Magento 1.9.0.1 Kesalahan Paypal Total jumlah item keranjang tidak cocok dengan jumlah pesanan (# 10413:

9

apakah ini menggunakan magento 1.9.0.1 telah mengintegrasikan kotak expres paypal, selain itu Anda memiliki plugin pro poin penghargaan sebagai poin hadiah untuk membeli beberapa produk yang ketika menjadi integrasi dan membeli produk tanpa menggunakan poin recompesa, pembayaran dengan paypal nigun dapat dilakukan tanpa masalah, tetapi ketika pelanggan menggunakan poin hadiah, kesalahan saat mengkonfirmasi pesanan, yaitu

Gerbang PayPal menolak permintaan tersebut. Total dari item keranjang Jumlah Jumlah tidak cocok pesanan (# 10413: Transaksi ditolak karena argumen yang tidak valid. Lihat pesan kesalahan tambahan untuk detail.)

Mencari di internet untuk mencoba dan memperbaiki kesalahan ini, saya sarankan Anda dapat memodifikasi file paypal Nav.php menambahkan dua kode yang saya masukkan di bawah ini:

kode pertama

// Retas Mulai

$totalValue = $request['TAXAMT'] + $request['ITEMAMT'];
$finalValue = $totalValue - $request['AMT'];

if($request['SHIPPINGAMT'] > 0) {

$request['SHIPPINGAMT'] = ($request['AMT'] - ($request['TAXAMT'] + $request['ITEMAMT']));
$totalValue = $request['TAXAMT'] + $request['ITEMAMT'] + $request['SHIPPINGAMT'];
$finalValue = $totalValue - $request['AMT'];

}

if($request['AMT'] != $totalValue) {

if($totalValue > $request['AMT']) {
$request['TAXAMT'] = $request['TAXAMT'] - $finalValue;
}elseif($totalValue < $request['AMT']) {
$request['TAXAMT'] = $request['TAXAMT'] + $finalValue;
}else{
$request['AMT'] = $request['TAXAMT'] + $request['ITEMAMT'];
}
}

// Retas Akhir

Kode kedua

    // Check discount
$lineAmt = 0;
$discount = 0;
$line = 0;
$discountIndex = 0;
while(isset($request["L_AMT{$line}"])) {
if($request["L_NAME{$line}"] == 'Discount') {
$discount += $request["L_AMT{$line}"];
$discountIndex = $line;
}
else {
$lineAmt += $request["L_AMT{$line}"];
}
$line++;
}

if($discount) {
if($discount + $lineAmt != $request['ITEMAMT']) {
// Do correction
$request["L_AMT{$discountIndex}"] = ($request['ITEMAMT'] - $lineAmt);
} 
} else {
// Check item amount adds up
$correctItemAmt = $request['AMT'] - $request['SHIPPINGAMT'] - $request['TAXAMT'];
if($correctItemAmt != $request['ITEMAMT']) {
$request['ITEMAMT'] = $correctItemAmt;
}

//akhir

Menambahkan salah satu kode, jika diizinkan dan melakukan pembayaran untuk poin diskon itu, tetapi masalahnya adalah ketika Anda melihat pembayaran paypal, membebankan jumlah diskon daripada jumlah total, saat pelanggan paypal masuk dan menelusuri kotak expres, semua jumlah sudah benar dan desglozadas pada akhirnya jumlah total pembayaran baik-baik saja, kembali ke toko dan mengkonfirmasi pesanan, yang berhasil dibuat, tetapi ketika pembayaran paypal dalam jumlah diskon adalah apa yang kami terima, ia mencontohkan untuk membuatnya jelas

Biaya Produk> 340 Poin usuado per pelanggan> 125 setara dengan 20,54 Total pembelian di toko dan expor kotak paypal> 319,46 Jumlah kuantitas untuk melihat akun di paypal> 20,54

Terlepas dari ini, ketika membeli pembayaran poin imbalan yang tidak digunakan dibuat, kesalahan menunjukkan bahwa jumlah transaksi itu valid karena Nol muncul.

Saya sudah bingung melihat apa kode kesalahan untuk memodifikasinya, tapi saya tidak bisa melakukannya, tidak jika seseorang tahu saya harus melakukan atau dapat membantu

Uriel castillo
sumber
Di mana Nav.php berada?
Giuseppe
Apakah masalah Anda terpecahkan atau tidak?
Permata

Jawaban:

7

Masalah

Masalahnya cukup jelas dari pesan: jumlah total barang dan jumlah total keranjang yang dikirim ke Paypal tidak cocok.
Seperti yang sudah Anda ketahui, ini tampaknya menjadi masalah dengan ekstensi poin itu (atau sama sekali tidak mendukung Paypal Express).

Solusi yang disukai

Hal pertama yang saya sarankan adalah memeriksa bahwa Anda menggunakan versi terbaru dari Pro Poin Reward Points, karena mereka mungkin telah menambahkan dukungan untuk Paypal Express atau memperbaiki masalah yang sedang Anda hadapi. Jika tidak, hubungi dukungan mereka dan cobalah untuk mendapatkan bantuan dari mereka.

Solusi khusus

CATATAN: Harap jangan pernah memodifikasi file Magento inti. Jika tidak ada alternatif (menggunakan pengamat, dll) salin file dalam kumpulan kode lokal dan timpa di sana.

Anda harus melihat ke dalam aplikasi file / kode / core / Mage / Paypal / Model / Cart.php baris # 318 . Seperti yang Anda lihat, Magento mengirimkan sebuah acara di sana yang dapat Anda gunakan untuk mencoba memperbaiki masalah ini.
Dengan mengamati peristiwa itu, Anda akan dapat mengakses objek Mage_Paypal_Model_Cart yang sebenarnya yang berisi item dan total keranjang yang akan dikirim ke Paypal.

Maaf, tetapi tidak tahu bagaimana ekstensi Pro Poin Reward bekerja secara internal, saya tidak bisa memberikan panduan yang tepat dengan kode dan segalanya. Pada dasarnya, Anda harus mencoba memahami apa yang terjadi dalam metode _render () & _validate () di app / code / core / Mage / Paypal / Model / Cart.php dan pastikan diskon dari penggunaan poin diterapkan dengan benar.

Juga, saya tidak bisa mengerti persis bagian terakhir setelah kode, tapi tolong beri tahu saya jika Anda memiliki pertanyaan.

Vlad Vanca
sumber
Solusi luar biasa, ini bekerja dengan sempurna, Tapi satu modifikasi lagi membutuhkan. Pada file php yang sama, ada satu lagi metode _addRegularItem (). Jumlah yang disebutkan di sana juga. Harus memodifikasi itu.
Butterfly
0

Masalahnya bukan pada kode, tetapi ini adalah masalah konfigurasi. Pastikan saja pajak Anda diterapkan pada subtotal alih-alih pada grand total. Periksa screenshot yang terlampir. Pastikan "Item Jalur Transfer Keranjang Anda" disetel ke YA juga "Opsi Pengiriman Pengiriman" ke YA.masukkan deskripsi gambar di sini

Emiliano
sumber
0

Kami memiliki kesalahan paypal yang sama dan menemukan, bahwa ketika sebuah artikel tentang "bebas pajak" masalahnya hilang. Jadi kami menonaktifkan plugin pembayaran parsial yang menghitung ulang beberapa total. Jadi ini membantu dalam kasus kami.

TonkBerlin
sumber