當前位置: 首頁>>代碼示例>>PHP>>正文


PHP WC_Subscriptions_Manager::safeguard_scheduled_payments方法代碼示例

本文整理匯總了PHP中WC_Subscriptions_Manager::safeguard_scheduled_payments方法的典型用法代碼示例。如果您正苦於以下問題:PHP WC_Subscriptions_Manager::safeguard_scheduled_payments方法的具體用法?PHP WC_Subscriptions_Manager::safeguard_scheduled_payments怎麽用?PHP WC_Subscriptions_Manager::safeguard_scheduled_payments使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在WC_Subscriptions_Manager的用法示例。


在下文中一共展示了WC_Subscriptions_Manager::safeguard_scheduled_payments方法的2個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。

示例1: safeguard_scheduled_payments

 /**
  * Once payment is completed on an order, set a lock on payments until the next subscription payment period.
  * 
  * @param $user_id int The id of the user who purchased the subscription
  * @param $subscription_key string A subscription key of the form created by @see self::get_subscription_key()
  * @since 1.1.2
  */
 public static function safeguard_scheduled_payments($order_id)
 {
     $order = new WC_Order($order_id);
     $subscription_key = WC_Subscriptions_Manager::get_subscription_key($order_id);
     WC_Subscriptions_Manager::safeguard_scheduled_payments($order->customer_user, $subscription_key);
 }
開發者ID:picassentviu,項目名稱:AMMPro,代碼行數:13,代碼來源:class-wc-subscriptions-order.php

示例2: maybe_record_order_payment

 /**
  * Records the initial payment against a subscription.
  *
  * This function is called when a gateway calls @see WC_Order::payment_complete() and payment
  * is completed on an order. It is also called when an orders status is changed to completed or
  * processing for those gateways which never call @see WC_Order::payment_complete(), like the
  * core WooCommerce Cheque and Bank Transfer gateways.
  *
  * It will also set the start date on the subscription to the time the payment is completed.
  *
  * @param WC_Order|int $order A WC_Order object or ID of a WC_Order order.
  * @since 1.1.2
  */
 public static function maybe_record_order_payment($order)
 {
     if (!is_object($order)) {
         $order = new WC_Order($order);
     }
     $subscriptions_in_order = self::get_recurring_items($order);
     foreach ($subscriptions_in_order as $subscription_item) {
         $subscription_key = WC_Subscriptions_Manager::get_subscription_key($order->id, self::get_items_product_id($subscription_item));
         $subscription = WC_Subscriptions_Manager::get_subscription($subscription_key);
         // No payments have been recorded yet
         if (empty($subscription['completed_payments'])) {
             // Don't duplicate orders
             remove_action('processed_subscription_payment', 'WC_Subscriptions_Renewal_Order::generate_paid_renewal_order', 10, 2);
             WC_Subscriptions_Manager::update_subscription($subscription_key, array('start_date' => gmdate('Y-m-d H:i:s')));
             WC_Subscriptions_Manager::process_subscription_payments_on_order($order->id);
             WC_Subscriptions_Manager::safeguard_scheduled_payments($order->customer_user, $subscription_key);
             // Make sure orders are still generated for other payments in the same request
             add_action('processed_subscription_payment', 'WC_Subscriptions_Renewal_Order::generate_paid_renewal_order', 10, 2);
         }
     }
 }
開發者ID:akshayxhtmljunkies,項目名稱:brownglock,代碼行數:34,代碼來源:class-wc-subscriptions-order.php


注:本文中的WC_Subscriptions_Manager::safeguard_scheduled_payments方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。