นี่คือการใช้ magento 1.9.0.1 ได้รวมกล่อง expres paypal นอกเหนือจากนี้คุณมีปลั๊กอินคะแนนโปรรางวัลเป็นคะแนนสะสมที่จะซื้อสินค้าบางอย่างซึ่งเมื่อมันกลายเป็นการรวมและการซื้อสินค้าโดยไม่ต้องใช้คะแนนของ recompesa การชำระเงินด้วย paypal นิกุนสามารถทำได้โดยไม่มีปัญหา แต่เมื่อลูกค้าใช้คะแนนสะสมข้อผิดพลาดเมื่อยืนยันการสั่งซื้อซึ่งก็คือ
เกตเวย์ของ PayPal ปฏิเสธคำขอ ยอดรวมของรายการรถเข็นจำนวนเงินไม่ตรงกับคำสั่งซื้อ (# 10413: การทำธุรกรรมถูกปฏิเสธเนื่องจากอาร์กิวเมนต์ไม่ถูกต้องดูข้อความแสดงข้อผิดพลาดเพิ่มเติมเพื่อดูรายละเอียด)
ค้นหาเน็ตเพื่อลองและแก้ไขข้อผิดพลาดนี้ฉันขอแนะนำให้คุณแก้ไขไฟล์ Nav.php paypal โดยเพิ่มรหัสสองรหัสที่ฉันใส่ไว้ด้านล่าง:
รหัสแรก
// เริ่มแฮ็ค
$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'];
}
}
// Hack End
รหัสที่สอง
// 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;
}
// สิ้น
การเพิ่มรหัสใด ๆ หากได้รับอนุญาตและชำระเงินสำหรับคะแนนส่วนลดนั้น แต่ปัญหาคือเมื่อคุณเห็นการชำระเงิน paypal กำลังเรียกเก็บเงินจำนวนส่วนลดมากกว่าจำนวนทั้งหมดเวลาที่ลูกค้า paypal ลงชื่อเข้าใช้และดำเนินการผ่าน กล่อง expres, จำนวนเงินทั้งหมดถูกต้องและ desglozadas ในที่สุดยอดการชำระเงินทั้งหมดเป็นเรื่องปกติกลับไปที่ร้านค้าและยืนยันการสั่งซื้อซึ่งจะทำสำเร็จ แต่เมื่อชำระเงิน paypal ในจำนวนส่วนลดเป็นสิ่งที่เราได้รับมันเป็นตัวอย่าง ทำให้ชัดเจน
ต้นทุนผลิตภัณฑ์> 340 คะแนน usuados ต่อลูกค้า> 125 เทียบเท่ากับ 20.54 ยอดซื้อทั้งหมดในร้านและ expres ชนิดบรรจุกล่อง paypal> 319.46 ปริมาณ recibda เพื่อดูบัญชีใน paypal> 20.54
นอกจากนี้เมื่อทำการซื้อคะแนนสะสมที่ยังไม่ได้ใช้จะมีข้อผิดพลาดระบุว่าจำนวนการทำธุรกรรมนั้นถูกต้องเพราะมันเป็นศูนย์ปรากฏขึ้น
ฉันงงงวยเพื่อดูว่ารหัสข้อผิดพลาดใดที่จะแก้ไข แต่ฉันไม่สามารถทำได้ไม่ใช่ถ้ามีคนรู้ว่าฉันต้องทำหรือสามารถช่วยได้