MemberPress Entwickler-Tools Add-on erweitert MemberPress um eine vollständige REST-API und vollständige Webhook-Ereignisfähigkeit.
If the documentation on this page seems light for developer tools, that’s because all the documentation for the webhook events and REST API URLs can be found in the plugin’s interface. The interface will actually give you dynamic results to work from and the ability to test webhooks directly from your site. You may also refer to the following additional docs for more info:
- Entwickler-Tools-Aktionen
- Entwicklertools Ereignisauslöser
- Hinzufügen von Usermeta über REST API (Entwickler-Tools)
Getting started couldn’t be easier… here’s how
- Stellen Sie sicher, dass Ihr MemberPress-Aktivierungsschlüssel für die MemberPress Skalierte Ausgabe.
- Um das MemberPress Developer Tools Add-on zu installieren, gehen Sie auf die Seite MemberPress > Add-ons, und klicken Sie auf die Schaltfläche "Add-on installieren".

- To use the MemberPress REST API, you’ll need to run WordPress 4.7+
- Sobald das Add-on Developer Tools installiert und aktiviert ist, sollten Sie einen neuen Eintrag in Ihrem MemberPress-Menü sehen:

- From the Developer Menu, you’ll now be able to setup webhooks, view dynamic documentation on and test webhook events and view dynamic documentation on all MemberPress REST API URLs:



Beispiel PHP cURL Code
Dieses Beispiel fügt ein Mitglied hinzu, ordnet es einer Mitgliedschaft zu (über eine Transaktion) und löst dabei eine Willkommens-E-Mail aus:
'testingboy897@test.com',
'username' => 'testingboy897@test.com',
'vorname' => 'test',
'nachname' => 'test_nachname',
'send_welcome_email' => true, // Auslösen einer Willkommens-E-Mail - dies funktioniert nur, wenn eine Transaktion hinzugefügt wird (siehe unten)
'Transaktion' => [
'membership' => 376, // ID der Mitgliedschaft
'Betrag' => '0.00',
'gesamt' => '0.00',
'tax_amount' => '0.00',
'steuer_satz' => '0.000',
'trans_num' => 'mp-txn-' . uniqid(),
'status' => 'complete',
'gateway' => 'frei',
'created_at' => gmdate( 'c' ),
'expires_at' => '0000-00-00 00:00:00'
]
]
);
curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true );
curl_setopt( $ch, CURLOPT_CUSTOMREQUEST, "POST" );
curl_setopt( $ch, CURLOPT_POSTFIELDS, $data_string );
$header = array();
$header[] = 'MEMBERPRESS-API-KEY: MgCUGSO5Qg'; // Ihr API-KEY von MemberPress Developer Tools hier
$header[] = 'Inhalt-Typ: application/json';
$header[] = 'Inhalts-Länge: ' . strlen($data_string);
curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
$response = curl_exec($ch);
if(curl_errno($ch)){
throw new Exception(curl_error($ch));
}
echo $response;
curl_close($ch);
Webhook-Schlüssel
Seit MemberPress Developer Tools Add-on 1.2.5 haben wir eine Webhook-Schlüssel-Einstellung eingeführt, die Sie im MemberPress-Menü > Entwickler > Registerkarte Webhook finden.

Sie können den Schlüssel verwenden, um Webhook-POST-Anfragen zu authentifizieren. Er wird automatisch vom MemberPress-Add-on generiert, aber wenn Sie glauben, dass Ihr Schlüssel kompromittiert wurde, können Sie jederzeit einen neuen Webhook-Schlüssel generieren.
To validate the webhook request, fetch HTTP headers and look for memberpress-webhook-key. Here’s an example of an HTTP header with memberpress-webhook-key received after creating a new Webhook URL in the MemberPress menu > Developers > Webhook tab and listening to signup events:

Fehlerbehebung bei der Basisauthentifizierung
Die bevorzugte Methode zur Authentifizierung ist der API-Schlüssel, der von MemberPress Developer Tools bereitgestellt wird. Wir wissen jedoch, dass viele von Ihnen auch die weniger sichere Methode der Basis-Authentifizierung verwenden, um sich mit der WP-API zu verbinden. Dies kann jedoch ein paar Herausforderungen mit sich bringen, bei denen Ihnen die folgenden Informationen helfen können.
If you’re struggling to get Basic Authentication to work, be sure you’ve
das Plugin für Anwendungskennwörter installiert und befolgte dessen Anweisungen.
Eine typische Basic Auth-Anfrage sieht wie folgt aus:
Name der Überschrift:
Autorisierung
Kopfzeile Wert:
Basic base64_encode( wp_admin_user_login_here:application_passwords_password_here )
Ihr Benutzer sollte die
remove_users Fähigkeit, oder MemberPress Developer Tools gibt eine 401-Antwort zurück.

If you’re still unable to authenticate, then your hosting server may have some configuration issues.
Lesen Sie hier mehr über die häufigste Ursache. The Application Passwords plugin must have the PHP_AUTH_USER and PHP_AUTH_PW variables set. If they’re not set, Application Passwords will fail to authenticate the user, and you’ll need to work with your webhost to correct it. Typically it requires adding something like the following to the .htaccess file:
SetEnvIf Autorisierung "(.*)" HTTP_AUTHORIZATION=$1
If all else fails, it’s best to just use the API Key in the
MEMBERPRESS-API-KEY HTTP-Anfrage-Header zu verwenden. Nachstehend finden Sie einen Beispielcode mit dem API-Schlüssel und PHP cURL:
<?php
$url = 'http://testsite.com/wp-json/mp/v1/me';
$ch = curl_init( $url );
curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true );
$headers = [ 'MEMBERPRESS-API-KEY: MdCUPSO5Qr', 'Content-Type: application/json' ];
curl_setopt( $ch, CURLOPT_HTTPHEADER, $headers );
$response = curl_exec( $ch );
if( curl_errno( $ch ) ) { throw new Exception( curl_error( $ch ) ); }
curl_close($ch);
echo $response;
Fehlerbehebung bei Webhooks
Wenn Ihre Test-Webhooks funktionieren, aber Ihre Live-Tests nicht ausgelöst werden, dann ist WP Cron höchstwahrscheinlich deaktiviert oder funktioniert nicht so, wie es sollte. Die MemberPress-Entwickler-Tools verlassen sich auf WP Cron, um die Webhooks zu senden.
In diesem Fall ist es am einfachsten, die Tabelle wp_mepr_jobs in Ihrer Datenbank zu überprüfen, um zu sehen, ob die Webhook-Aufträge dort mit dem Status "pending" hängen bleiben.
Wenn möglich, empfehlen wir, WP Cron für das Laden von Seiten zu deaktivieren und stattdessen einen serverseitigen Cron auszulösen, der jede Minute läuft. SiteGround hat einen großartigen Artikel über
dies hier zu tun. Und WordPress.org hat einige zusätzliche Informationen hier. Unfortunately, we can’t assist you with this, and your webhost will need to help you set it up.
If you’re unable to get WP Cron firing correctly, even after enabling a server-side cron, then you may (as a last resort) need to issue the following query:
UPDATE wp_options SET option_value = '' WHERE option_name = 'cron';

