PluginProbe ʕ •ᴥ•ʔ
Paid Membership Plugin, Ecommerce, User Registration Form, Login Form, User Profile & Restrict Content – ProfilePress / 4.17.0
Paid Membership Plugin, Ecommerce, User Registration Form, Login Form, User Profile & Restrict Content – ProfilePress v4.17.0
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 / Emails / SubscriptionPaymentFailedNotification.php
wp-user-avatar / src / Membership / Emails Last commit date
AbstractMembershipEmail.php 1 month ago EmailDataTrait.php 5 days ago NewOrderAdminNotification.php 2 years ago NewOrderReceipt.php 2 years ago RenewalOrderReceipt.php 2 years ago SubscriptionAfterExpiredNotification.php 1 year ago SubscriptionCancelledNotification.php 2 years ago SubscriptionCompletedNotification.php 2 years ago SubscriptionExpirationReminder.php 4 months ago SubscriptionExpiredNotification.php 1 year ago SubscriptionPaymentFailedNotification.php 5 days ago SubscriptionRenewalReminder.php 4 months ago index.php 4 years ago
SubscriptionPaymentFailedNotification.php
54 lines
1 <?php
2
3 namespace ProfilePress\Core\Membership\Emails;
4
5 use ProfilePress\Core\Membership\Models\Customer\CustomerFactory;
6 use ProfilePress\Core\Membership\Models\Subscription\SubscriptionEntity;
7
8 class SubscriptionPaymentFailedNotification extends AbstractMembershipEmail
9 {
10 const ID = 'subscription_payment_failed_notification';
11
12 const DEDUPE_META_KEY = 'payment_failed_email_sent';
13
14 public function __construct()
15 {
16 add_action('ppress_subscription_payment_failed', [$this, 'dispatch_email']);
17 }
18
19 /**
20 * @param SubscriptionEntity $subscription
21 *
22 * @return void
23 */
24 public function dispatch_email($subscription)
25 {
26 if ( ! apply_filters('ppress_membership_subscription_payment_failed_email_enabled', true, $subscription)) return;
27
28 if (ppress_get_setting(self::ID . '_email_enabled', 'on') !== 'on') return;
29
30 // ensures gateway payment retries do not re-send the email within the same billing period.
31 if ($subscription->get_meta(self::DEDUPE_META_KEY) === $subscription->expiration_date) return;
32
33 $placeholders_values = $this->get_subscription_placeholders_values($subscription);
34
35 $subject = apply_filters('ppress_' . self::ID . '_email_subject', $this->parse_placeholders(
36 ppress_get_setting(self::ID . '_email_subject', esc_html__('Your subscription payment failed.', 'wp-user-avatar'), true),
37 $placeholders_values,
38 $subscription
39 ), $subscription);
40
41 $message = apply_filters('ppress_' . self::ID . '_email_content', $this->parse_placeholders(
42 ppress_get_setting(self::ID . '_email_content', $this->get_subscription_payment_failed_content(), true),
43 $placeholders_values,
44 $subscription
45 ), $subscription);
46
47 $recipient = apply_filters('ppress_' . self::ID . '_recipient', CustomerFactory::fromId($subscription->customer_id)->get_email(), $subscription);
48
49 if (ppress_send_email($recipient, $subject, $message)) {
50 $subscription->update_meta(self::DEDUPE_META_KEY, $subscription->expiration_date);
51 }
52 }
53 }
54