programing

WooCommerce 훅은 "결제 완료 후" 액션에 사용됩니다.

goodsources 2023. 3. 17. 21:25
반응형

WooCommerce 훅은 "결제 완료 후" 액션에 사용됩니다.

저는 WooCommerce와 Wordpress를 사용하고 있습니다.커스텀 라이센스 키 생성기를 가지고 있는데, 누군가가 WooCommerce를 통해 내 플러그인을 성공적으로 구입했을 때 라이센스 키를 생성하기를 원합니다.

꽤 간단해 보입니다.

  1. 사용자가 내 사이트에서 체크아웃을 완료
  2. 사용자는 Paypal로 리다이렉트 되고, 여기서 지불 자격 정보를 입력합니다.
  3. 페이팔은 내 사이트에 결제가 완료되었다고 알려준다.
  4. 저는 일종의 "지급 완료" 또는 "주문 완료" WooCommerce 액션에 접속하여 라이선스를 생성합니다.

문제는 다음과 같습니다.어떤 훅이 잘 맞을지 정말 모르겠어요.Woocommerce는 사이트에 모든 후크 컬렉션을 나열하고 있지만 어떤 것이 무엇에 적합한지에 대한 문서는 거의 없습니다.

훅 이름만 놓고 봤을 때론woocommerce_payment_complete사용하는 것이 좋습니다.불행하게도 그것은 전혀 발사되지 않은 것 같다; 내가 읽은 어떤 곳에서는 그것이 발사되지 않았다고 말한다.

Paypal IPN에 대해서도 읽은 적이 있습니다만, 어떻게 하면 그 알림에 접속할 수 있는지 모르겠습니다(Woocommerce 훅에 접속할 수 있는지).

즉, 결제가 확인되는 대로 라이센스 키를 생성해 주셨으면 합니다.이를 실현하기 위해서는 무엇을 접속해야 합니까?

좋아요, 몇 가지 가능한 해결책을 생각해냈어요.

지불 확인 처리

WooCommerce의 Paypal Standard 게이트웨이는 실제로 Paypal의 IPN 서비스를 지원합니다.선택한 '훅' 루트에 관계없이 이 루트를 사용하는 것이 좋습니다.

PAYPAL IPN 설정 방법

Paypal IPN은 송금처 계좌에 연결되어 있습니다.예를 들어, myemail@gmail.com에서 지불을 받는 경우 해당 계정으로 IPN을 설정해야 합니다.IPN은 Paypal이 선택한 URL로 "지급 완료!" (종류) 알림을 보내는 것입니다.Paypal이 통지를 보낼 URL을 선택하려면 다음 절차를 수행해야 합니다.

  1. Paypal 로그인
  2. 오른쪽 상단에 있는 작은 얼굴 아이콘을 클릭합니다.
  3. "프로파일 및 설정"을 클릭합니다.
  4. 좌측 사이드바에서 "My sales tool"을 클릭합니다.
  5. "즉시 결제 알림"을 찾아 "업데이트"를 클릭합니다.
  6. 활성화하고 URL을 설정합니다.당신의 WooCommerce Paypal Paypal Standard의 URL은 http://yoursite.com/?wc-api=WC_Gateway_Paypal입니다(이것은 WooCommerce의 Paypal Standard 문서에 기재되어 있습니다).
  7. 설정 저장

결제가 완료되면 WooCommerce 설치가 Paypal로부터 수신됩니다.아, 그건 그렇고, 다음 사항을 확인해 주세요.

  • Paypal 설정의 "수신자 이메일"이 올바릅니다.
  • 서버에서 fsockopen이 활성화되어 있습니다(이 "시스템 상태"는 WooCommerce 설정에서 확인할 수 있습니다).

이제 후크 작업을 시작하겠습니다.

1:을 자동 하고 옵1에 합니다.woocommerce_order_status_completed/행동/행동/행동/행동/행동/행동/행동/행동/행동/행동하다.

결제 확인 후 제품이 자동으로 완료되도록 하려면 Mirko Growing의 멋진 WooCommerce Autocomplete Order 플러그인을 설치하면 됩니다.올바른 설정(WooCommerce 설정의 [Woo Extra Options]탭에 표시됨)을 반드시 설정해당 설정은 Woo Commerce 설정의 "Woo Extra Options" 탭에 표시됩니다.

지불이 확인되었을 때 주문이 자동으로 완료되므로 완료 후크인 'woocommerce_order_status_completed'에 접속하기만 하면 특별한 기능을 이용할 수 있습니다.

이 방법의 장점은 수동으로 완료했는지 또는 자동으로 완료되었는지 여부에 관계없이 완료된 순서대로 후크를 할 수 있다는 것입니다.즉, 꽤 다용도입니다.

2: :속2: 에 to to option option option option option option option option option에 합니다.woocommerce_payment_complete_order_status필터.

나는 그것이 꽤 자명하다고 생각한다.이 방법의 이점은 이 방법이 전체 프로세스의 거의 첫 번째 단계로, 위의 완료 후크 전에 수행된다는 것입니다(우선 순위가 적절하게 설정되어 있는 경우).

어느 쪽이 좋은지는 모르겠지만, 둘 다 제 목표를 달성한 것 같습니다: 지불이 확인된 후에 조치를 취합니다.

woocommerce_payment_complete_order_status또한 결제가 취소되었을 때도 호출됩니다.Woocommerce 3.1.2 Paypal.

★★woocommerce_payment_complete결제가 성공했을 때만 불이 나는 것 같습니다.

woocommerce_payment_complete후크는 다음 중 하나의 상태에 있는 주문에 대해서만 활성화됩니다.

  • 보류중
  • 보류중
  • 실패했다
  • 취소했다

후크: woocommerce_valid_order_statuses_for_payment_complete

결제가 완료되기 전주문 상태(커스텀 주문 상태 포함)를 변경하는 경우(예:woocommerce_new_order훅은 주문이 작성된 후 지불되기 전에 훅을 통해 새 상태를 추가해야 합니다.

예를 들어 다음과 같습니다.

add_filter( 'woocommerce_valid_order_statuses_for_payment_complete', 'add_woocommerce_valid_order_statuses_for_payment_complete', 10, 2 );
function add_woocommerce_valid_order_statuses_for_payment_complete( $statuses, $order ) {
    $statuses[] = 'processing';
    return $statuses;
}

후크: woocommerce_pre_payment_complete

또는, 지불이 완료되었을 때, 그러나 주문이 저장되기 전에 활성화되는 후크를 사용할 수도 있습니다(주문 저장 활성화되는 후크와 달리).

woocommerce_pre_payment_complete훅은 주문 상태에 관계없이 결제 완료 후 항상 활성화됩니다.

언급URL : https://stackoverflow.com/questions/28218580/woocommerce-hook-for-after-payment-complete-actions

반응형