<p>我正在嘗試更新 mollie 中的 webhookUrl 以進行訂閱。舊的 webhookUrl 已經過時了,製作它的程式設計師已經不在我們身邊了。 </p>
<p>這是我正在嘗試使用的 mollie 的連結。在github上檢查了新版本後,我發現更新訂閱的方法有點不同。儘管有差異,我仍然收到錯誤:</p>
<p>致命錯誤:未捕獲錯誤:呼叫未定義的方法 Mollie\Api\Endpoints\SubscriptionEndpoint::update()</p>
<p>這是我用來製作表單的程式碼。我正在嘗試更改 webhookUrl 以連接到 Easy digital Downloads,以便訂閱和授權不會因為無法檢查付款而過期。 </p>
<p>表單(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>Customer id</label>
<input type="text" id="customer_id" name="customer_id" value="" required>
</li>
<li>
<label>Subscription id</label>
<input type="text" id="subscription_id" name="subscription_id" value="" required>
</li>
<li>
<label>Webhook URL</label>
<input type="text" id="webhook_url" name="webhook_url" value="" required>
</li>
<li>
<button type="submit" class="button-primary" name="mollie_update_subscription">Change</button>
</li>
</ul>
</fieldset><!-- End of choose-theme-wrap -->
</div><!-- End of wmcs_admin_body -->
</div>
</form></pre>
<p>表單處理程序:</p>
<pre class="brush:php;toolbar:false;">公用函數change_subscription(){ ?>
mollie_update_subscription($customer_id, $subscription_id, $webhook_url);
}
}
?>
setApiKey(MOLLIE_KEY);(在別處定義)
$訊息=“”;
嘗試 {
$customer = $mollie->customers->get($customer_id);
$subscription = $customer->getSubscription($subscription_id);
$subscription->webhookUrl = $webhook_url;
$subscription->description = '訂閱更新成功';
$mollie->訂閱->update();
$message = "<p>訂閱已更新:" 。 $subscription->id 。 “</p>”;
} catch (\Mollie\Api\Exceptions\ApiException $e) {
$message = "
API 呼叫失敗: " 。 htmlspecialchars($e->getMessage()).'
';
}
返回$訊息;
}</pre>
<p>知道我缺少什麼嗎?我希望這會更新 webhookUrl,以便付款將自動連接到網站上的訂閱。</p>
找到了解決方案。我需要更改這部分:
$mollie->subscriptions->update();
#至
$subscription->update();