Magento membuat pesanan secara terprogram dengan metode pembayaran paypal

11

Saat ini kami memiliki dua situs web independen magento. Satu berperilaku sebagai etalase dan lainnya sebagai ujung belakang. Pengguna dapat melakukan pemesanan di ujung depan.

Jadi urutan yang sama saya coba buat secara pemrograman di back end. Ketika pengguna membayar melalui checkmometode pembayaran, itu berhasil. Tetapi ketika pengguna membayar melalui PayPal itu tidak berfungsi. Jadi, siapa yang tahu bagaimana kami dapat membuat pesanan secara terprogram menggunakan metode pembayaran PayPal? Apakah mungkin atau tidak?

$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
    )
});

Kesalahan: Gateway PayPal telah menolak permintaan. Transaksi yang berhasil telah diselesaikan untuk token ini (# 10415: Transaksi ditolak karena argumen yang tidak valid. Lihat pesan kesalahan tambahan untuk detailnya).

Abbas
sumber
Pertanyaan serupa telah dijawab di sini: magento.stackexchange.com/questions/211783/…
Sreejith Gopinath

Jawaban:

4

Membuat pesanan dengan metode pembayaran PayPal yang sebenarnya tidak dimungkinkan, karena Anda harus melakukan pembayaran yang sebenarnya. Itulah sebabnya PayPal menolak permintaan; Anda juga harus mengirim token (untuk memulai permintaan) ke PayPal agar mereka dapat memverifikasinya.

Karena Anda sebenarnya tidak memerlukan pembayaran kedua tetapi membutuhkannya untuk pembukuan (sejauh yang saya bisa baca), mungkin bijaksana untuk membuat metode pembayaran PayPal palsu untuk mesin virtual Magento lainnya dan menetapkannya sebagai metode pembayaran saat mentransfer pesanan.

Karena Inchoo sudah menjelaskan ini secara detail (tidak sesulit kedengarannya karena Anda hanya perlu mengimplementasikan bagian Magento) Saya tidak akan menyalin / menempelkannya di sini tetapi hanya memberi Anda tautannya; http://inchoo.net/magento/how-to-create-magento-payment-module/

Sebut saja 'paypal_proxy_payment' atau sesuatu dan gunakan metode itu dan Anda siap melakukannya!

Peter Jaap Blaakmeer
sumber
2

Saya membagikan satu tautan dalam jawaban saya dan silakan melewatinya dan cukup salin tempel kode di pengontrol khusus Anda maka Anda harus mengubah metode pembayaran

dalam

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

alih-alih checkmoAnda dapat menulis metode pembayaran Anda.

Silakan periksa ini.

Asheem Patro
sumber