/** * Display credit card list on My Account page * * @access public * @return void */ public function display_card_list() { if (!is_user_logged_in()) { return; } $user_id = get_current_user_id(); // Get customer's cards $cards = get_user_meta($user_id, '_subscriptio_stripe_customer_cards', true); if (!empty($cards)) { $cards = maybe_unserialize($cards); // Get customer's default card $default_card = get_user_meta($user_id, '_subscriptio_stripe_customer_default_card', true); $default_card = !empty($default_card) ? $default_card : 'none'; Subscriptio::include_template('gateways/stripe/credit-card-list', array( 'cards' => $cards, 'default' => $default_card, )); } }
<?php /** * Customer Subscription Paused email template */ // Exit if accessed directly if (!defined('ABSPATH')) { exit; } ?> <?php do_action('woocommerce_email_header', $email_heading); ?> <p><?php printf(__('Your subscription on %s has been paused.', 'subscriptio'), get_option('blogname')); ?></p> <p><?php _e('Details of the paused subscription are shown below for your reference:', 'subscriptio'); ?></p> <?php do_action('subscriptio_email_before_subscription_table', $subscription, $sent_to_admin, $plain_text); ?> <h2><?php echo __('Subscription:', 'subscriptio') . ' ' . $subscription->get_subscription_number(); ?></h2> <?php Subscriptio::include_template('emails/email-subscription-items', array('subscription' => $subscription, 'plain_text' => false)); ?> <?php do_action('subscriptio_email_after_subscription_table', $subscription, $sent_to_admin, $plain_text); ?> <?php do_action('woocommerce_email_footer'); ?>
<?php /** * Customer Subscription Completed Order email template */ // Exit if accessed directly if (!defined('ABSPATH')) { exit; } ?> <?php do_action('woocommerce_email_header', $email_heading); ?> <p><?php printf(__('Hi there. Your recent subscription renewal order on %s has been completed. Your order details are shown below for your reference:', 'subscriptio'), get_option('blogname')); ?></p> <?php do_action('woocommerce_email_before_order_table', $subscription, $sent_to_admin, $plain_text); ?> <h2><?php echo __('Order:', 'subscriptio') . ' ' . $order->get_order_number(); ?></h2> <?php Subscriptio::include_template('emails/email-order-items', array('order' => $order, 'plain_text' => false)); ?> <?php do_action('woocommerce_email_after_order_table', $order, $sent_to_admin, $plain_text); ?> <?php do_action('woocommerce_email_order_meta', $order, $sent_to_admin, $plain_text); ?> <h2><?php _e('Customer details', 'subscriptio'); ?></h2> <?php Subscriptio::include_template('emails/email-order-items', array('order' => $order, 'plain_text' => false)); ?> <?php do_action('woocommerce_email_footer'); ?>
<?php /** * Customer Subscription Cancelled email template */ // Exit if accessed directly if (!defined('ABSPATH')) { exit; } echo $email_heading . "\n\n"; echo sprintf(__('Your subscription on %s has been suspended.', 'subscriptio'), get_option('blogname')) . "\n\n"; echo __('Details of the suspended subscription are shown below for your reference:', 'subscriptio') . "\n\n"; echo "****************************************************\n"; do_action('subscriptio_email_before_subscription_table', $subscription, $sent_to_admin, $plain_text); echo __('Subscription:', 'subscriptio') . ' ' . $subscription->get_subscription_number() . "\n"; Subscriptio::include_template('emails/plain/email-subscription-items', array('subscription' => $subscription, 'plain_text' => true)); echo "\n****************************************************\n\n"; do_action('subscriptio_email_after_subscription_table', $subscription, $sent_to_admin, $plain_text); echo apply_filters('woocommerce_email_footer_text', get_option('woocommerce_email_footer_text'));
/** * Credit card details form on Checkout * * @access public * @return void */ public function payment_fields() { // User logged in? if (is_user_logged_in()) { $user_id = get_current_user_id(); // Get customer's cards $cards = get_user_meta($user_id, '_subscriptio_stripe_customer_cards', true); if (!empty($cards)) { $cards = maybe_unserialize($cards); // Format card names foreach ($cards as $card_id => $card) { $brand = $card['brand'] != 'Unknown' ? $card['brand'] : __('Card', 'subscriptio-stripe'); $exp = Subscriptio_Stripe::format_expiration_date($card['exp_month'], $card['exp_year']); $cards[$card_id] = $brand . ' ' . __('ending with', 'subscriptio-stripe') . ' ' . $card['last4'] . ' (' . __('expires', 'subscriptio-stripe') . ' ' . $exp . ')'; } $cards['none'] = __('New Credit Card', 'subscriptio-stripe'); } else { $cards = array(); } // Get customer's default card $default_card = get_user_meta($user_id, '_subscriptio_stripe_customer_default_card', true); $default_card = !empty($default_card) ? $default_card : 'none'; } else { $cards = array(); $default_card = 'none'; } Subscriptio::include_template('gateways/stripe/credit-card-form', array( 'id' => $this->id, 'description' => $this->description, 'cards' => $cards, 'default_card' => $default_card, 'is_debug' => $this->debug == 'yes' ? true : false, 'is_inline' => $this->checkout_style == 'inline' ? true : false, )); }
// Exit if accessed directly if (!defined('ABSPATH')) { exit; } echo $email_heading . "\n\n"; echo sprintf(__('A new subscription renewal order has been generated and is pending payment. To pay for this order please use the following link: %s', 'subscriptio'), esc_url($order->get_checkout_payment_url())) . "\n\n"; echo "****************************************************\n\n"; do_action('woocommerce_email_before_order_table', $order, $sent_to_admin, $plain_text); echo sprintf(__('Order ID: %s', 'subscriptio'), $order->get_order_number()) . "\n"; echo sprintf(__('Subscription ID: %s', 'subscriptio'), $subscription->get_subscription_number()) . "\n"; do_action('woocommerce_email_order_meta', $order, $sent_to_admin, $plain_text); Subscriptio::include_template('emails/plain/email-order-items', array('order' => $order, 'plain_text' => true)); echo "\n****************************************************\n\n"; do_action('woocommerce_email_after_order_table', $order, $sent_to_admin, $plain_text); echo __('Customer details', 'subscriptio') . "\n"; Subscriptio::include_template('emails/plain/email-customer-details', array('order' => $order, 'plain_text' => true)); echo "\n****************************************************\n\n"; echo apply_filters('woocommerce_email_footer_text', get_option('woocommerce_email_footer_text'));
/** * Cancel subscription * * @access public * @param int $subscription_id * @return void */ public static function cancel_subscription($subscription_id) { if ($subscription = self::get_subscription($subscription_id)) { // Check if subscription can be cancelled if (!$subscription->can_be_cancelled() || !$subscription->allow_customer_subscription_cancelling()) { self::redirect_to_subscription($subscription); return; } // Cancel and check if cancelled successfully if ($subscription->cancel_by_customer()) { wc_add_notice(__('Subscription has been cancelled.', 'subscriptio')); } else { wc_add_notice(__('Something went wrong...', 'subscriptio'), 'error'); } Subscriptio::include_template('myaccount/view-subscription', array('subscription' => $subscription)); } }
/** * Display related subscriptions on single order view page * * @access public * @param object $order * @return void */ public function display_frontend_order_related_subscriptions($order) { $subscriptions = Subscriptio_Order_Handler::get_subscriptions_from_order_id($order->id); if (!empty($subscriptions) && apply_filters('subscriptio_display_order_related_subscriptions', true)) { Subscriptio::include_template('myaccount/subscription-list', array( 'subscriptions' => $subscriptions, 'title' => __('Related Subscriptions', 'subscriptio'), )); } }
/** * Get plain text email content * * @access public * @return string */ public function get_content_plain() { ob_start(); Subscriptio::include_template('emails/plain/' . $this->template, array_merge($this->template_variables, array('plain_text' => true))); return ob_get_clean(); }