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; }
public function wpGetRecurlyBillingInfo() { session_start(); echo json_encode(RecurlyBillingInfo::getBillingInfo($_SESSION['wpuser']['id'])); }