impress-org / givewp

GiveWP - The #1 Donation Plugin for WordPress. Easily accept donations and fundraise using your WordPress website.
https://givewp.com/
GNU General Public License v3.0
345 stars 191 forks source link

Fatal error when using Mollie Gateway #4466

Closed Marcoevich closed 4 years ago

Marcoevich commented 4 years ago

Bug Report

User Story

Last friday we updated the website and all plugins. Now we haven't received a single donation over the weekend. I've checked and it seems there's an incompatibility error between Give Core and Mollie Gateway plugin. Simply reverting Mollie Gateway (current 1.3.1. to previous version 1.2.1) didn't help. We cannot receive any donations right now, so I hope you can fix this for us.

Current Behavior

Submitting the payment leads to these PHP errors:

Warning: array_merge(): Expected parameter 1 to be an array, string given in /home/louterbl/public_html/wp-content/plugins/give-form-field-manager/includes/class-frontend-form.php on line 326

Fatal error: Uncaught Error: Call to a member function createPayment() on bool in /home/louterbl/public_html/wp-content/plugins/give-mollie/includes/class-give-mollie-api.php:193 Stack trace: #0 /home/louterbl/public_html/wp-content/plugins/give-mollie/includes/class-give-mollie-gateway.php(126): Give_Mollie_API->create_payment(Array) #1 /home/louterbl/public_html/wp-includes/class-wp-hook.php(288): Give_Mollie_Gateway->process_payment(Array) #2 /home/louterbl/public_html/wp-includes/class-wp-hook.php(312): WP_Hook->apply_filters(NULL, Array) #3 /home/louterbl/public_html/wp-includes/plugin.php(478): WP_Hook->do_action(Array) #4 /home/louterbl/public_html/wp-content/plugins/give/includes/gateways/functions.php(186): do_action('give_gateway_mo...', Array) #5 /home/louterbl/public_html/wp-content/plugins/give/includes/process-donation.php(206): give_send_to_gateway('mollie', Array) #6 /home/louterbl/public_html/wp-includes/class-wp-hook.php(288): give_process_donation_form(Array) #7 /home/louterbl/public_html/wp-includes/cl in /home/louterbl/public_html/wp-content/plugins/give-mollie/includes/class-give-mollie-api.php on line 193

Expected Behavior

I expect to proceed to Mollie Payement Gateway, but got error instead.

Bug Type

Steps to Reproduce

  1. Try to make a donation here: https://louterbloemen.nl/bouw-mee/
  2. Submit donation, receive PHP errors

Visuals

Related

From the logs in Donations > Tools: Give Mollie returned an error while retrieveing a subscription. Details: Invalid resource id.

Also see error under "Current Behaviour".

Acceptance Criteria

Environment

Win 10 1909 x64. Laptop. Domain Joined.
  • Platform: Windows 10 1909 64-bit
  • Version: 1909
Browser Chrome
  • Name: Chrome
  • Version: 79.0.3945.130
