콜백_핸들러는 WooCommerce를 해고하지 않습니다.
저는 결제가 오프사이트 URL에서 이루어지는 WooCommerce용 결제 게이트웨이를 구축하고 있습니다. WooCommerce 플러그인에 다시 메시지를 보낼 수 있는 페이지가 필요하고 "콜백" URL만 있으면 됩니다.
WooCommerce가 이것을 가지고 있는 것 같은데, 작동이 안 됩니다.당신은 핑을 할 수 있어야 합니다.
http://yoursite/wc-api/WC_your_gateway
그런 다음 add_action('wocommerce_api_callback', 'callback_handler' )을 추가해야 합니다. 그런 다음 이 공용 함수 callback_handler() {}과 같은 함수를 실행해야 합니다.
그러나 해당 URL로 이동하면 내 페이지에 1이 표시됩니다. 즉, 핸들러가 다른 페이지로 리디렉션되어야 합니다(이것이 명확하게 표시되도록 설정한 것입니다).제가 좋아하는 것은 누군가가 이런 일을 하는 예를 가지고 있다면 입니다.저는 add_action과 핸들러 기능을 많은 곳에 배치하려고 했지만, 운이 없었습니다.
저도 같은 문제가 있습니다.콜백 함수의 끝에 exit; 또는 wp_die()를 추가합니다.
저는 이 정도면 돼요.
저도 같은 문제가 있어서, 이게 제게 효과가 있었던 겁니다.
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');
자세한 내용을 빠뜨리지 않았는지 확인하십시오. 그렇지 않으면 작동하지 않습니다.http://example.com/ ?wc-api=wc_mygateway 또는 http://example.com/wc-api/wc_mygateway 을 사용하여 호출할 수도 있습니다.
이 문제로 꼼짝 못하고 있는 모든 사람들에게 이것이 효과가 있기를 바랍니다!
http://your site/wc-api/WC_your_gateway/(마지막에 슬래시 추가)를 사용해 보셨나요?
또한 add_action은 "wocommerce_api_callback" 대신 "wocommerce_api_{class_name}"이어야 합니다.따라서 예를 들어 "wocommerce_api_wc_your_gateway"가 되어야 합니다.
언급URL : https://stackoverflow.com/questions/24066052/callback-handler-wont-fire-woocommerce
'programing' 카테고리의 다른 글
ng급 지시를 받아 활기찬 (0) | 2023.10.09 |
---|---|
파라미터로 외부 프로그램을 호출하는 방법은? (0) | 2023.10.09 |
Symfony2의 웹 디렉토리로 가는 서버 경로를 컨트롤러 내부에서 가져오는 방법은? (0) | 2023.10.09 |
난수 생성을 시드하는 데 시간을 사용하는 대안이 있습니까? (0) | 2023.10.09 |
Forms cookie 암호를 해독할 때 "암호화 작업 중 오류 발생 (0) | 2023.10.09 |