PluginProbe ʕ •ᴥ•ʔ
Paid Membership Plugin, Ecommerce, User Registration Form, Login Form, User Profile & Restrict Content – ProfilePress / 4.17.1
Paid Membership Plugin, Ecommerce, User Registration Form, Login Form, User Profile & Restrict Content – ProfilePress v4.17.1
4.17.1 4.17.0 4.16.19 4.16.18 4.16.17 4.16.16 trunk 1.0 1.0.1 1.0.2 1.1 1.1.1 1.1.2 1.1.3 1.1.4 1.1.5 1.1.5a 1.1.6 1.1.7 1.2 1.2.1 1.2.2 1.2.3 1.2.4 1.2.5 1.2.6 1.3 1.3.1 1.3.2 1.3.3 1.3.4 1.3.5 1.3.6 1.4 1.4.1 1.4.2 1.5 1.5.1 1.5.2 1.5.3 1.5.4 1.5.5 1.5.6 1.5.7 1.5.8 1.6 1.6.1 1.6.2 1.6.3 1.6.4 1.6.5 1.6.6 1.6.7 1.6.8 1.7 1.7.1 1.7.2 1.8 1.8.1 1.8.10 1.8.2 1.8.3 1.8.4 1.8.5 1.8.6 1.8.7 1.8.8 1.8.9 1.9 1.9.1 1.9.10 1.9.11 1.9.12 1.9.13 1.9.2 1.9.3 1.9.4 1.9.5 1.9.6 1.9.7 1.9.8 1.9.9 2.1.9 2.2.10 2.2.11 2.2.12 2.2.13 2.2.14 2.2.15 2.2.16 2.2.2 2.2.5 2.2.6 2.2.7 2.2.8 2.2.9 3.0 3.1 3.1.1 3.1.10 3.1.11 3.1.12 3.1.13 3.1.14 3.1.15 3.1.16 3.1.17 3.1.18 3.1.19 3.1.2 3.1.3 3.1.4 3.1.5 3.1.6 3.1.7 3.1.8 3.1.9 3.2.0 3.2.1 3.2.10 3.2.11 3.2.12 3.2.13 3.2.14 3.2.15 3.2.16 3.2.2 3.2.3 3.2.4 3.2.5 3.2.6 3.2.7 3.2.8 3.2.9 4.0.0 4.0.1 4.0.2 4.0.3 4.1.0 4.1.1 4.1.2 4.1.3 4.1.4 4.10.0 4.10.1 4.10.2 4.10.3 4.11.0 4.12.0 4.13.0 4.13.1 4.13.2 4.13.3 4.13.4 4.14.0 4.14.1 4.14.2 4.14.3 4.14.4 4.15.0 4.15.1 4.15.10 4.15.11 4.15.12 4.15.13 4.15.14 4.15.15 4.15.16 4.15.17 4.15.18 4.15.19 4.15.2 4.15.20 4.15.20.1 4.15.21 4.15.22 4.15.23 4.15.24 4.15.25 4.15.3 4.15.4 4.15.5 4.15.6 4.15.7 4.15.8 4.15.9 4.16.0 4.16.1 4.16.10 4.16.11 4.16.12 4.16.13 4.16.14 4.16.15 4.16.2 4.16.3 4.16.4 4.16.5 4.16.6 4.16.7 4.16.8 4.16.9 4.2.0 4.3.0 4.3.1 4.3.2 4.4.0 4.4.1 4.5.0 4.5.1 4.5.2 4.5.3 4.5.4 4.5.5 4.6.0 4.7.0 4.8.0 4.9.0
wp-user-avatar / src / Membership / PaymentMethods / Stripe / WebhookHandlers / CustomerSubscriptionCreated.php
wp-user-avatar / src / Membership / PaymentMethods / Stripe / WebhookHandlers Last commit date
ChargeRefunded.php 1 year ago CheckoutSessionAsyncPaymentFailed.php 5 months ago CheckoutSessionAsyncPaymentSucceeded.php 5 months ago CheckoutSessionCompleted.php 5 months ago CustomerSubscriptionCreated.php 2 years ago CustomerSubscriptionDeleted.php 4 years ago CustomerSubscriptionUpdated.php 2 weeks ago InvoicePaymentSucceeded.php 2 years ago PaymentIntentSucceeded.php 3 years ago index.php 3 years ago
CustomerSubscriptionCreated.php
54 lines
1 <?php
2
3 namespace ProfilePress\Core\Membership\PaymentMethods\Stripe\WebhookHandlers;
4
5 use ProfilePress\Core\Membership\Models\Subscription\SubscriptionStatus;
6 use ProfilePress\Core\Membership\PaymentMethods\WebhookHandlerInterface;
7 use ProfilePress\Core\Membership\Repositories\SubscriptionRepository;
8 use ProfilePressVendor\Carbon\CarbonImmutable;
9
10 class CustomerSubscriptionCreated implements WebhookHandlerInterface
11 {
12 public function handle($event_data)
13 {
14 $subscription_profile_id = $event_data['id'];
15
16 $subscription = SubscriptionRepository::init()->retrieveBy([
17 'profile_id' => $subscription_profile_id
18 ]);
19
20 if (empty($subscription)) return;
21
22 $subscription = $subscription[0];
23
24 switch ($event_data['status']) {
25 case 'active':
26 if ( ! $subscription->is_active()) {
27 $subscription->activate_subscription($subscription_profile_id);
28 } else {
29 $subscription->status = SubscriptionStatus::ACTIVE;
30 }
31 // ensures expiration date is in sync with Stripe
32 $subscription->expiration_date = CarbonImmutable::createFromTimestampUTC($event_data['current_period_end'])->toDateTimeString();
33 break;
34 case 'trialing':
35 if ( ! $subscription->is_active()) {
36 $subscription->enable_subscription_trial($subscription_profile_id);
37 } else {
38 $subscription->status = SubscriptionStatus::TRIALLING;
39 }
40 // ensures expiration date is in sync with Stripe
41 $subscription->expiration_date = CarbonImmutable::createFromTimestampUTC($event_data['trial_end'])->toDateTimeString();
42 break;
43 case 'unpaid':
44 $subscription->expire();
45 break;
46 case 'canceled':
47 $subscription->status = SubscriptionStatus::CANCELLED;
48 break;
49 }
50
51 $subscription->save();
52 }
53 }
54