Ich baue ein Zahlungsgateway für WooCommerce, bei dem die Zahlung in einer Offsite-URL stattfindet. Ich brauche diese Seite, um eine Nachricht an das WooCommerce-Plugin senden zu können, und eine “Callback”-URL ist wirklich alles, was ich brauche.
WooCommerce scheint dies zu haben, aber ich kann es nicht zum Laufen bringen. Ping sollte man können:
http://yoursite/wc-api/WC_your_gateway
Und dann sollen Sie hinzufügen add_action( ‘woocommerce_api_callback’, ‘callback_handler’ ); Und dann soll es eine Funktion wie diese öffentliche Funktion callback_handler() {} auslösen
Aber wenn ich zu dieser URL gehe, sehe ich nur eine 1 auf meiner Seite – mein Handler sollte auf eine andere Seite umleiten (das habe ich eingestellt, um es offensichtlich zu machen). Was ich LIEBEN würde, ist, wenn jemand ein Beispiel für diese Arbeit hat. Ich habe versucht, die add_action und die Handler-Funktion an vielen Stellen zu platzieren, kein Glück.
Ich habe das gleiche Problem. Versuchen Sie, den Ausgang hinzuzufügen; oder wp_die(); am Ende Ihrer Callback-Funktion.
Das funktioniert für mich.
Ich hatte das gleiche Problem, also hat das bei mir funktioniert:
class WC_mygateway extends WC_Payment_Gateway {
public function __construct() {
//'woocommerce_api_'.strtolower(get_class($this)) will result in 'woocommerce_api_wc_mygateway'
add_action('woocommerce_api_'.strtolower(get_class($this)), array(&$this, 'handle_callback'));
}
function handle_callback() {
//Handle the thing here!
}
}
function woocommerce_mygateway_add_gateway( $methods ) {
$methods[] = 'WC_mygateway';
return $methods
}
add_filter( 'woocommerce_payment_gateways', 'woocommerce_mygateway_add_gateway');
Stellen Sie sicher, dass Sie keine dieser Details verpassen, sonst funktioniert es nicht. Sie können es auch mit aufrufen http://example.com/?wc-api=wc_mygateway oder http://example.com/wc-api/wc_mygateway
Hoffe, dass diese Arbeit für alle funktioniert, die mit diesem Problem stecken bleiben!
Hast du es mal mit versucht http://ihreseite/wc-api/WC_ihr_gateway/ (Schrägstrich am Ende hinzufügen)?
Außerdem sollte die add_action “woocommerce_api_{class_name}” statt “woocommerce_api_callback” sein. Für Ihr Beispiel sollte es also “woocommerce_api_wc_your_gateway” sein.
13720800cookie-checkCallback_handler löst WooCommerce nicht ausyes