Пример #1
0
 /**
  * Post manual additions transacton form
  */
 static function addManually($params)
 {
     extract($params);
     $ipn_url = Config::get('project.paypal_ipn_url');
     $params = array('first_name' => Input::get('first_name'), 'last_name' => Input::get('last_name'), 'email' => Input::get('email'), 'password' => Input::get('password'), 'product_id' => Input::get('product_id'), 'plan_id' => Input::get('plan_id'), 'pay_id' => Input::get('pay_id'), 'stripe_token' => Input::get('stripe_token'), 'paypal_sub_id' => Input::get('paypal_sub_id'), 'amount' => Input::get('amount'), 'affiliate_id' => Input::get('affiliate_id'));
     $members[] = array('email' => $email, 'fname' => $first_name, 'lname' => $last_name);
     $data = array();
     if ($members) {
         foreach ($members as $member) {
             // Add or get buyer
             if ($buyer = Buyer::getOrCreate($member)) {
                 // Get Plan
                 $plan = Plan::find($plan_id);
                 if ($plan and !$plan->is_oto) {
                     // Add purchase for the buyer
                     $purchase = new Purchase();
                     $purchase->buyer_id = $buyer->id;
                     $purchase->product_id = $product_id;
                     $purchase->plan_id = $plan_id;
                     $purchase->stripe_token = $stripe_token ? $stripe_token : NULL;
                     $purchase->paypal_sub_id = $paypal_sub_id ? $paypal_sub_id : NULL;
                     $purchase->pay_method = 2;
                     $purchase->affiliate_id = $affiliate_id;
                     // If method is Stripe
                     if ($pay_id and DKHelpers::GetPayMethod($pay_id) == 'Stripe') {
                         $purchase->pay_method = 1;
                     }
                     $purchase->save();
                 }
                 // Push to PayPal IPN of DK
                 $ipn_data = array('plan_id' => $plan_id, 'product_id' => $product_id, 'email' => $buyer->email, 'first_name' => $buyer->first_name, 'last_name' => $buyer->last_name, 'password' => $password, 'transaction_id' => $pay_id ? $pay_id : 'MNL-' . time(), 'amount' => $amount, 'manual_transaction' => TRUE);
                 if ($password) {
                     $ipn_data['dk_new_user'] = TRUE;
                 } else {
                     $ipn_data['dk_new_charge'] = TRUE;
                     $ipn_data['buyer_id'] = $buyer->id;
                 }
                 // Add Curl library
                 require_once app_path() . "/libraries/Curl/Curl.php";
                 // Post data to IPN
                 $curl = new Curl();
                 $curl->simple_post($ipn_url, $ipn_data, array(CURLOPT_BUFFERSIZE => 10));
             }
         }
     }
     return TRUE;
 }