PluginProbe ʕ •ᴥ•ʔ
OttoKit: All-in-One Automation Platform / 1.1.32
OttoKit: All-in-One Automation Platform v1.1.32
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 / payment-for-form-completed.php
suretriggers / src / Integrations / wp-simple-pay / triggers Last commit date
payment-for-form-completed.php 2 years ago subscription-for-form-created.php 2 years ago subscription-for-form-renewed.php 2 years ago
payment-for-form-completed.php
135 lines
1 <?php
2 /**
3 * PaymentForFormCompleted.
4 * php version 5.6
5 *
6 * @category PaymentForFormCompleted
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( 'PaymentForFormCompleted' ) ) :
20
21 /**
22 * PaymentForFormCompleted
23 *
24 * @category PaymentForFormCompleted
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 PaymentForFormCompleted {
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_payment_for_form_completed';
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' => __( 'Payment For Form Completed', 'suretriggers' ),
73 'action' => 'wsp_payment_for_form_completed',
74 'common_action' => 'simpay_webhook_payment_intent_succeeded',
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 if ( ! isset( $object->metadata->simpay_form_id ) ) {
95 return;
96 }
97 $form_id = $object->metadata->simpay_form_id;
98
99 if ( empty( $form_id ) ) {
100 return;
101 }
102
103 if ( isset( $object->customer, $object->amount, $object->description, $object->currency, $object->latest_charge, $object->payment_method ) ) {
104 $context = [
105 'wp_simple_pay_form' => $form_id,
106 'customer' => $object->customer,
107 'amount' => $object->amount,
108 'description' => $object->description,
109 'metadata' => $object->metadata,
110 'currency' => $object->currency,
111 'latest_charge' => $object->latest_charge,
112 'payment_method' => $object->payment_method,
113 ];
114 } else {
115 $context['wp_simple_pay_form'] = $form_id;
116 }
117
118 AutomationController::sure_trigger_handle_trigger(
119 [
120 'trigger' => $this->trigger,
121 'context' => $context,
122 ]
123 );
124 }
125 }
126
127 /**
128 * Ignore false positive
129 *
130 * @psalm-suppress UndefinedMethod
131 */
132 PaymentForFormCompleted::get_instance();
133
134 endif;
135