WordPress System Info ### WordPress Environment ### Home URL: https://louterbloemen.nl Site URL: https://louterbloemen.nl WP Version: 5.3.2 WP Multisite: – WP Memory Limit: 768 MB WP Debug Mode: ✔ WP Cron: ✔ Language: nl_NL Permalink Structure: /%postname%/ Show on Front: page Page on Front: Home (#62) Page for Posts: Unset Table Prefix Length: wprc_ Table Prefix Length: 5 Table Prefix Status: Acceptable Admin AJAX: Accessible Registered Post Statuses: publish, future, draft, pending, private, trash, auto-draft, inherit, request-pending, request-confirmed, request-failed, request-completed, acf-disabled, refunded, failed, revoked, cancelled, abandoned, processing, preapproval, tribe-ea-success, tribe-ea-failed, tribe-ea-schedule, tribe-ea-pending, tribe-ea-draft, tribe-ignored, give_subscription ### Server Environment ### Hosting Provider: DBH: localhost, SRV: louterbloemen.nl TLS Connection: Connection uses TLS 1.2 TLS Connection: Probably Okay Server Info: Apache PHP Version: 7.3.14 PHP Post Max Size: 128 MB PHP Time Limit: 500 PHP Max Input Vars: 3000 PHP Max Upload Size: 128 MB cURL Version: 7.59.0, OpenSSL/1.0.2r SUHOSIN Installed: – MySQL Version: 5.6.40 Default Timezone is UTC: ✔ fsockopen/cURL: ✔ SoapClient: ✔ DOMDocument: ✔ gzip: ✔ GD Graphics Library: ✔ Multibyte String: ✔ Remote Post: ✔ Remote Get: ✔ ### GiveWP Configuration ### GiveWP Version: 2.5.13 GiveWP Cache: Enabled Database Updates: All DB Updates Completed. Database Tables: ✔ wprc_give_donors - 1.0✔ wprc_give_donormeta - 1.0✔ wprc_give_comments - 1.0✔ wprc_give_commentmeta - 1.0✔ wprc_give_sessions - 1.0✔ wprc_give_logs - 1.0✔ wprc_give_logmeta - 1.0✔ wprc_give_formmeta - 1.0✔ wprc_give_sequential_ordering - 1.0✔ wprc_give_donationmeta - 1.0 GiveWP Cache: Enabled GiveWP Cache: ✔New Donation✔Donation Receipt❌New Offline Donation❌Offline Donation Instructions✔New User Registration✔User Registration Information✔Donation Note✔Email access❌Daily Email Report✔Weekly Email Report✔Monthly Email Report❌Renewal Receipt Email❌Renewal Receipt Email❌Subscription Cancelled Email❌Subscription Cancelled Email❌Subscription Completed Email❌Subscription Reminder Email✔Subscriptions Email Access✔Subscription Payment Failed Email Upgraded From: 2.5.3 Test Mode: Disabled Currency Code: EUR Currency Position: Before Decimal Separator: , Thousands Separator: . Success Page: https://louterbloemen.nl/donatie-bevestiging/ Failure Page: https://louterbloemen.nl/donatie-mislukt/ Donation History Page: https://louterbloemen.nl/donatiegeschiedenis/ GiveWP Forms Slug: /donations/ Enabled Payment Gateways: Mollie Gateway Default Payment Gateway: Mollie Gateway PayPal IPN Verification: Enabled PayPal IPN Notifications: N/A Donor Email Access: Enabled Stripe Webhook Notifications: N/A ### Active GiveWP Add-ons ### Give - Email Reports: ✔ Licensed – by GiveWP – 1.1.4 Give - Fee Recovery: ✔ Licensed – by GiveWP – 1.7.7 Give - Form Field Manager: ✔ Licensed – by GiveWP – 1.4.4 Give - Google Analytics Donation Tracking: ✔ Licensed – by GiveWP – 1.2.4 Give - MailChimp: ✔ Licensed – by GiveWP – 1.4.5 Give - Mollie Gateway: ✔ Licensed – by GiveWP – 1.2.1 Give - PDF Receipts: ✔ Licensed – by GiveWP – 2.3.6 Give - Recurring Donations: ✔ Licensed – by GiveWP – 1.9.10 ### Other Active Plugins ### 404page - your smart custom 404 error page: by Peter Raschendorfer – 11.2.1 ACF Content Analysis for Yoast SEO: by Thomas Kräftner, ViktorFroberg, marol87, pekz0r, angrycreative, Team Yoast – 2.3.0 Activity Log: by Activity Log Team – 2.5.2 Advanced Custom Fields PRO: by Elliot Condon – 5.8.7 Analytics Spam Blocker: by Arnan de Gans – 2.9.2 Classic Editor: by WordPress Contributors – 1.5 Coming Soon Page, Under Construction & Maintenance Mode by SeedProd: by SeedProd – 5.1.0 Cookie Notice: by dFactory – 1.2.50 Download Monitor: by Never5 – 4.4.2 Duplicate Page: by mndpsingh287 – 4.0 Fusion Builder: by ThemeFusion – 2.1.2 Fusion Core: by ThemeFusion – 4.1.2 Fusion White Label Branding: by ThemeFusion – 1.1.3 Google Analytics Dashboard for WP (GADWP): by ExactMetrics – 5.3.10 Gravity Forms: by rocketgenius – 2.4.16 Loco Translate: by Tim Whitlock – 2.3.1 MC4WP: Mailchimp for WordPress: by ibericode – 4.7.4 Members: by Justin Tadlock – 2.2.0 Ninja Forms: by The WP Ninjas – 3.4.22 Ninja Forms - Conditional Logic: by The WP Ninjas – 3.0.26 Ninja Forms - Layout & Styles: by The WP Ninjas – 3.0.28 PWA: by PWA Plugin Contributors – 0.3.0 SG Optimizer: by SiteGround – 5.4.3 The Events Calendar: by Modern Tribe, Inc. – 4.9.5 UpdraftPlus - Backup/Restore: by UpdraftPlus.Com, DavidAnderson – 1.16.21 Wordfence Security: by Wordfence – 7.4.5 WP Extra File Types: by Davide Airaghi – 0.4.4.1 WP Flickity: by PaoloFalomo – 0.5.1 WP Mail SMTP: by WPForms – 1.8.1 WP Sitemap Page: by Tony Archambeau – 1.6.2 Yoast SEO: by Team Yoast – 12.9.1 ### Inactive Plugins ### Category Tag Pages: by Marzio Carro – 1.0 Duplicator: by Snap Creek – 1.3.24 Enable Media Replace: by ShortPixel – 3.3.7 Give - Manual Donations: by GiveWP – 1.4.6 Give - Tributes: by GiveWP – 1.5.6 Link Checker: by Marco Beierer – 1.18.0 Ninja Forms - File Uploads: by The WP Ninjas – 3.0.22 Ninja Forms - Multi-Part Forms: by The WP Ninjas – 3.0.26 Regenerate Thumbnails: by Alex Mills (Viper007Bond) – 3.1.2 WP-Optimize - Clean, Compress, Cache: by David Anderson, Ruhani Rabin, Team Updraft – 3.0.16 ### Theme ### Name: Louterbloemen Version: 1.0.0 Author URL: https://www.planatstudio.com Child Theme: Yes Parent Theme Name: Avada Parent Theme Version: 6.1.2 Parent Theme Author URL: http://themeforest.net/user/ThemeFusion
ravinderk commented 4 years ago

