PluginProbe ʕ •ᴥ•ʔ
OttoKit: All-in-One Automation Platform / 1.1.36
OttoKit: All-in-One Automation Platform v1.1.36
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 / wp-simple-pay / triggers / subscription-for-form-created.php
suretriggers / src / Integrations / wp-simple-pay / triggers Last commit date
payment-for-form-completed.php 3 years ago subscription-for-form-created.php 3 years ago subscription-for-form-renewed.php 2 years ago
subscription-for-form-created.php
162 lines
1 <?php
2 /**
3 * SubscriptionForFormCreated.
4 * php version 5.6
5 *
6 * @category SubscriptionForFormCreated
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\WpSimplePay\Triggers;
15
16 use SureTriggers\Controllers\AutomationController;
17 use SureTriggers\Traits\SingletonLoader;
18
19 if ( ! class_exists( 'SubscriptionForFormCreated' ) ) :
20
21 /**
22 * SubscriptionForFormCreated
23 *
24 * @category SubscriptionForFormCreated
25 * @package SureTriggers
26 * @author BSF <username@example.com>
27 * @license https://www.gnu.org/licenses/gpl-3.0.html GPLv3
28 * @link https://www.brainstormforce.com/
29 * @since 1.0.0
30 *
31 * @psalm-suppress UndefinedTrait
32 */
33 class SubscriptionForFormCreated {
34
35
36 /**
37 * Integration type.
38 *
39 * @var string
40 */
41 public $integration = 'WpSimplePay';
42
43
44 /**
45 * Trigger name.
46 *
47 * @var string
48 */
49 public $trigger = 'wsp_subscription_for_form_created';
50
51 use SingletonLoader;
52
53
54 /**
55 * Constructor
56 *
57 * @since 1.0.0
58 */
59 public function __construct() {
60 add_filter( 'sure_trigger_register_trigger', [ $this, 'register' ] );
61 }
62
63 /**
64 * Register action.
65 *
66 * @param array $triggers trigger data.
67 * @return array
68 */
69 public function register( $triggers ) {
70
71 $triggers[ $this->integration ][ $this->trigger ] = [
72 'label' => __( 'Subscription For Form Created', 'suretriggers' ),
73 'action' => 'wsp_subscription_for_form_created',
74 'common_action' => 'simpay_webhook_subscription_created',
75 'function' => [ $this, 'trigger_listener' ],
76 'priority' => 20,
77 'accepted_args' => 2,
78 ];
79
80 return $triggers;
81
82 }
83
84 /**
85 * Trigger listener
86 *
87 * @param array $type Stripe webhook event.
88 * @param object $object Stripe PaymentIntent.
89 * @since 1.0.0
90 *
91 * @return void
92 */
93 public function trigger_listener( $type, $object ) {
94
95 if ( ! isset( $object->metadata->simpay_form_id ) ) {
96 return;
97 }
98 $form_id = $object->metadata->simpay_form_id;
99
100 if ( empty( $form_id ) ) {
101 return;
102 }
103
104 if ( ! isset( $object->latest_invoice ) ) {
105 return;
106 }
107
108 $invoice = $object->latest_invoice;
109 /**
110 *
111 * Ignore line
112 *
113 * @phpstan-ignore-next-line
114 */
115 $context['customer'] = $object->customer;
116
117 if ( function_exists( 'simpay_get_form' ) ) {
118 $form = simpay_get_form( $form_id );
119 $context['subscription'] = $form->company_name;
120 }
121 $context['invoice'] = $invoice;
122 /**
123 *
124 * Ignore line
125 *
126 * @phpstan-ignore-next-line
127 */
128 $context['amount_due'] = $object->amount_due;
129 /**
130 *
131 * Ignore line
132 *
133 * @phpstan-ignore-next-line
134 */
135 $context['amount_paid'] = $object->amount_paid;
136 /**
137 *
138 * Ignore line
139 *
140 * @phpstan-ignore-next-line
141 */
142 $context['amount_remaining'] = $object->amount_remaining;
143
144 $context['wp_simple_pay_form'] = $form_id;
145 AutomationController::sure_trigger_handle_trigger(
146 [
147 'trigger' => $this->trigger,
148 'context' => $context,
149 ]
150 );
151 }
152 }
153
154 /**
155 * Ignore false positive
156 *
157 * @psalm-suppress UndefinedMethod
158 */
159 SubscriptionForFormCreated::get_instance();
160
161 endif;
162