Body: <p>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).</p>
  <p>The payment processor technically does save to <code>civicrm_payment_processor</code>table, but not cleanly. Unsure of &quot;NO DESCRIPTION SET&quot; actually means. I did set a description on the processor.</p>
  <h2>Civi Error:</h2>
  <pre><code>Exception: &quot;Cannot determine api action for CRM_Admin_Form_PaymentProcessor.CRM_Core_Action &quot;NO DESCRIPTION SET&quot; not recognized.&quot;
  
  #0 /home/example/public_html/wp-content/plugins/civicrm/civicrm/CRM/Core/Form/EntityFormTrait.php(357): CRM_Core_Form-&gt;getApiAction()
  #1 /home/example/public_html/wp-content/plugins/civicrm/civicrm/CRM/Admin/Form/PaymentProcessor.php(69): CRM_Admin_Form_PaymentProcessor-&gt;setEntityFieldsMetadata()
  #2 /home/example/public_html/wp-content/plugins/civicrm/civicrm/CRM/Core/Form/EntityFormTrait.php(295): CRM_Admin_Form_PaymentProcessor-&gt;setEntityFields()
  #3 /home/example/public_html/wp-content/plugins/civicrm/civicrm/CRM/Core/Form.php(379): CRM_Admin_Form_PaymentProcessor-&gt;setTranslatedFields()
  #4 /home/example/public_html/wp-content/plugins/civicrm/civicrm/CRM/Core/Controller.php(457): CRM_Core_Form-&gt;__construct(NULL, NULL, &quot;post&quot;, &quot;PaymentProcessor&quot;)
  #5 /home/example/public_html/wp-content/plugins/civicrm/civicrm/CRM/Core/Controller/Simple.php(64): CRM_Core_Controller-&gt;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-&gt;__construct(&quot;CRM_Admin_Form_PaymentProcessor&quot;, NULL, NULL, FALSE, FALSE, FALSE, FALSE)
  #7 /home/example/public_html/wp-content/plugins/civicrm/civicrm/CRM/Core/Invoke.php(292): CRM_Utils_Wrapper-&gt;run(&quot;CRM_Admin_Form_PaymentProcessor&quot;, 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-&gt;invoke(&quot;&quot;)
  #12 /home/example/public_html/wp-includes/class-wp-hook.php(332): WP_Hook-&gt;apply_filters(&quot;&quot;, (Array:1))
  #13 /home/example/public_html/wp-includes/plugin.php(517): WP_Hook-&gt;do_action((Array:1))
  #14 /home/example/public_html/wp-admin/admin.php(259): do_action(&quot;toplevel_page_CiviCRM&quot;)
  #15 {main}
  </code></pre>
  <p>and</p>
  <pre><code>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
  </code></pre>
  <h2>The server error is:</h2>
  <pre><code>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&amp;q=civicrm%2Fadmin%2FpaymentProcessor%2Fedit&amp;action=update&amp;id=4&amp;reset=1
  </code></pre>
  <p>FWIW, I am able to save other entities like groups, SMS providers and profiles.</p>
  <p>Site is only set to non-www everywhere. Thoughts?</p>
  <p>Feels like a redirect issue. I've reviewed .htaccess and it is just the standard installation.</p>
  <p>Apache Version: 2.4.57</p>
  <p>Occurs on both PHP 7.4 and 8.0</p>
  <h2>Update on 5.63.3:</h2>
  <p>The payment processor add or edit screen does not load, even if accessing from a payment processor search in SK.</p>
  <p><a href="https://i.sstatic.net/WmlDY.png" rel="nofollow noreferrer"><img src="https://i.sstatic.net/WmlDY.png" alt="enter image description here" /></a></p>
  <p>Only a warning is logged:</p>
  <pre><code>[warning] Deprecated function CRM_Financial_BAO_PaymentProcessor::retrieve, use API. 
  </code></pre>
  <p>A related issue: On membership contribution pages, the contribution fails to record and shows &quot;Failed to update contribution in database &quot; on the front-end with a URL e.g.</p>
  <p><a href="https://example.org/civicrm/contribute/transact/?_qf_Main_display=true&amp;qfKey=CRMContributeControllerContributionngt357t9bnkwggs0k4gocc0wgwwk4g8k0cwscow4k0kwk84oc_1801" rel="nofollow noreferrer">https://example.org/civicrm/contribute/transact/?_qf_Main_display=true&amp;qfKey=CRMContributeControllerContributionngt357t9bnkwggs0k4gocc0wgwwk4g8k0cwscow4k0kwk84oc_1801</a></p>
  <p>and results in this error:</p>
  <pre><code>[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.
  </code></pre>
  <p>and a few second later:</p>
  <pre><code>[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. 
  </code></pre>
  <p>The status of the contribution remains in pending, but the line item is completed:</p>
  <p><a href="https://i.sstatic.net/Fid1n.png" rel="nofollow noreferrer"><img src="https://i.sstatic.net/Fid1n.png" alt="enter image description here" /></a></p>
  <p>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:
  <a href="https://i.sstatic.net/wBRL3.png" rel="nofollow noreferrer"><img src="https://i.sstatic.net/wBRL3.png" alt="enter image description here" /></a></p>
  <p>The invoice.payment_succeeded Stripe webhook shows success:</p>
  <p><a href="https://i.sstatic.net/VTJm6.png" rel="nofollow noreferrer"><img src="https://i.sstatic.net/VTJm6.png" alt="enter image description here" /></a></p>
  <p>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.</p>
  <p><strong>Regular contributions process OK.</strong></p>
  
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2023-06-30T15:13:42.153Z
Comments.Text: When you try to do this from the user interface does it refresh the page when you choose the payment processor? If so I'm having the same problem. No fix, sorry.
Comments.UserDisplayName: Cozy4907
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2023-06-30T15:20:53.920Z
Comments.Text: Yes, they refresh OK. Seems like a LimitInternalRecursion redirect issue.
Comments.UserDisplayName: Andy Burns
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2023-06-30T19:33:19.433Z
Comments.Text: Do you have the Admin UI extension enabled? If so try disabling it.
Comments.UserDisplayName: Coleman
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2023-06-30T19:50:24.273Z
Comments.Text: No Admin UI extension. I've disabled all extensions.
Comments.UserDisplayName: Andy Burns
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2023-06-30T22:21:58.343Z
Comments.Text: Do you have access to the db. Could you look at the payment processor table in case you can spot anything odd there. There is (should be) a description field in there but don't see why it would be complaining. unlikely to be a helpful comment but only idea i have
Comments.UserDisplayName: petednz - fuzion
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2023-07-02T15:37:25.173Z
Comments.Text: Nothing abnormal. I tried setting the description in both the form and db and re-saving to no avail.
Comments.UserDisplayName: Andy Burns
Tags: <civimember><payment-processor><recurring-contributions><webserver>
Title: Cannot add or edit a payment processor without error. Membership contribution "Failed to update contribution in database"
ThreadText: # Cannot add or edit a payment processor without error. Membership contribution "Failed to update contribution in database"
  
  (Asked by: username_0 on 2023-06-30)
  
  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.
  
  [![enter image description here](https://i.sstatic.net/WmlDY.png)](https://i.sstatic.net/WmlDY.png)
  
  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.
  
  <https://example.org/civicrm/contribute/transact/?_qf_Main_display=true&qfKey=CRMContributeControllerContributionngt357t9bnkwggs0k4gocc0wgwwk4g8k0cwscow4k0kwk84oc_1801>
  
  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:
  
  [![enter image description here](https://i.sstatic.net/Fid1n.png)](https://i.sstatic.net/Fid1n.png)
  
  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:
  [![enter image description here](https://i.sstatic.net/wBRL3.png)](https://i.sstatic.net/wBRL3.png)
  
  The invoice.payment\_succeeded Stripe webhook shows success:
  
  [![enter image description here](https://i.sstatic.net/VTJm6.png)](https://i.sstatic.net/VTJm6.png)
  
  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.**
  
  **Tags:** civimember, payment-processor, recurring-contributions, webserver
  
  > **Comments:**
  > **username_1**: When you try to do this from the user interface does it refresh the page when you choose the payment processor? If so I'm having the same problem. No fix, sorry.  
  > **username_0**: Yes, they refresh OK. Seems like a LimitInternalRecursion redirect issue.  
  > **username_2**: Do you have the Admin UI extension enabled? If so try disabling it.  
  > **username_0**: No Admin UI extension. I've disabled all extensions.  
  > **username_3**: Do you have access to the db. Could you look at the payment processor table in case you can spot anything odd there. There is (should be) a description field in there but don't see why it would be complaining. unlikely to be a helpful comment but only idea i have  
  > **username_0**: Nothing abnormal. I tried setting the description in both the form and db and re-saving to no avail.  
  
  ---
  
  ## 0 answers
  
  