Magento สร้างคำสั่งโดยทางโปรแกรมด้วยวิธีการชำระเงินด้วย PayPal


11

ขณะนี้เรามีเว็บไซต์อิสระวีโอไอพีสองแห่ง หนึ่งคือการทำงานเป็นหน้าร้านและอื่น ๆ เช่นปลายด้านหลัง ผู้ใช้สามารถสั่งซื้อที่ส่วนหน้า

คำสั่งเดียวกันดังนั้นฉันพยายามสร้างโปรแกรมที่ส่วนหลัง เมื่อผู้ใช้ชำระเงินด้วยcheckmoวิธีการชำระเงินก็ใช้งานได้ แต่เมื่อผู้ใช้ชำระเงินผ่าน PayPal จะไม่ทำงาน ดังนั้นใคร ๆ ก็รู้ว่าเราสามารถสร้างคำสั่งซื้อแบบเป็นโปรแกรมโดยใช้วิธีการชำระเงิน PayPal ได้อย่างไร เป็นไปได้หรือไม่

$quote->getPayment()->importData(array(3) {
    [method] => paypal_express
    [last_trans_id] => 65Y31421KL2753028
    [additional_information] => Array
    (
        [paypal_express_checkout_shipping_method] => 
        [paypal_payer_id] => 5LX84SUFY39L4
        [paypal_payer_email] => abbas-buyer-2@bluewisesoft.com
        [paypal_payer_status] => verified
        [paypal_address_status] => Confirmed
        [paypal_correlation_id] => b78b4e5e6e527
        [paypal_express_checkout_payer_id] => 5LX84SUFY39L4
        [paypal_express_checkout_token] => EC-7P402752023166448
        [paypal_express_checkout_redirect_required] => 
        [paypal_protection_eligibility] => Eligible
        [paypal_payment_status] => pending
        [paypal_pending_reason] => authorization
    )
});

ข้อผิดพลาด: เกตเวย์ PayPal ปฏิเสธคำขอ ธุรกรรมที่ประสบความสำเร็จได้รับการดำเนินการเรียบร้อยแล้วสำหรับโทเค็นนี้ (# 10415: การทำธุรกรรมถูกปฏิเสธเนื่องจากข้อโต้แย้งที่ไม่ถูกต้องดูข้อความผิดพลาดเพิ่มเติมสำหรับรายละเอียด)


คำถามที่คล้ายกันได้ตอบที่นี่: magento.stackexchange.com/questions/211783/ …
Sreejith Gopinath

คำตอบ:


4

ไม่สามารถสร้างคำสั่งซื้อด้วยวิธีการชำระเงินจริงของ PayPal ได้เนื่องจากคุณจะต้องชำระเงินจริง นั่นคือเหตุผลที่ PayPal ปฏิเสธคำขอ คุณจะต้องส่งโทเค็น (เพื่อเริ่มต้นคำขอ) ไปยัง PayPal เพื่อให้พวกเขาสามารถตรวจสอบได้

เนื่องจากคุณไม่ต้องการการชำระเงินครั้งที่สอง แต่จำเป็นต้องใช้เพื่อเก็บบันทึก (เท่าที่ฉันสามารถอ่านได้) คุณอาจต้องสร้างวิธีการชำระเงิน PayPal ปลอมสำหรับอินสแตนซ์ Magento อื่น ๆ และตั้งเป็นวิธีการชำระเงินเมื่อทำการโอน การสั่งซื้อสินค้า.

ตามที่ Inchoo ได้อธิบายไว้ในรายละเอียดแล้ว (มันไม่ยากอย่างที่คิดเพราะคุณจะต้องใช้ส่วนวีโอไอพี) ฉันจะไม่คัดลอก / วางที่นี่ แต่ให้ลิงค์เท่านั้น http://inchoo.net/magento/how-to-create-magento-payment-module/

เพียงแค่เรียกว่า 'paypal_proxy_payment' หรือบางสิ่งบางอย่างแล้วใช้วิธีการนั้นและคุณก็พร้อมที่จะไป!


2

ฉันกำลังแชร์ลิงก์เดียวในคำตอบของฉันและโปรดอ่านมันและคัดลอกโค้ดในคอนโทรลเลอร์ที่คุณกำหนดเองจากนั้นคุณต้องเปลี่ยนวิธีการชำระเงิน

ภายใน

$this->orderData = array(
    'session'       => array(
        'customer_id'   => $this->_sourceCustomer->getId(),
        'store_id'      => $this->_storeId,
        ),
    'payment'       => array(
        'method'    => 'checkmo',
         ),
    );

แทนที่จะเป็นcheckmoคุณสามารถเขียนวิธีการชำระเงินของคุณ

กรุณาตรวจสอบนี้

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.