On a Civi 5.62.1 or 5.58.1 and WP 6.2.2 vanilla with all plugins except CiviCRM activated and 2023 theme, I am hitting this error upon adding or editing ANY payment processor (Stripe, Dummy, PayPal Standard, etc).
The payment processor technically does save to civicrm_payment_processor
table, but not cleanly. Unsure of "NO DESCRIPTION SET" actually means. I did set a description on the processor.
Civi Error:
Exception: "Cannot determine api action for CRM_Admin_Form_PaymentProcessor.CRM_Core_Action "NO DESCRIPTION SET" not recognized."
#0 /home/example/public_html/wp-content/plugins/civicrm/civicrm/CRM/Core/Form/EntityFormTrait.php(357): CRM_Core_Form->getApiAction()
#1 /home/example/public_html/wp-content/plugins/civicrm/civicrm/CRM/Admin/Form/PaymentProcessor.php(69): CRM_Admin_Form_PaymentProcessor->setEntityFieldsMetadata()
#2 /home/example/public_html/wp-content/plugins/civicrm/civicrm/CRM/Core/Form/EntityFormTrait.php(295): CRM_Admin_Form_PaymentProcessor->setEntityFields()
#3 /home/example/public_html/wp-content/plugins/civicrm/civicrm/CRM/Core/Form.php(379): CRM_Admin_Form_PaymentProcessor->setTranslatedFields()
#4 /home/example/public_html/wp-content/plugins/civicrm/civicrm/CRM/Core/Controller.php(457): CRM_Core_Form->__construct(NULL, NULL, "post", "PaymentProcessor")
#5 /home/example/public_html/wp-content/plugins/civicrm/civicrm/CRM/Core/Controller/Simple.php(64): CRM_Core_Controller->addPages(Object(CRM_Core_StateMachine), NULL)
#6 /home/example/public_html/wp-content/plugins/civicrm/civicrm/CRM/Utils/Wrapper.php(62): CRM_Core_Controller_Simple->__construct("CRM_Admin_Form_PaymentProcessor", NULL, NULL, FALSE, FALSE, FALSE, FALSE)
#7 /home/example/public_html/wp-content/plugins/civicrm/civicrm/CRM/Core/Invoke.php(292): CRM_Utils_Wrapper->run("CRM_Admin_Form_PaymentProcessor", NULL, (Array:0))
#8 /home/example/public_html/wp-content/plugins/civicrm/civicrm/CRM/Core/Invoke.php(69): CRM_Core_Invoke::runItem((Array:16))
#9 /home/example/public_html/wp-content/plugins/civicrm/civicrm/CRM/Core/Invoke.php(36): CRM_Core_Invoke::_invoke((Array:4))
#10 /home/example/public_html/wp-content/plugins/civicrm/civicrm.php(1199): CRM_Core_Invoke::invoke((Array:4))
#11 /home/example/public_html/wp-includes/class-wp-hook.php(308): CiviCRM_For_WordPress->invoke("")
#12 /home/example/public_html/wp-includes/class-wp-hook.php(332): WP_Hook->apply_filters("", (Array:1))
#13 /home/example/public_html/wp-includes/plugin.php(517): WP_Hook->do_action((Array:1))
#14 /home/example/public_html/wp-admin/admin.php(259): do_action("toplevel_page_CiviCRM")
#15 {main}
and
Deprecated: Deprecated function CRM_Financial_BAO_PaymentProcessor::retrieve, use API. in /home/example/public_html/wp-content/plugins/civicrm/civicrm/CRM/Core/Error.php on line 1096
The server error is:
Thu Jun 29 21:23:09.727747 2023] [core:error] [pid 17875:tid 23033501107968] [remote 216.196.254.35:33585] AH00124: Request exceeded the limit of 10 internal redirects due to probable configuration error. Use 'LimitInternalRecursion' to increase the limit if necessary. Use 'LogLevel debug' to get a backtrace., referer: https://example.org/wp-admin/admin.php?page=CiviCRM&q=civicrm%2Fadmin%2FpaymentProcessor%2Fedit&action=update&id=4&reset=1
FWIW, I am able to save other entities like groups, SMS providers and profiles.
Site is only set to non-www everywhere. Thoughts?
Feels like a redirect issue. I've reviewed .htaccess and it is just the standard installation.
Apache Version: 2.4.57
Occurs on both PHP 7.4 and 8.0
Update on 5.63.3:
The payment processor add or edit screen does not load, even if accessing from a payment processor search in SK.
Only a warning is logged:
[warning] Deprecated function CRM_Financial_BAO_PaymentProcessor::retrieve, use API.
A related issue: On membership contribution pages, the contribution fails to record and shows "Failed to update contribution in database " on the front-end with a URL e.g.
and results in this error:
[error] CRM_Contribute_Form_Contribution_Confirm::completeTransaction CRM_Core_Exception: DB Constraint Violation - status_id should possibly be marked as mandatory for Membership,create API. If so, please raise a bug report.
and a few second later:
[error] StripeIPN: processWebhookEvent failed. EventID: evt_1NenHpK2puNhrOvhitPjYPxK : DB Constraint Violation - status_id should possibly be marked as mandatory for Membership,create API. If so, please raise a bug report.
The status of the contribution remains in pending, but the line item is completed:
In Stripe, it shows the subscription is active. So, the issue is on the return back to CiviCRM to update the recurring contribution status and the contribution status also:
The invoice.payment_succeeded Stripe webhook shows success:
This bad behavior occurs with an auto-renew membership required and a one-time membership. Disabling premiums made no difference. So all instances of membership contributions.
Regular contributions process OK.