@Marcoevich Thank you for creating a ticket. I will debug this and fix it asap.

Marcoevich commented 4 years ago

Thank you @ravinderk. Let me know if you need anything else to help debug the issue.

ravinderk commented 4 years ago

@Marcoevich I have isolated this issue and that is related to a conflict between Molly and forms field manager.

Can you disable form field manager and check if that works for you?

Marcoevich commented 4 years ago

@ravinderk, thank you! That is indeed the issue. Disabling that plugin resolved it for now.

Benunc commented 4 years ago

@Marcoevich Thanks so much for such a detailed ticket that allowed us to get to the issue directly. I am going to move this issue to a private repository related to the add-ons, so that we can resolve it there.

watch the changelogs in upcoming releases of the Mollie add-on and Form Field Manager to note when this is resolved.

Marcoevich commented 4 years ago

@Benunc you're welcome! Thank you all for so quickly providing a workaround for this issue.

ravinderk commented 4 years ago

Issue moved to impress-org/give-mollie #41 via ZenHub

Marcoevich commented 4 years ago

Hi @ravinderk I want to reopen this one. Sometimes this issue comes back even while the plugin is disabled. Also I use the browser in incognito mode to rule out cache. See this video which I was recording for another bug and then this happens: https://www.screencast.com/t/hw9RwabO

Error here:

Fatal error: Uncaught Error: Call to a member function createPayment() on bool in /home/louterbl/public_html/wp-content/plugins/give-mollie/includes/class-give-mollie-api.php:193 Stack trace: #0 /home/louterbl/public_html/wp-content/plugins/give-mollie/includes/class-give-mollie-gateway.php(126): Give_Mollie_API->create_payment(Array) #1 /home/louterbl/public_html/wp-includes/class-wp-hook.php(288): Give_Mollie_Gateway->process_payment(Array) #2 /home/louterbl/public_html/wp-includes/class-wp-hook.php(312): WP_Hook->apply_filters(NULL, Array) #3 /home/louterbl/public_html/wp-includes/plugin.php(478): WP_Hook->do_action(Array) #4 /home/louterbl/public_html/wp-content/plugins/give/includes/gateways/functions.php(186): do_action('give_gateway_mo...', Array) #5 /home/louterbl/public_html/wp-content/plugins/give/includes/process-donation.php(206): give_send_to_gateway('mollie', Array) #6 /home/louterbl/public_html/wp-includes/class-wp-hook.php(288): give_process_donation_form(Array) #7 /home/louterbl/public_html/wp-includes/cl in /home/louterbl/public_html/wp-content/plugins/give-mollie/includes/class-give-mollie-api.php on line 193

Marcoevich commented 4 years ago

image

ravinderk commented 4 years ago

@Marcoevich I closed this issue because it is not happening because of Give. It is related to Give form field manager and Give Mollie and I created an issue for each. Since they are private repo, so you can not see their issue.

Please create a ticket here Priority Support, if not created. We will keep you updated there.