PluginProbe ʕ •ᴥ•ʔ
OttoKit: All-in-One Automation Platform / 1.1.35
OttoKit: All-in-One Automation Platform v1.1.35
1.1.37 1.1.36 1.1.35 1.1.34 1.1.33 1.1.32 1.1.31 1.1.30 1.1.29 1.1.28 1.1.27 1.1.9 trunk 1.0.10 1.0.11 1.0.12 1.0.13 1.0.14 1.0.15 1.0.16 1.0.17 1.0.18 1.0.19 1.0.20 1.0.21 1.0.22 1.0.23 1.0.24 1.0.25 1.0.26 1.0.27 1.0.28 1.0.29 1.0.30 1.0.31 1.0.32 1.0.33 1.0.34 1.0.35 1.0.36 1.0.37 1.0.38 1.0.39 1.0.40 1.0.41 1.0.42 1.0.43 1.0.44 1.0.45 1.0.46 1.0.47 1.0.48 1.0.49 1.0.50 1.0.51 1.0.52 1.0.53 1.0.54 1.0.55 1.0.56 1.0.57 1.0.58 1.0.59 1.0.60 1.0.61 1.0.62 1.0.63 1.0.64 1.0.65 1.0.66 1.0.67 1.0.68 1.0.69 1.0.7 1.0.70 1.0.71 1.0.72 1.0.73 1.0.74 1.0.75 1.0.76 1.0.77 1.0.78 1.0.79 1.0.8 1.0.80 1.0.81 1.0.82 1.0.83 1.0.84 1.0.85 1.0.86 1.0.87 1.0.88 1.0.89 1.0.9 1.0.90 1.1.0 1.1.1 1.1.10 1.1.11 1.1.12 1.1.13 1.1.14 1.1.15 1.1.16 1.1.17 1.1.18 1.1.19 1.1.2 1.1.20 1.1.21 1.1.22 1.1.23 1.1.24 1.1.25 1.1.26 1.1.3 1.1.4 1.1.5 1.1.6 1.1.7 1.1.8
suretriggers / src / Integrations / woocommerce / triggers / order-paid.php
suretriggers / src / Integrations / woocommerce / triggers Last commit date
add-product-to-cart.php 3 years ago customer-created.php 2 years ago customer-order-count-reach-specific-count.php 2 years ago customer-total-spend-reach-specific-amount.php 2 years ago order-created.php 11 months ago order-note-added.php 2 years ago order-paid.php 10 months ago order-status-changed.php 2 years ago purchase-product-category.php 1 year ago purchase-product.php 1 year ago purchase-variable-product.php 1 year ago review-product.php 3 years ago subscription-var-purchase.php 1 year ago view-product.php 2 years ago
order-paid.php
127 lines
1 <?php
2 /**
3 * OrderPaid.
4 * php version 5.6
5 *
6 * @category OrderPaid
7 * @package SureTriggers
8 * @author BSF <username@example.com>
9 * @license https://www.gnu.org/licenses/gpl-3.0.html GPLv3
10 * @link https://www.brainstormforce.com/
11 * @since 1.0.0
12 */
13
14 namespace SureTriggers\Integrations\Woocommerce\Triggers;
15
16 use SureTriggers\Controllers\AutomationController;
17 use SureTriggers\Integrations\WooCommerce\WooCommerce;
18 use SureTriggers\Integrations\WordPress\WordPress;
19 use SureTriggers\Traits\SingletonLoader;
20
21 if ( ! class_exists( 'OrderPaid' ) ) :
22
23 /**
24 * OrderPaid
25 *
26 * @category OrderPaid
27 * @package SureTriggers
28 * @author BSF <username@example.com>
29 * @license https://www.gnu.org/licenses/gpl-3.0.html GPLv3
30 * @link https://www.brainstormforce.com/
31 * @since 1.0.0
32 *
33 * @psalm-suppress UndefinedTrait
34 */
35 class OrderPaid {
36
37 /**
38 * Integration type.
39 *
40 * @var string
41 */
42 public $integration = 'WooCommerce';
43
44 /**
45 * Trigger name.
46 *
47 * @var string
48 */
49 public $trigger = 'wc_order_paid';
50
51 use SingletonLoader;
52
53 /**
54 * Constructor
55 *
56 * @since 1.0.0
57 */
58 public function __construct() {
59 add_filter( 'sure_trigger_register_trigger', [ $this, 'register' ] );
60 }
61
62 /**
63 * Register action.
64 *
65 * @param array $triggers trigger data.
66 * @return array
67 */
68 public function register( $triggers ) {
69 $triggers[ $this->integration ][ $this->trigger ] = [
70 'label' => __( 'Order Paid', 'suretriggers' ),
71 'action' => $this->trigger,
72 'common_action' => [ 'woocommerce_new_order', 'woocommerce_order_status_completed' ],
73 'function' => [ $this, 'trigger_listener' ],
74 'priority' => 10,
75 'accepted_args' => 1,
76 ];
77
78 return $triggers;
79 }
80
81 /**
82 * Trigger listener
83 *
84 * @param int $order_id order ID.
85 *
86 * @return void
87 */
88 public function trigger_listener( $order_id ) {
89 $order = wc_get_order( $order_id );
90
91 if ( ! $order || ! $order instanceof \WC_Order ) {
92 return;
93 }
94
95 if ( 'completed' !== $order->get_status() ) {
96 return;
97 }
98
99 $payment_method = $order->get_payment_method();
100
101 if ( empty( $payment_method ) ) {
102 return;
103 }
104 $user_id = $order->get_customer_id();
105 $order_context = WooCommerce::get_order_context( $order_id );
106 $context = array_merge(
107 isset( $order_context ) ? $order_context : [],
108 WordPress::get_user_context( $user_id )
109 );
110 AutomationController::sure_trigger_handle_trigger(
111 [
112 'trigger' => $this->trigger,
113 'context' => $context,
114 ]
115 );
116 }
117 }
118
119 /**
120 * Ignore false positive
121 *
122 * @psalm-suppress UndefinedMethod
123 */
124 OrderPaid::get_instance();
125
126 endif;
127