pembayaran Adaptive paypal drupal hosting

Dalam projek baru-baru ini saya membangunkan modul yang membolehkan untuk menyediakan pembayaran PayPal dirantai sebagai gerbang pembayaran dalam Drupal Commerce. Saya pernah commerce_paypal_wps rszrama kerana pandangan saya permulaan (prop utama kepada Ryan - kod hebat untuk bekerja dari!) Dan dimanfaatkan sebanyak dari modul commerce_paypal ibu bapa yang saya dapat.

Saya telah diuji modul cantik meluas dengan kelayakan kotak pasir dan ia nampaknya berfungsi dengan baik.

pembayaran Adaptive paypal drupal hosting bayaran dirantai menggunakan Adaptive

Dalam bentuk semasa, ia boleh ditawarkan sehingga masyarakat sebagai submodul dalam projek ini, atau modul yang berdiri sendiri dengan pergantungan commerce_paypal. Mencari maklum balas rszrama di laluan untuk pergi ke sana.

pembayaran dirantai PayPal menggunakan Adaptive Pembayaran API, yang berbeza agak jauh dari segi bagaimana pembolehubah dapat dihantar ke PayPal, apa pembolehubah-pembolehubah, dan apa pembolehubah kembali ke laman web ini melalui IPN. Oleh kerana itu saya terpaksa meninggalkan bahagian-bahagian tertentu pemprosesan IPN standard commerce_paypal ini.

Dalam pengertian umum, modul saya sampai kepada PayPal dengan definisi paychain, menerima paykey, maka jatuh pembeli di laman web PayPal, dengan paykey, untuk melengkapkan transaksi. Modul ini maka telah menuai IPN dari PayPal dan jika semuanya cek keluar, mewujudkan transaksi pembayaran pada perintah itu, membawa perintah itu kepada keadaan yang berbayar penuh, dengan satu bidang baru pada tab Pembayaran yang menunjukkan yang telah dibayar apa (menunjukkan "penerima alamat e-mel "untuk setiap pembayaran dalam rantaian).

Saya juga direka modul dalam apa-apa cara yang anda boleh menentukan paychain menggunakan token (dengan andaian anda telah token dipasang) - jadi yang akan dibayar peratusan perintah itu boleh menjadi dinamik dan khusus untuk setiap pesanan.

Jika ia mungkin ini boleh menjadi submodul dalam projek ini (seperti commerce_paypal_wps), saya boleh mengemukakan patch terhadap 7.x-2.x-dev - hanya beritahu saya. Buat masa ini, saya akan terus bekerja di atasnya di GitHub.

kaveat:
- Pada masa ini modul tidak mengendalikan menentukan masa kelewatan dalam rantaian gaji (mungkin mudah untuk menambah), ia juga tidak mengendalikan bayaran balik dirantai (boleh menjadi kompleks untuk menambah).
- Modul ini memerlukan pelayan web mempunyai sokongan Curl dalam PHP (menghubunginya untuk paykey itu dilakukan melalui Curl).
- Modul ini boleh menggunakan pemerhati lebih baik / laporan ralat dalam keadaan di mana paykey tidak datang kembali dari paypal.
- Modul ini boleh menggunakan pengesahan tambahan sekitar definisi paychain supaya kita tidak mendekati PayPal dengan paychain tidak sah.

Saya telah diuji modul anda menggunakan akaun kotak pasir dan ia adalah semua berfungsi dengan baik.

tetapi dalam kes kegunaan saya.

Penerima e-mel akan datang dari satu bidang yang saya dicipta pada akaun penjual pengguna.
Jadi setiap penjual boleh membuat produk dan menjualnya.
Pembeli boleh menambah produk ke keranjang mereka yang termasuk 4 penjual sahaja.

pembayaran Adaptive paypal drupal hosting untuk ini

