コード例 #1
0
    /**
     * 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,
            ));
        }
    }
コード例 #2
0
<?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'); ?>
コード例 #3
0
<?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'); ?>
コード例 #4
0
<?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'));
コード例 #5
0
    /**
     * 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,
        ));
    }
コード例 #6
0
// 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'));
コード例 #7
0
    /**
     * 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));
        }
    }
コード例 #8
0
ファイル: subscriptio.php プロジェクト: qhuit/dcosta
    /**
     * 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'),
            ));
        }
    }
コード例 #9
0
 /**
  * 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();
 }