programing

부분 환불은 어떻게 WooCommerce Database에 저장됩니까?

bestprogram 2023. 3. 8. 21:56

부분 환불은 어떻게 WooCommerce Database에 저장됩니까?

저는 PHP로 작성된 간단한 백엔드 관리 툴을 가지고 있습니다.이 툴은 WooCommerce 데이터베이스에서 주문을 가져와 배송 처리를 위해 저희 주방에 제출합니다.

항상 테이블 행을 강조 표시할 수 있었습니다.'wc-completed'필요한 추가 처리를 처리합니다.그런데 오늘 한 줄에 대해 한 가지 주문이 환불된 것을 알게 되었습니다.부분 환불은 주문 상태에 영향을 주지 않기 때문에 데이터베이스의 다른 테이블에서 환불 정보를 가져와야 합니다.

주문처리에 대해 알고 있는 표를 모두 확인했습니다.wp_posts,wp_postmeta,wp_woocommerce_order_items그리고.wp_woocommerce_order_itemmeta환불 정보는 없습니다.실제로 마지막 표에 기재되어 있는 아이템메타는 수량 조정도 되지 않아 제 리포트는 이와 같은 부분 오더에 맞지 않습니다.

woocommerce 백엔드에서 주문 요약을 표시하면1이 특정 항목에 대해, 그리고 나서-1바로 아래에요.데이터베이스 어딘가에 주문과 관련된 환불 기록이 있을 것으로 생각합니다만, 찾을 수 없습니다.주문 합계까지wp_postmeta부분 환불이 반영되지 않았습니다.

워드프레스 데이터베이스에 이 환불 데이터가 저장되어 있는 곳을 아는 사람이 있습니까?

감사해요.

부분 환불 주문은 일반 주문과 마찬가지로 데이터베이스에 저장됩니다.wp_posts와 함께 식탁에 올리다'post_type' = 'shop_order_refund'및 a'post_parent' = order_ID (number), 여기서order_ID원본에 대한 참조입니다.'shop_order'.

이 환불 중 어느 것이 부분적인지 알아보려면_refund_amount아래에서 찾을 수 있는 값wp_post_meta이 때문에'refund_order'그리고 그에 상응하는 것'shop_order'와 함께_order_total값도 마찬가지입니다.

(의 경우)'refund_order'=>_refund_amount) != ('shop_order'=>_order_total그럼 부분적인 거네요

(의 경우)'refund_order'=>_refund_amount) == ('shop_order'=>_order_total 그럼 (부분이 아닌) 정상입니다.

주의:

  • 한 번의 주문에 대해 1개 또는 여러 개의 부분 환불이 가능합니다.
  • 환불 주문이 있습니다._order_total의 항목wp_postmeta항상 양의 값을 반영하는 음의 값을 가진 표_refund_amount아이템. 이거_order_total값은 관련 부모와는 무관합니다. 'shop_order' => '_order_total'가치.

    관련 부모의 반대(음수) 값입니다. 'shop_order' => '_order_total'환불 주문이 부분적이지 않은 경우에만 값을 매겨야 합니다.

  • wp_woocommerce_order_items ★★★★★★★★★★★★★★★★★」wp_woocommerce_order_itemmeta테이블, 주문 및 환불된 주문에 대한 관련 상세 데이터가 있습니다.

언급URL : https://stackoverflow.com/questions/37712789/how-are-partial-refunds-stored-in-the-woocommerce-database