function process_payment($invoice_id = null, $params) { $success = false; $invoice = PackageInvoice::find_by_id($invoice_id); // process payment $clint = Employer::find_by_id($invoice->fk_employer_id); if ($invoice->cv_views == "Y") { $clint->cv_qty = $invoice->posts_quantity; $clint->add_cvs(); $success = true; } if ($invoice->spotlight == "Y") { $clint->spotlight_qty = $invoice->posts_quantity; $clint->add_more_spotlight_job_post(); $success = true; } if ($invoice->standard == "Y") { $clint->job_qty = $invoice->posts_quantity; $clint->add_more_job_post(); $success = true; } else { } if ($success) { $invoice->package_status = 'Completed'; $invoice->processed_date = date("Y-m-d H:i:s", time()); $invoice->update_package_status(); $invoice_item = new Invoice(); /* start **/ /** $param['payment_status'] = ""; //what is the status of the payment $param['amount'] = ""; // how much was paid for this total amount for each item $param['currency'] = ""; //what currecy they used to pay for this $param['receiver_id'] = ""; // what is the id of person who is paying $param['payment_email']; // what email have they used to pay $param['txn_id'] = ""; // txt id $param['txn_type'] = ""; // how are they pay for this web or ext. $param['payer_status'] = ""; //is user verfied by the method they pay from $param['residence_country'] = ""; //which country does user belogn to //$param['origin'] = ""; //where is the payment come from $param['payment_method'] = ""; // what methoid of payment they used e.g. paypal, ccbill $param['payment_vars'] = ""; //get all var which are return from online site. $param['payment_type'] = ""; //how they pay for this $param['reason'] = ""; // if they cancel then tell user why **/ $invoice_item->fk_invoice_id = $invoice_id; $invoice_item->payment_status = $params['payment_status']; $invoice_item->payment_type = $params['payment_type']; $invoice_item->amount = $params['amount']; $invoice_item->currency = $params['currency']; $invoice_item->receiver_id = $params['receiver_id']; $invoice_item->payment_email = $params['payment_email']; $invoice_item->txn_id = $params['txn_id']; $invoice_item->txn_type = $params['txn_type']; $invoice_item->payer_status = $params['payer_status']; $invoice_item->residence_country = $params['residence_country']; $invoice_item->payment_date = date("Y-m-d H:i:s", time()); $invoice_item->reason = $params['reason']; $invoice_item->origin = $params['payment_method']; $invoice_item->payment_vars = $params['payment_vars']; if ($invoice_item->save()) { /** EMAIL TEXT **/ $email_template = get_lang('email_template', 'confirm_order'); $subject = str_replace("#SiteName#", SITE_NAME, $email_template['email_subject']); $body = $email_template['email_text']; $body = str_replace("#FullName#", $clint->full_name(), $body); $body = str_replace("#SiteName#", SITE_NAME, $body); $body = str_replace("#InvoiceId#", $invoice_id, $body); $body = str_replace("#Qty#", $invoice->posts_quantity, $body); $body = str_replace("#Amount#", $invoice->amount, $body); $body = str_replace("#PayMethod#", 'None', $body); $body = str_replace("#Domain#", $_SERVER['HTTP_HOST'], $body); $body = str_replace("#ContactUs#", ADMIN_EMAIL, $body); $body = str_replace("#Link#", BASE_URL, $body); $to = array("email" => $clint->email_address, "name" => $clint->full_name()); $from = array("email" => NO_REPLY_EMAIL, "name" => SITE_NAME); /** end email text **/ $mail = send_mail($body, $subject, $to, $from, "", ""); //redirect_to(BASE_URL."employer/credits/"); //die; return $mail; } } return false; }
$packageinvoice->amount = $package->package_price; $packageinvoice->item_name = $package->package_name; $packageinvoice->subscr_date = ""; $packageinvoice->payment_method = ""; $packageinvoice->currency_code = ""; $packageinvoice->currency_rate = ""; $packageinvoice->reason = ""; if ($packageinvoice && $packageinvoice->save()) { $invoice_id = $db->insert_id(); } else { } } } $packageinvoice->id = $invoice_id; $packageinvoice->delete_inactive_invoice(); $found_invoice = PackageInvoice::find_by_id($invoice_id); if (!$found_invoice) { redirect_to(BASE_URL . "employer/credits/"); } $smarty->assign('found_invoice', $found_invoice); } else { redirect_to(BASE_URL . "employer/credits/"); } //payment_method.tpl $PaymentModules = PaymentModules::find_all_active(); if ($PaymentModules) { $i = 1; $manage_lists = array(); foreach ($PaymentModules as $row) { $manage_lists[$i]['id'] = $row->id; $manage_lists[$i]['name'] = $row->name;
//confirmation_page.php if (FREE_SITE == "Y") { redirect_to(BASE_URL . "employer/account/"); die; } $invoice_id = (int) $_REQUEST['invoice_id']; $payment_method = $_REQUEST['payment_method']; if (!isset($invoice_id)) { redirect_to(BASE_URL . "employer/credits/"); } $user_id = $session->get_user_id(); $smarty->assign('user_id', $user_id); $username = $session->get_username(); $smarty->assign('username', $username); $user = Employer::find_by_id($user_id); $packageinvoice = PackageInvoice::find_by_id($invoice_id); $status = 'Confirmed'; $packageinvoice->package_status = $status; $packageinvoice->payment_method = $payment_method; if ($packageinvoice->amount == 0.0) { $payment_method = 'free'; $packageinvoice->payment_method = 'free'; } // if ($packageinvoice->amount != 0.0 && $payment_method == 'free') { $session->message("<div class='error'>" . format_lang('error', 'noPaymentSelected') . "</div>"); redirect_to(BASE_URL . "employer/credits/"); exit; } $packageinvoice->save(); $smarty->assign('p_invoice', $packageinvoice);
$body = str_replace("#Domain#", $_SERVER['HTTP_HOST'], $body); $body = str_replace("#ContactUs#", ADMIN_EMAIL, $body); $body = str_replace("#Link#", BASE_URL, $body); $to = array("email" => $clint->email_address, "name" => $clint->full_name()); $from = array("email" => NO_REPLY_EMAIL, "name" => SITE_NAME); /** end email text **/ $mail = send_mail($body, $subject, $to, $from, "", ""); redirect_to(BASE_URL . "employer/credits/"); die; } } } if (isset($_POST['bt_confirm'])) { if ($package_invoice->package_status != "Confirmed") { $id = $package_invoice->id; $packageinvoice = new PackageInvoice(); $packageinvoice->id = $id; $packageinvoice->package_status = "Confirmed"; $packageinvoice->update_package_status(); } $package_invoice = PackageInvoice::find_by_id($_POST['invoice_id']); $smarty->assign('package_invoice', $package_invoice); } else { redirect_to(BASE_URL . "employer/credits/"); die; } $smarty->assign('dont_include_left', true); $html_title = SITE_NAME . " - Credits "; $smarty->assign('lang', $lang); $smarty->assign('message', $message); $smarty->assign('rendered_page', $smarty->fetch('employer/payment.tpl'));
function processing($payment_status, $params) { global $paypal_email, $paypal_currency; $invoice_id = $params['item_number']; $invoice = PackageInvoice::find_by_id($invoice_id); switch ($payment_status) { case "Canceled_Reversal": $invoice->package_status = 'Canceled_Reversal'; $invoice->update_package_status(); break; case "Completed": if ($paypal_email == $params['receiver_email'] && $paypal_currency == $params['mc_currency'] && $invoice->amount == $params['mc_gross'] && $invoice->package_status != "Completed") { $param['payment_status'] = "Completed"; //what is the status of the payment $param['amount'] = $params['mc_gross']; // how much was paid for this total amount for each item $param['currency'] = $paypal_currency; //what currecy they used to pay for this $param['receiver_id'] = $params['receiver_id']; // what is the id of person who is paying $param['payment_email'] = $params['payer_email']; // what email have they used to pay $param['txn_id'] = $params['txn_id']; // txt id $param['txn_type'] = $params['txn_type']; // how are they pay for this web or ext. $param['payer_status'] = $params['payer_status']; //is user verfied by the method they pay from $param['residence_country'] = $params['residence_country']; //which country does user belogn to //$params['origin'] = ""; //where is the payment come from $param['payment_method'] = "paypal"; // what methoid of payment they used e.g. paypal, ccbill $param['payment_vars'] = addslashes(serialize($params)); //get all var which are return from online site. $param['payment_type'] = $params['payment_type']; //how they pay for this $param['reason'] = ""; // if they cancel then tell user why process_payment($invoice_id, $param); } break; case "Denied": // denied by merchant //$invoice->id = $invoice_id; $invoice->package_status = 'Denied'; $invoice->update_package_status(); break; case "Failed": // only happens when payment is from customers' bank account //$invoice->id = $invoice_id; $invoice->package_status = 'Failed'; $invoice->update_package_status(); break; case "Pending": //$invoice->id = $invoice_id; $invoice->package_status = 'Pending'; $invoice->update_package_status(); break; case "Refunded": //$invoice->id = $invoice_id; $invoice->package_status = 'Refunded'; $invoice->update_package_status(); break; case "Reversed": //$invoice->id = $invoice_id; $invoice->package_status = 'Reversed'; $invoice->update_package_status(); break; case "Expired": //$invoice->id = $invoice_id; $invoice->package_status = 'Expired'; $invoice->update_package_status(); break; default: break; } }