Heim  >  Fragen und Antworten  >  Hauptteil

Das WebhookUrl-Update im WordPress-Plugin führt zu einem schwerwiegenden Fehler: Nicht erfasster Fehler: Aufruf der undefinierten Methode Mollie\Api\Endpoints\SubscriptionEndpoint::update()

<p>Ich versuche, die Webhook-URL in Mollie für das Abonnement zu aktualisieren. Die alte webhookUrl ist veraltet und die Programmierer, die sie erstellt haben, sind nicht mehr bei uns. </p> <p>Hier ist ein Link zu dem Mollie, das ich verwenden möchte. Nachdem ich die neue Version auf Github überprüft hatte, stellte ich fest, dass die Methode zum Aktualisieren von Abonnements etwas anders ist. Trotz der Unterschiede erhalte ich immer noch die Fehlermeldung: </p> <p>Schwerwiegender Fehler: Nicht erfasster Fehler: Aufruf der undefinierten Methode MollieApiEndpointsSubscriptionEndpoint::update()</p> <p>Dies ist der Code, den ich zum Erstellen des Formulars verwendet habe. Ich versuche, die Webhook-URL zu ändern, um eine Verbindung zu Easy Digital Downloads herzustellen, damit das Abonnement und die Lizenz nicht ablaufen, weil die Zahlung nicht überprüft werden kann. </p> <p>Formular (admin__update_subscription.php): </p> <pre class="brush:php;toolbar:false;"><form id="wmcs-form" method="post"> <div class="wmcs_admin_card"> <div class="wmcs_admin_body"> <fieldset class="choose-theme-wrap radio-boxes dp-tabular"> <ul> <li> <label>Kundennummer</label> <input type="text" id="customer_id" </li> <li> <label>Abonnement-ID</label> <input type="text" id="subscription_id" </li> <li> <label>Webhook-URL</label> <input type="text" id="webhook_url" </li> <li> <button type="submit" class="button-primary" name="mollie_update_subscription">Change</button> </li> </ul> </fieldset><!-- Ende von Choose-Theme-Wrap --> </div><!-- Ende von wmcs_admin_body --> </div><!-- Ende von wmcs_admin_card --> </form></pre> <p>表单处理程序:</p> <pre class="brush:php;toolbar:false;">public function change_subscription(){ ?> <div class="wrap"> <?php if(isset($_POST['mollie_update_subscription'])){ if(!empty($_POST['customer_id']) && !empty($_POST['subscription_id'])){ $customer_id = sanitize_text_field($_POST['customer_id']); $subscription_id = sanitize_text_field($_POST['subscription_id']); $webhook_url = sanitize_text_field($_POST['webhook_url']); // $orderID = sanitize_text_field($_POST['order_id']); // $orderKey = sanitize_text_field($_POST['order_key']); echo $this->mollie_update_subscription($customer_id, $subscription_id, $webhook_url); } } ?> <h2><?php _e('Abonnement-URL ändern'); ?></h2> <div id="Funktionen" class="wmcs-tabs"> <?php require_once('admin__update_subscription.php'); ?> </div> <!-- Ende der Einstellungen --> <?php }</pre> <p>莫莉更新请求:</p> <pre class="brush:php;toolbar:false;">public function mollie_update_subscription($customer_id, $subscription_id, $webhook_url){ $mollie = new MollieApiMollieApiClient(); $mollie->setApiKey(MOLLIE_KEY);(an anderer Stelle definiert) $message = ""; versuchen { $customer = $mollie->customers->get($customer_id); $subscription = $customer->getSubscription($subscription_id); $subscription->webhookUrl = $webhook_url; $subscription->description = 'Abonnementaktualisierung erfolgreich'; $mollie->subscriptions->update(); $message = "<p>Abonnement aktualisiert: " . $subscription->id . "</p>"; } Catch (MollieApiExceptionsApiException $e) { $message = "<div class='alert Alert-Danger' Role='alert'>API-Aufruf fehlgeschlagen: " . htmlspecialchars($e->getMessage()).'</div>'; } $message zurückgeben; }</pre> <p>
P粉993712159P粉993712159434 Tage vor541

Antworte allen(1)Ich werde antworten

  • P粉685757239

    P粉6857572392023-09-04 23:16:22

    找到了解决方案。我需要更改这部分:

    $mollie->subscriptions->update();

    $subscription->update();

    Antwort
    0
  • StornierenAntwort