/** * Payment Paypal * * Handles functionalities about payment * all gateways * * @package Social Deals Engine * @since 1.0.0 */ function wps_deals_process_testmode($cartdetails, $postdata) { global $wps_deals_paypal, $wps_deals_price, $wps_deals_options, $wps_deals_currency, $wps_deals_model, $wps_deals_message; //price class $price = $wps_deals_price; //model class $model = $wps_deals_model; //paypal class $paypal = $wps_deals_paypal; //currency class $currency = $wps_deals_currency; //message class $message = $wps_deals_message; $purchasedata = array(); $purchasedata['user_info'] = array('first_name' => $postdata['wps_deals_cart_user_first_name'], 'last_name' => $postdata['wps_deals_cart_user_last_name'], 'user_name' => $postdata['user_name'], 'user_email' => $postdata['wps_deals_cart_user_email']); $purchasedata['post_data'] = $postdata; $purchasedata['cartdata'] = $cartdetails; $purchasedata['payment_status'] = '1'; $salesid = wps_deals_insert_payment_data($purchasedata); //check sales id id not empty if (!empty($salesid)) { //empty cart wps_deals_empty_cart(); //send to success page $queryurl = array('order_id' => $salesid); wps_deals_send_on_success_page($queryurl); } else { //else show payment is failed $errormsg = __('Payment creation failed while processing a manual (free or test) purchase, Please try again after sometime.', 'wpsdeals'); //error to show on checkout page $message->add_session('error', $errormsg, 'error'); //return to checkout page wps_deals_send_on_checkout_page(); } }
/** * Cheuqe Payment * * Handles functionalities about payment * all gateways * * @package Social Deals Engine * @since 1.0.1 */ function wps_deals_process_cheque($cartdetails, $postdata) { global $wps_deals_paypal, $wps_deals_price, $wps_deals_options, $wps_deals_currency, $wps_deals_model, $wps_deals_message; //price class $price = $wps_deals_price; //model class $model = $wps_deals_model; //paypal class $paypal = $wps_deals_paypal; //currency class $currency = $wps_deals_currency; //message class $message = $wps_deals_message; //payment method $method = $postdata['wps_deals_payment_gateways']; // Check Mark Order As Completed from payment gateways settings if (isset($wps_deals_options['mark_order_complete']) && $wps_deals_options['mark_order_complete'] == '1') { $payment_status = '1'; //completed } else { $payment_status = '5'; //on-hold by default } $purchasedata = array(); $purchasedata['user_info'] = array('first_name' => $postdata['wps_deals_cart_user_first_name'], 'last_name' => $postdata['wps_deals_cart_user_last_name'], 'user_name' => $postdata['user_name'], 'user_email' => $postdata['wps_deals_cart_user_email']); $purchasedata['post_data'] = $postdata; $purchasedata['cartdata'] = $cartdetails; $purchasedata['payment_status'] = $payment_status; $salesid = wps_deals_insert_payment_data($purchasedata); if (!empty($salesid)) { //empty cart wps_deals_empty_cart(); //send to success page $queryurl = array('order_id' => $salesid); wps_deals_send_on_success_page($queryurl); } else { $errormsg = __('Payment creation failed while processing a purchase by cheque, Please try again after sometime.', 'wpsdeals'); //error to show on checkout page $message->add_session('error', $errormsg, 'error'); //return to checkout page wps_deals_send_on_checkout_page(); } }
/** * Payment Paypal * * Handles functionalities about payment * all gateways * * @package Social Deals Engine * @since 1.0.0 */ function wps_deals_process_payment_paypal($cartdetails, $postdata) { global $wps_deals_paypal, $wps_deals_price, $wps_deals_options, $wps_deals_currency, $wps_deals_model; //price class $price = $wps_deals_price; //model class $model = $wps_deals_model; //paypal class $paypal = $wps_deals_paypal; //currency class $currency = $wps_deals_currency; //get payment gateways //$paymentgateways = wps_deals_get_payment_gateways(); //payment method //$method = isset( $postdata['wps_deals_payment_gateways'] ) ? $postdata['wps_deals_payment_gateways'] : 'paypal'; $purchasedata = array(); $purchasedata['user_info'] = array('first_name' => $postdata['wps_deals_cart_user_first_name'], 'last_name' => $postdata['wps_deals_cart_user_last_name'], 'user_name' => $postdata['user_name'], 'user_email' => $postdata['wps_deals_cart_user_email']); //$purchasedata['payment_method'] = $method; //$purchasedata['admin_label'] = $paymentgateways[$method]['admin_label']; //$purchasedata['checkout_label'] = $paymentgateways[$method]['checkout_label']; $purchasedata['post_data'] = $postdata; $purchasedata['cartdata'] = $cartdetails; $payment_status['payment_status'] = '0'; $salesid = wps_deals_insert_payment_data($purchasedata); $cancelurl = wps_deals_checkout_cancel_url(); $thankyouurl = wps_deals_checkout_thank_you_url(); //$cancelurl = isset($wps_deals_options['payment_cancel_page']) ? get_permalink($wps_deals_options['payment_cancel_page']) : ''; //$thankyouurl = isset($wps_deals_options['payment_thankyou_page']) ? get_permalink($wps_deals_options['payment_thankyou_page']) : ''; $cancelurl = add_query_arg(array('wps_deals_cancel_order' => '1', 'order_id' => $salesid), $cancelurl); $thankyouargs = array(); //check user is logged in or not if (is_user_logged_in()) { $thankyouargs['order_id'] = $salesid; } $thankyouurl = add_query_arg($thankyouargs, $thankyouurl); if (!empty($salesid)) { //get order deals $orderdetailsall = $model->wps_deals_get_post_meta_ordered($salesid); $orderdetails = $orderdetailsall['deals_details']; //get the merchant id from settings page $merchantid = $wps_deals_options['paypal_merchant_email']; //make notify url when payapl ipn is going to validate //$notifyurl = add_query_arg(array( 'dealslistner' => 'paypalipn','order_id' => $salesid),home_url()); $notifyurl = trailingslashit(home_url()) . '?dealslistner=paypalipn'; $paypal->add_field('business', $merchantid); $paypal->add_field('return', $thankyouurl); $paypal->add_field('cancel_return', $cancelurl); $paypal->add_field('notify_url', $notifyurl); $paypal->add_field('first_name', $purchasedata['user_info']['first_name']); $paypal->add_field('last_name', $purchasedata['user_info']['last_name']); $paypal->add_field('currency_code', $wps_deals_options['currency']); $paypal->add_field('cmd', '_ext-enter'); // $paypal->add_field('custom', $salesid); // $paypal->add_field('rm', '2'); $paypal->add_field('redirect_cmd', '_cart'); $paypal->add_field('upload', count($orderdetails)); $i = 1; //made proper data format for sending into paypal foreach ($orderdetails as $order) { $dealid = $order['deal_id']; //get deal title $dealtitle = get_the_title($order['deal_id']); //append item name to string which will send into paypal //$item_name .= $dealtitle.','; $item_name = $dealtitle; //get deal price $dealprice = $order['deal_sale_price']; //get deal quantity $dealqty = $order['deal_quantity']; $paypal->add_field('item_name_' . $i, $item_name); $paypal->add_field('amount_' . $i, $dealprice); $paypal->add_field('quantity_' . $i, $dealqty); $i++; } //do action to add field to paypal form do_action('wps_deals_add_paypal_field', $salesid); //add fee amount to paypal $discounted_amount = 0.0; //check fees is set or not in order meta if (isset($orderdetailsall['fees']) && !empty($orderdetailsall['fees'])) { $i = empty($i) ? 1 : $i; foreach ($orderdetailsall['fees'] as $fee_val) { //check fees amount is greated then 0 if (floatval($fee_val['amount']) > '0') { // this is a positive fee $paypal->add_field('item_name_' . $i, $fee_val['label']); $paypal->add_field('quantity_' . $i, '1'); $paypal->add_field('amount_' . $i, $fee_val['amount']); $i++; } else { // This is a negative fee (discount) $discounted_amount += abs($fee_val['amount']); } //end else } //end foreach loop } //end if $discount_count = '0'; //check discounted amount should not empty then add discount amount as per fees if (!empty($discounted_amount)) { $discount_count = '1'; //initial discount count $paypal->add_field('discount_amount_' . $discount_count, $discounted_amount); } //end if to check discount amount //do action to add discount field into paypal fields do_action('wps_deals_paypal_disocunt_field', $discount_count, $salesid); //empty cart wps_deals_empty_cart(); // submit the fields to paypal $paypal->submit_paypal_post(); exit; } else { //return to checkout page wps_deals_send_on_checkout_page(); } }