Kemas kini WebhookUrl dalam pemalam WordPress mengakibatkan ralat maut: Ralat Tidak Ditangkap: Panggilan ke kaedah yang tidak ditentukan Mollie\Api\Endpoints\SubscriptionEndpoint::update()
P粉993712159
2023-09-04 00:15:50
<p>Saya cuba mengemas kini webhookUrl dalam mollie untuk langganan. WebhookUrl lama sudah usang dan pengaturcara yang membuatnya tidak lagi bersama kami. </p>
<p>Berikut ialah pautan kepada mollie yang saya cuba gunakan. Selepas menyemak versi baharu pada github, saya mendapati kaedah mengemas kini langganan adalah sedikit berbeza. Walaupun terdapat perbezaan, saya masih mendapat ralat: </p>
<p>Ralat maut: Ralat tidak ditangkap: Panggilan ke kaedah tidak ditentukan MollieApiEndpointsSubscriptionEndpoint::update()</p>
<p>Ini adalah kod yang saya gunakan untuk membuat borang. Saya cuba menukar webhookUrl untuk menyambung ke Muat Turun digital Mudah supaya langganan dan lesen tidak tamat tempoh kerana ketidakupayaan untuk menyemak pembayaran. </p>
<p>Borang (admin__update_subscription.php): </p>
<pre class="brush:php;toolbar:false;"><form id="wmcs-form"
<div class="wmcs_admin_card">
<div class="wmcs_admin_body">
<fieldset class="pilih-tema-balut kotak radio dp-jadual">
<ul>
<li>
<label>Id pelanggan</label>
<jenis input="teks"id="nama_pelanggan"
</li>
<li>
<label>ID Langganan</label>
<jenis input="teks"id="subscription_id"nama_langganan"
</li>
<li>
<label>URL Webhook</label>
<jenis input="teks"id="webhook_url"nilai_url=""
</li>
<li>
<jenis butang="serahkan"kelas="button-primary"nama="mollie_update_subscription">Tukar</button>
</li>
</ul>
</fieldset><!-- Tamat pilihan-balut-tema -->
</div><!-- Tamat wmcs_admin_body -->
</div><!-- Tamat wmcs_admin_card -->
</form></pre>
<p>表单处理程序:</p>
<pre class="brush:php;toolbar:false;">public function change_subscription(){ ?>
<div class="balut">
<?php
if(isset($_POST['mollie_update_subscription'])){
if(!kosong($_POST['id_pelanggan']) && !kosong($_POST['id_langganan'])){
$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('Tukar URL Langganan'); ?></h2>
<div id="Ciri" class="wmcs-tabs">
<?php
require_once('admin__update_subscription.php');
?>
</div> <!-- Tamat Tetapan -->
<?php
}</pre>
<p>莫莉更新请求:</p>
<pre class="brush:php;toolbar:false;">fungsi awam mollie_update_subscription($customer_id, $subscription_id, $webhook_url){
$mollie = new MollieApiMollieApiClient();
$mollie->setApiKey(MOLLIE_KEY);(ditakrifkan di tempat lain)
$mesej = "";
cuba {
$customer = $mollie->customer->get($customer_id);
$subscription = $customer->getSubscription($subscription_id);
$langganan->webhookUrl = $webhook_url;
$subscription->description = 'berjaya kemas kini langganan';
$mollie->langganan->kemas kini();
$message = "<p>Langganan dikemas kini: " . $langganan->id . "</p>";
} tangkapan (MollieApiExceptionsApiException $e) {
$message = "<div class='alert alert-danger' role='alert'>Panggilan API gagal: " . htmlspecialchars($e->getMessage()).'</div>';
}
pulangkan $mesej;
}</pre>
<p>知道我缺少什么吗?我希望这会更新 webhookUrl,以便付款将自动连接到网管
Menemui penyelesaiannya. Saya perlu menukar bahagian ini:
$mollie->subscriptions->update();
kepada
$subscription->update();