Saya bercadang untuk membuat logik yang akan kumpulan item berdasarkan penjual dan mengira jumlah peratusan untuk setiap penjual, kemudian mengubah konfigurasi anda apabila checkout pembeli.

Ia boleh dilakukan? ada apa-apa cadangan yang boleh anda berikan kepada saya?

alex_qwe Attribution Kredit: alex_qwe mengulas 30 November 2013 pada 13:49

Hello,
Kerja yang besar, semua kerja-kerja. Saya mempunyai isu yang sama seperti jhayzhon.
yang besar yang boleh anda gunakan token di padang, malangnya tidak banyak digunakan untuk kes kami, kerana tidak ada akses kepada token produk dari barangan perintah garis.
Adakah ia sukar untuk menetapkan input pemilih untuk e-mel? Sama seperti pesanan? Dengan cara ini ia akan menjadi lebih banyak disesuaikan dengan peraturan.

Dan ia pasti shoudl dimasukkan sebagai submodul untuk perdagangan paypal.

alex_qwe Attribution Kredit: alex_qwe mengulas 30 November 2013 pada 18:47

Ok, saya menyelesaikan masalah ini tetapi dengan penyelesaian yang sangat jahat.
Dalam kaedah-kaedah modul pembayaran menambah parameter untuk e-mel penjual.
Kemudian pada mendayakan fungsi Cara menyimpannya dalam pembolehubah sesi (tidak dapat memikirkan bagaimana untuk mendapatkan parameter ini dari dalam pembayaran dirantai modul :(. Jika anda tahu bagaimana, sila maklumkan kepada saya)

alamp Attribution Kredit: alamp mengulas Januari 29, 2014 pada 03:30

Ini adalah tip untuk orang baru seperti seperti saya.

Jika anda menghadapi kesilapan seperti berjalan PayPal dirantai, sila tambah debugging mesej seperti berikut:

dd akan mencetak output sambutan daripada Paypal, termasuk kod ralat seperti berikut:

shabirahmad Attribution Kredit: shabirahmad mengulas 10 Jun 2014 pada 15:31

Ia adalah usaha yang sangat baik, saya suka modul tetapi saya mempunyai satu soalan. Saya hendak mengisi e-mel penerima berdasarkan produk saya dan pemilik kedai produk. Sekarang saya telah mencipta satu peraturan yang dipecat apabila suatu perintah baru dikemukakan. Dalam kaedah yang saya telah menulis coretan php yang mengira e-mel penerima yang berbeza dan nilai harga peratusan mereka, sekarang di sini datang masalah. Bagaimana saya boleh mengemas kini bayaran bentuk kaedah konfigurasi untuk meletakkan data ini ??

Apa-apa idea akan sangat dihargai !!

Ini adalah fungsi yang saya gunakan untuk mendapatkan e-mel penerima dan peratusan mereka

$ Order_wrapper = entity_metadata_wrapper ( 'commerce_order', $ commerce_order);
$ TOTAL_PRICE = $ order_wrapper-> commerce_order_total-> nilai () [ 'jumlah'];
// DPM ($ TOTAL_PRICE);
// $ TOTAL_PRICE =;
foreach ($ order_wrapper-> commerce_line_items sebagai $ delta => $ line_item_wrapper) $ line_item = $ line_item_wrapper-> nilai ();
$ Line_item_price = $ line_item-> commerce_total [LANGUAGE_NONE] [0] [ 'jumlah'];
$ Product_id = (int) $ line_item-> commerce_product [LANGUAGE_NONE] [0] [ 'product_id'];

$ Line_item_percentage [$ delta] [ 'harga'] = ($ line_item_price * 100) / $ TOTAL_PRICE;
$ Product_wrapper = entity_metadata_wrapper ( 'commerce_product', $ product_id);
$ Store_id = $ product_wrapper-> cmp_store-> nilai () -> id;

$ Store_wrapper = entity_metadata_wrapper ( 'commerce_store', $ store_id);
$ Marchent_email = $ store_wrapper-> field_store_merchant_email-> nilai ();
$ Line_item_percentage [$ delta] [ 'reciever_email'] = $ marchent_email;
// DPM ($ line_item_price);
// DPM ($ line_item);
>
$ Masuk = $ line_item_percentage; // input anda
$ Out = array ();
foreach ($ masuk sebagai $ baris) if (! isset ($ keluar [$ berturut-turut [ 'reciever_email']])) $ keluar [$ berturut-turut [ 'reciever_email']] = array (
'Reciever_email' => $ berturut-turut [ 'reciever_email'],
'Harga' => 0,
);
>
$ Keluar [$ berturut-turut [ 'reciever_email']] [ 'harga'] + = $ berturut-turut [ 'harga'];
>
$ Out = array_values ​​($ keluar); // membuat array keluar berangka diindeks

$ Pertanyaan = db_query ( 'pilih * dari');
foreach ($ pertanyaan sebagai $ nilai) # kod.
$ Unserialize = unserialize ($ tambah nilai> data);

foreach ($ sebagai $ key => $ nilai) $ unserialize [$ utama + 1] [ 'jumlah'] = $ nilai [ 'harga'];
$ Unserialize [$ utama + 1] [ 'email'] = $ nilai [ 'reciever_email'];
$ Unserialize [$ utama + 1] [ 'utama'] = palsu;
>
$ Serialize_data = cerita bersambung ($ unserialize);
$ ( 'Data UPDATE SET =: data', array ( ': data' => $ serialize_data)) Pertanyaan = db_query;
// DPM ($ unserialize);
>

rbeaujard Attribution Kredit: rbeaujard mengulas 14 Oktober 2014 pada 23:43

Hey guys, saya berusaha untuk mendapatkan modul ini untuk bekerja dalam keadaan saya. Saya memerlukan satu pengubahsuaian yang saya harap seseorang yang boleh membantu. Saya perlu tolak jumlah penghantaran dari jumlah yang berpecah antara penerima menengah. Dalam kes saya, penerima pembayaran utama juga akan menjadi pengirim dan dengan itu kos penghantaran harus dihantar kepada mereka maka perpecahan untuk pembayaran perlu berlaku berdasarkan bakinya.

Saya lebih kepada newbie dengan program Drupal (hampir tidak keluar dari tapak pembina status) tetapi ia seolah-olah bahawa ini dengan mudah boleh dilakukan dalam commerce_paypal_chained.module di garisan 829

$ Calculated_amount = ($ peratusan / 100.00) * $ had;

Jika saya boleh mendapatkan ini untuk menjadi sesuatu yang seperti

$ Calculated_amount = ($ peratusan / 100.00) * ($ amaun- $ Pghntran);

yang kelihatan untuk mencapai matlamat saya. Saya tertanya-tanya jika ada cukai juga perlu dilayan seperti ini kerana mereka kemungkinan besar akan diserap oleh penerima utama. Ini kedua-duanya seolah-olah cukup mudah untuk pop suis togol dalam tetapan. Saya tidak pasti bagaimana untuk mengakses pembolehubah penghantaran pesanan. Jika sesiapa sahaja boleh membantu itu akan sangat dihargai. Seperti yang saya katakan, saya seorang newbie yang serius dengan Drupal modul pengubahsuaian tetapi saya akan cuba untuk memikirkan ini sehingga seseorang loceng masuk. Terima kasih terlebih dahulu untuk sesiapa sahaja yang mampu untuk membantu.

chrisolof Attribution Kredit: chrisolof mengulas 15 Disember 2014 pada 18:50

Begitu sejuk untuk mendengar ini semakin digunakan oleh anda semua!

Oleh kerana saya tidak pernah mendengar apa-apa dari penyenggara modul dagang mengenai kemungkinan mendapatkan ini dimasukkan ke dalam Commerce PayPal, saya akan cuba untuk melepaskannya sebagai modul berdiri sendiri sendiri apabila saya masa (diharapkan tidak lama lagi!). Dengan cara itu ia akan mendapat ia barisan keluaran sendiri (membenarkan masyarakat untuk memperbaikinya) dan lebih dapat dicari oleh orang-orang kita yang memerlukan fungsi pembayaran dirantai ini dalam projek dagang kami.

Juga - kerana saya terus mendapat ditanya soalan yang sama tentang bagaimana untuk secara dinamik mewujudkan rantaian pembayaran - jawapan terbaik saya (dan yang saya digunakan dalam projek saya) adalah untuk memastikan untuk memasang Token modul dan penggunaan token off perintah itu membantah sebagai ruang letak dalam konfigurasi rangkaian pembayaran. Dengan bidang rujukan entiti pada perintah itu anda berpotensi boleh menyimpan rujukan kepada pengguna dalam rantaian membayar seperti perintah itu dibuat. Kemudian, dalam konfigurasi Pembayaran dirantai anda boleh menggunakan ruang letak modul Token untuk rujukan alamat e-mel pengguna untuk pengguna disimpan dalam rantaian pembayaran pada perintah itu. Anyway - dengan bidang token dan entiti (pengguna) proses rujukan harus cukup mudah. Saya akan memberikan contoh yang lebih baik dalam README.txt sekali modul ini dilepaskan.

Pengiktirafan bsandor Kredit: bsandor mengulas 11 Januari 2015 pada 21:55

Hanya tertanya-tanya jika commerce_paypal_chained_ipn_delete () yang pernah dipanggil.

Saya tidak dapat melihat aliran keseluruhan modul ini supaya mungkin salah sudah tentu.

Saya tahu terdapat satu modul yang telah ditulis tetapi selepas bercakap dengan @rszrama, saya menulis semula kerja-kerja yang sedia ada (hat-tip kepada OP, @chrisolof, untuk kerja-kerja halus yang telah membantu saya ada). Ia berbeza kerana ia jauh lebih minimum dan membuang banyak ciri-ciri ( "andaian") yang wujud dalam versi Github yang modul.

  • Menyokong bangunan dan hantar PayRequests
  • Menambah API untuk modul lain untuk mengubah suai permintaan pembayaran sebelum dihantar.
  • Menggunakan sistem pemberitahu IPN modul PayPal ini.
  • Banyak dokumentasi pemaju.
  • Debugging dan sokongan pembalakan.

patch awal untuk maklum balas. Barangan yang masih mungkin patut dilakukan:

  • Sokongan untuk permintaan PaymentDetails.
  • UI pembersihan.
  • Pertimbangan dan pelaksanaan IPN pengendali cangkuk untuk API modul ini.

Terdapat banyak perkara yang tidak disokong pada masa ini seperti Preauthorizations dan lain-lain, tetapi ini sekurang-kurangnya menyediakan asas untuk kerja-kerja masa depan.

mglaman Attribution Kredit: mglaman di Commerce Lelaki mengulas 10 Disember 2015 pada 15:24

ulasan yang diterima Snarky

nvahalik Attribution Kredit: nvahalik di Commerce Lelaki mengulas Disember 10, 2015 pada 15:35

1 fail tersembunyi / ditunjukkan / dipadam

Tetap beberapa CP.
Tetap nama fungsi tersalah eja.
Lain Kod ulasan pembersihan.

joshmiller Attribution Kredit: joshmiller di Commerce Lelaki mengulas 10 Disember 2015 pada 15:37

Boleh berkongsi mata wang yang sama dengan kes paypal_wps (pujian kepada Ryan melihat ini)

Mungkin mahu mengeluarkan checkout ekspres dari komen-komen ini.

WPS menyebut gagal

Ingin menggunakan commerce_paypal_currencies ( 'paypal_apc').

Tidak menguji. hanya tangkapan beberapa di atas. Juga didokumenkan maklum balas Ryan dari CG HipChat dalaman (tidak pasti sama ada dia akan hantar ulasan yang lebih menyeluruh).

Dikeluarkan DPM yang ().
Ditambah menu mengubah cangkuk untuk mengatasi panggil balik IPN. Tagged satu isu yang mungkin tidak benar-benar menjadi isu. Pada asasnya, format untuk Adaptive Pembayaran IPN memecah IPN pengendalian yang Commerce PayPal tidak dan beberapa pembersihan perlu dilakukan untuk memastikan bahawa IPN mengesahkan dengan PayPal dengan jayanya. tiket yang terbuka di mana ia masuk akal untuk kita menetapkan dalam modul utama daripada harus kita menetapkan ia di sini di submodul ini.

nvahalik Attribution Kredit: nvahalik di Commerce Lelaki mengulas 18 Disember 2015 pada 15:17

1 fail tersembunyi / ditunjukkan / dipadam

hook_commerce_paypal_adaptive_secondary_transaction ditambah () untuk membolehkan modul untuk memetakan penerima menengah di IPN utama untuk transaksi.
Melaksanakan fungsi pemprosesan IPN utama yang mengendalikan urus niaga utama dalam majlis berasingan dan kemudian kitaran melalui urus niaga sekunder untuk mengemas kini status mereka. Menyokong Dibatalkan, Bidang, dan urus niaga sekunder yang dibayar balik.
sokongan asas dan pembalakan untuk transaksi penerima utama telah ditambah.
Membetulkan masalah dengan transaksi gagal untuk mewujudkan betul tidak betul membuat transaksi gagal pada perintah itu.
Diolah commerce_paypal_adaptive_ipn_override yang () supaya anda benar-benar boleh debug dengannya.
Berubah sebahagian daripada dokumen supaya ia lebih tepat menyampaikan mengapa kod melakukan apa yang ia lakukan (dan tidak membaling batu).
Meletus fungsi yang digunakan untuk menetapkan permintaan supaya mereka boleh diuji lebih baik.

Pengiktirafan vignesh226 Kredit: vignesh226 mengulas 29 Disember 2016 pada 09:38

Hi anda boleh memberi aliran kerja untuk ini?

isu-isu yang berkaitan

dirujuk oleh

Menonton video ini!

Artikel berkaitan

Multi penjual drupal hostingDicatat oleh smoothify pada 11 Disember, 2007 at 01:49 Saya mencatatkan iklan pekerjaan awal hari ini dan mendapat beberapa maklum balas yang baik daripada orang yang bersedia untuk melakukan kerja-kerja sebenar, tetapi juga dari orang-orang yang ...
Multi pilih bidang drupal hostingSaya telah mengubah patch di atas untuk membuat untuk kod lebih bagus bersama-sama dengan menambah komen. Saya rasa beberapa perbincangan perlu mempunyai kira-kira bagaimana untuk mengendalikan pelbagai pilihan pelanggan walaupun, kerana dalam patch pertama ia ...
lapisan terbuka hosting drupalSaya cuba untuk mengikuti nasihat ini di Tetapan OL: Secara lalai laman web anda akan menunjukkan versi perumah perpustakaan OpenLayers, pada openlayers.org/api/2.9/OpenLayers.js.Alternately. awak boleh...
bidang Multi bernilai hosting drupalSaya telah membuat peraturan bahawa apabila jawatan dicipta dalam sistem tiket kami, kami mempunyai medan CCK rujukan nod adalah pengguna boleh dipilih; e-mel dihantar kepada yang notifiying pengguna. Saya membuat peraturan untuk ...
Lock drupal inc hostingArtikel ini menerangkan bagaimana untuk mengkonfigurasi Drupal menggunakan memcached. Memcached adalah objek memori sistem caching sumber terbuka bahawa laman web boleh gunakan untuk membantu mempercepatkan masa beban halaman. Memcached ...