<p>サブスクリプション用に mollie の webhookUrl を更新しようとしています。古い webhookUrl は廃止され、それを作成したプログラマーはもう存在しません。 </p>
<p>ここに私が使用しようとしている mollie へのリンクがあります。 github で新しいバージョンを確認したところ、サブスクリプションの更新方法が少し異なることがわかりました。違いがあるにもかかわらず、次のエラーが発生します: </p>
<p>致命的なエラー: キャッチされないエラー: 未定義のメソッド Mollie\Api\Endpoints\SubscriptionEndpoint::update() の呼び出し</p>
<p>これはフォームを作成するために使用したコードです。支払いを確認できないためにサブスクリプションとライセンスが期限切れにならないように、Easy Digital Downloads に接続するように webhookUrl を変更しようとしています。 </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">
- ;
<label>顧客 ID</label>
<input type="text" id="customer_id" name="customer_id" value="" required>
</li>
- ;
<label>サブスクリプション ID</label>
<input type="text" id="subscription_id" name="subscription_id" value="" required>
</li>
- ;
<label>Webhook URL</label>
<input type="text" id="webhook_url" name="webhook_url" value="" 必須>
</li>
- ;
<button type="submit" class="button-primary" name="mollie_update_subscription">Change</button>
</li>
</ul>
</fieldset><!--choose-theme-wrap の終了 -->
</div><!-- wmcs_admin_body の終わり -->
</div><!-- wmcs_admin_card の終わり -->
</form></pre>
<p>表单处理程序:</p>
<pre class="brush:php;toolbar:false;">パブリック関数change_subscription(){ ?>
<div class="ラップ">
<?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('購読 URL の変更'); ?>
<div id="機能" class="wmcs-tabs">
<?php
require_once('admin__update_subscription.php');
?>
</div> <!-- 設定終了 -->
<?php
}</pre>
<p>莫莉更新要求:</p>
<pre class="brush:php;toolbar:false;">パブリック関数 mollie_update_subscription($customer_id, $subscription_id, $webhook_url){
$mollie = 新しい \Mollie\Api\MollieApiClient();
$mollie->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 = "<div class='alert warning-danger' role='alert'>API 呼び出しが失敗しました: " 。 htmlspecialchars($e->getMessage()).'</div>';
}
$message を返します。
}</pre>
<p>私たちが何かを減らしていることを知っていますか?これにより、ウェブサイト上の承認ボタンを有料化するために WebhookUrl を更新することを希望します。
解決策が見つかりました。この部分を変更する必要があります:
###に### $サブスクリプション->更新();$mollie->サブスクリプション->update();