コード例 #1
0
 public function createRecurlySubscription2(RecurlyAccount $account, $planCode, $billingFirstName, $billingLastName, $billingAddr1, $billingAddr2 = "", $billingCity, $billingState, $billingZIP, $billingCountry = "US", $ccNumber, $ccExpMonth, $ccExpYear, $ccVerificationValue)
 {
     $billing_info = new RecurlyBillingInfo($account->account_code);
     $billing_info->first_name = $billingFirstName;
     $billing_info->last_name = $billingLastName;
     $billing_info->address1 = $billingAddr1;
     $billing_info->address2 = $billingAddr2;
     $billing_info->city = $billingCity;
     $billing_info->state = $billingState;
     $billing_info->country = $billingCountry;
     $billing_info->zip = $billingZIP;
     $billing_info->credit_card->year = intval($ccExpYear);
     $billing_info->credit_card->month = intval($ccExpMonth);
     if (trim($ccVerificationValue) != "") {
         $billing_info->credit_card->verification_value = $ccVerificationValue;
     }
     if (substr($ccNumber, 0, 5) != "*****") {
         $billing_info->credit_card->number = $ccNumber;
     }
     $billing_info->ip_address = $_SERVER['REMOTE_ADDR'];
     $account_info = $billing_info->update();
     $account_info = null;
     $currentSubscription = RecurlySubscription::getSubscription($account->account_code);
     $currentPlanCode = "";
     $currentPlanCost = 0;
     $newPlanCost = 0;
     if ($planCode != "" && $planCode != "daily") {
         $newPlan = RecurlyPlan::getPlan($planCode);
         $newPlanCost = $newPlan->unit_amount_in_cents;
     }
     if ($currentSubscription) {
         $currentPlanCode = $currentSubscription->plan_code;
         $currentPlan = RecurlyPlan::getPlan($currentPlanCode);
         $currentPlanCost = $currentSubscription->unit_amount_in_cents;
     }
     if ($planCode == "" || $planCode == "daily") {
         // if the plan is being moved from a monthly plan to daily, then we have to cancel subscription.
         if ($currentSubscription) {
             RecurlySubscription::cancelSubscription($account->account_code);
         }
     } else {
         // if the plan is being moved from one monthly plan to another, then we have to
         // upgrade or downgrade.
         if ($currentSubscription) {
             // get the current plan's amount and compare to the new one
             if ($newPlanCost > $currentPlanCost) {
                 // upgrade
                 RecurlySubscription::changeSubscription($account->account_code, 'now', $planCode, 1);
             } elseif ($newPlanCost < $currentPlanCost) {
                 RecurlySubscription::changeSubscription($account->account_code, 'renewal', $planCode, 1);
             }
         } else {
             // no current subscription and we want a monthly, so just add a new one
             $subscription = new RecurlySubscription();
             $subscription->plan_code = $planCode;
             $subscription->account = $account;
             $subscription->billing_info = $billing_info;
             $subscription->create();
         }
     }
     return $account_info;
 }
コード例 #2
0
 public function wpGetRecurlyBillingInfo()
 {
     session_start();
     echo json_encode(RecurlyBillingInfo::getBillingInfo($_SESSION['wpuser']['id']));
 }