if (!isset($CustomerID)) { die('d4'); } if (!isset($email)) { die('d5'); } // // DoExpressCheckoutPayment // // Add request-specific fields to the request string. $nvpStr = PPAddNVPItem($itemName, $itemPrice, $custom); $nvpStr .= "&TOKEN=" . $token; $nvpStr .= "&PAYERID=" . $payerID; $nvpStr .= "&PAYMENTACTION=" . "Sale"; // Complete an Express Checkout transaction. $httpParsedResponseAr = PPHttpPost('DoExpressCheckoutPayment', $nvpStr); $ack = strtoupper($httpParsedResponseAr["ACK"]); if ($ack != "SUCCESS" && $ack != "SUCCESSWITHWARNING") { exit('DoExpressCheckoutDetails failed: ' . urldecode(print_r($httpParsedResponseAr, true))); } //exit('Express Checkout Payment Completed Successfully: ' . urldecode(print_r($httpParsedResponseAr, true))); // // check if payment was successful // $PaymentStatus = urldecode($httpParsedResponseAr['PAYMENTINFO_0_PAYMENTSTATUS']); if (strtoupper($PaymentStatus) != "COMPLETED") { echo "There was error in your payment: {$PaymentStatus}<br><br>"; echo "Please include following information and e-mail it to support@thewarinc.com<br>"; echo urldecode(print_r($httpParsedResponseAr, true)); exit; }
return $httpParsedResponseAr; } /** * This example assumes that this is the return URL in the SetExpressCheckout API call. * The PayPal website redirects the user to this page with a token. */ // Obtain the token from PayPal. if (!array_key_exists('token', $_REQUEST)) { exit('Token is not received.'); } // Set request-specific fields. $token = urlencode(htmlspecialchars($_REQUEST['token'])); // Add request-specific fields to the request string. $nvpStr = "&TOKEN={$token}"; // Execute the API operation; see the PPHttpPost function above. $httpParsedResponseAr = PPHttpPost('GetExpressCheckoutDetails', $nvpStr); if ("SUCCESS" == strtoupper($httpParsedResponseAr["ACK"]) || "SUCCESSWITHWARNING" == strtoupper($httpParsedResponseAr["ACK"])) { // Extract the response details. $payerID = $httpParsedResponseAr['PAYERID']; $street1 = $httpParsedResponseAr["SHIPTOSTREET"]; if (array_key_exists("SHIPTOSTREET2", $httpParsedResponseAr)) { $street2 = $httpParsedResponseAr["SHIPTOSTREET2"]; } $city_name = $httpParsedResponseAr["SHIPTOCITY"]; $state_province = $httpParsedResponseAr["SHIPTOSTATE"]; $postal_code = $httpParsedResponseAr["SHIPTOZIP"]; $country_code = $httpParsedResponseAr["SHIPTOCOUNTRYCODE"]; exit('Get Express Checkout Details Completed Successfully: ' . print_r($httpParsedResponseAr, true)); } else { exit('GetExpressCheckoutDetails failed: ' . print_r($httpParsedResponseAr, true)); }
$emailSubject = urlencode($vEmailSubject); $receiverType = urlencode('EmailAddress'); $currency = urlencode('USD'); // or other currency ('GBP', 'EUR', 'JPY', 'CAD', 'AUD') // Receivers // Use '0' for a single receiver. In order to add new ones: (0, 1, 2, 3...) // Here you can modify to obtain array data from database. $receivers = array(0 => array('receiverEmail' => "*****@*****.**", 'amount' => "1.00", 'uniqueID' => "id_001", 'note' => " payment of commissions")); // space again at beginning. $receiversLenght = count($receivers); // Add request-specific fields to the request string. $nvpStr = "&EMAILSUBJECT={$emailSubject}&RECEIVERTYPE={$receiverType}&CURRENCYCODE={$currency}"; $receiversArray = array(); for ($i = 0; $i < $receiversLenght; $i++) { $receiversArray[$i] = $receivers[$i]; } foreach ($receiversArray as $i => $receiverData) { $receiverEmail = urlencode($receiverData['receiverEmail']); $amount = urlencode($receiverData['amount']); $uniqueID = urlencode($receiverData['uniqueID']); $note = urlencode($receiverData['note']); $nvpStr .= "&L_EMAIL{$i}={$receiverEmail}&L_Amt{$i}={$amount}&L_UNIQUEID{$i}={$uniqueID}&L_NOTE{$i}={$note}"; } // Execute the API operation; see the PPHttpPost function above. $httpParsedResponseAr = PPHttpPost('MassPay', $nvpStr); if ("SUCCESS" == strtoupper($httpParsedResponseAr["ACK"]) || "SUCCESSWITHWARNING" == strtoupper($httpParsedResponseAr["ACK"])) { print $httpParsedResponseAr['ACK']; exit('MassPay Completed Successfully: ' . print_r($httpParsedResponseAr, true)); } else { exit('MassPay failed: ' . print_r($httpParsedResponseAr, true)); }
$shipping_cost = 0; $totaltaxrate = number_format($_SESSION["TAX_TOTAL"], 2, ".", ""); //shipping cost $shipping_cost = number_format($_SESSION['SHIPPING_TOTAL'], 2, ".", ""); $paymentMethod = "CC"; $gift_coupon_flag = 0; $currencyCode = getSettingsValue("admin_currency"); $currencyID = urlencode($currencyCode); $paymentsuccessful = false; $paymenterror = ""; // Keep this as Authorization always $paymentType = urlencode('Authorization'); // or 'Sale' $nvpStr = "&PAYMENTACTION={$paymentType}&AMT={$totaltopay}&CREDITCARDTYPE={$txtCardType}&ACCT={$txtCardNumber}" . "&EXPDATE={$padDateMonth}{$txtExpYear}&CVV2={$txtCVV}&FIRSTNAME={$txtFirstName}&LASTNAME={$txtLastName}" . "&STREET={$txtAddress1}&CITY={$txtCity}&STATE={$txtState}&ZIP={$txtZIP}&COUNTRYCODE={$txtCountry}&CURRENCYCODE={$currencyID}"; // Execute the API operation; see the PPHttpPost function above. $httpParsedResponseAr = PPHttpPost('DoDirectPayment', $nvpStr); if ("SUCCESS" == strtoupper($httpParsedResponseAr["ACK"]) || "SUCCESSWITHWARNING" == strtoupper($httpParsedResponseAr["ACK"])) { //exit('Direct Payment Completed Successfully: <br>'.print_r($httpParsedResponseAr, true)); $paymentsuccessful = true; if (isset($_SESSION['couponCode_det']) && $_SESSION['couponCode_det'] != '') { $nameCouponCode = ",couponCode,couponCodeDiscount"; $valueCouponCode = ',"' . $_SESSION['couponCode_det']['ccCode'] . '",' . $_SESSION['couponCode_det']['ccDiscount']; echo $sql_updatecouponCode = "UPDATE " . $tableprefix . "couponCode SET subscriptionStatus='N' WHERE ccID =" . $_SESSION['couponCode_det']['ccID']; mysql_query($sql_updatecouponCode); unset($_SESSION['couponCode_det']); } if ($paymentsuccessful) { // check if credit card payment is success $amountpaid = number_format($_SESSION['amount_paid'], 2, ".", ""); $sql = "INSERT INTO " . $tableprefix . "orders (\n\t\t\t\tuser_id,\n\t\t\t\tbilling_first_name,\n\t\t\t\tbilling_last_name,\n\t\t\t\tbilling_address1,\n\t\t\t\tbilling_address2,\n\t\t\t\tbilling_city,\n\t\t\t\tbilling_state,\n\t\t\t\tbilling_country,\n\t\t\t\tbilling_zip,\n\t\t\t\tbilling_fax,\n\t\t\t\tbilling_email,\n\t\t\t\tbilling_phone,\n\t\t\t\tshipping_first_name,\n\t\t\t\tshipping_last_name,\n\t\t\t\tshipping_address1,\n\t\t\t\tshipping_address2,\n\t\t\t\tshipping_city,\n\t\t\t\tshipping_state,\n\t\t\t\tshipping_country,\n\t\t\t\tshipping_zip,\n\t\t\t\tshipping_fax,\n\t\t\t\tshipping_email,\n\t\t\t\tshipping_phone,\n\t\t\t\tprefered_shippin_method,\n\t\t\t\torder_date,\n\t\t\t\torder_total_price,\n\t\t\t\ttaxrate,\n\t\t\t\torder_status,\n\t\t\t\ttransaction_id,\n\t\t\t\tvorder_currency" . $nameCouponCode . ",\n\t\t\t\tnamount_paid,\n buyer_comments,\n vpayment_status\n\t\t\t\t) VALUES(\n\t\t\t\t'" . addslashes($_SESSION["sess_userid"]) . "',\n\t\t\t\t'" . addslashes($_SESSION["sessBillingFirstName"]) . "',\n\t\t\t\t'" . addslashes($_SESSION["sessBillingLastName"]) . "',\n\t\t\t\t'" . addslashes($_SESSION["sessBillingAddress1"]) . "',\n\t\t\t\t'" . addslashes($_SESSION["sessBillingAddress2"]) . "',\n\t\t\t\t'" . addslashes($_SESSION["sessBillingCity"]) . "',\n\t\t\t\t'" . addslashes($_SESSION["sessBillingState"]) . "',\n\t\t\t\t'" . addslashes($_SESSION["sessBillingCountry"]) . "',\n\t\t\t\t'" . addslashes($_SESSION["sessBillingZIP"]) . "',\n\t\t\t\t'" . addslashes($_SESSION["sessBillingFAX"]) . "',\n\t\t\t\t'" . addslashes($_SESSION["sessBillingEmail"]) . "',\n\t\t\t\t'" . addslashes($_SESSION["sessBillingPhone"]) . "',\n\t\t\t\t'" . addslashes($_SESSION["sessShippingFirstName"]) . "',\n\t\t\t\t'" . addslashes($_SESSION["sessShippingLastName"]) . "',\n\t\t\t\t'" . addslashes($_SESSION["sessShippingAddress1"]) . "',\n\t\t\t\t'" . addslashes($_SESSION["sessShippingAddress2"]) . "',\n\t\t\t\t'" . addslashes($_SESSION["sessShippingCity"]) . "',\n\t\t\t\t'" . addslashes($_SESSION["sessShippingState"]) . "',\n\t\t\t\t'" . addslashes($_SESSION["sessShippingCountry"]) . "',\n\t\t\t\t'" . addslashes($_SESSION["sessShippingZIP"]) . "',\n\t\t\t\t'" . addslashes($_SESSION["sessShippingFAX"]) . "',\n\t\t\t\t'" . addslashes($_SESSION["sessShippingEmail"]) . "',\n\t\t\t\t'" . addslashes($_SESSION["sessShippingPhone"]) . "',\n\t\t\t\t'" . addslashes($_SESSION["sessShippingDisplayName"]) . "',\n\t\t\t\tnow(),\n\t\t\t\t'" . addslashes($totaltopay) . "',\n\t\t\t\t'" . addslashes($totaltaxrate) . "',\n\t\t\t\t'1',\n\t\t\t\t'" . addslashes($tx_token) . "',\n\t\t\t\t'" . $currency_attributes[2] . "'" . $valueCouponCode . ",\n\t\t\t\t'" . addslashes($amountpaid) . "',\n '" . addslashes($_SESSION["SESS_BUYER_COMMENTS"]) . "',\n 'C'\n\t\t\t\t)"; mysql_query($sql);
$DESC = urlencode("Some Text"); $creditCardType = urlencode("Visa"); $creditCardAccount = urlencode("4647878288359292"); //$creditCardAccount = urlencode("4779297617944965"); $cardExpireDate = urlencode("102017"); $cardCvv2 = urlencode("111"); $PAYERSTATUS = urlencode("verified"); $STREET = urlencode("Stockholm"); $CITY = urlencode("Stockholm"); $STATE = urlencode("CA"); $COUNTRYCODE = urlencode("US"); $ZIP = urlencode("95131"); $FIRSTNAME = urlencode("Test"); $LASTNAME = urlencode("TAHER"); $EMAIL = urlencode("*****@*****.**"); $INITAMT = urlencode("20.00"); $FAILEDINITAMTACTION = urlencode("ContinueOnFailure"); $MAXFAILEDPAYMENTS = urlencode("10"); $ITEMCATEGORY0 = urlencode("Digital"); $ITEMNAME0 = urlencode("Item Name"); $ITEMAMT0 = urlencode("10"); $ITEMQTY0 = urlencode("1"); $nvpStr = "&AMT={$paymentAmount}&CURRENCYCODE={$currencyID}&PROFILESTARTDATE={$startDate}"; $nvpStr .= "&BILLINGPERIOD={$billingPeriod}&BILLINGFREQUENCY={$billingFreq}&DESC={$DESC}&CREDITCARDTYPE={$creditCardType}&ACCT={$creditCardAccount}&EXPDATE={$cardExpireDate}&CVV2={$cardCvv2}&PAYERSTATUS={$PAYERSTATUS}&STREET={$STREET}\n&CITY={$CITY}&COUNTRYCODE={$COUNTRYCODE}&ZIP={$ZIP}&FIRSTNAME={$FIRSTNAME}&LASTNAME={$LASTNAME}\n&INITAMT={$INITAMT}&FAILEDINITAMTACTION={$FAILEDINITAMTACTION}&MAXFAILEDPAYMENTS={$MAXFAILEDPAYMENTS}\n&L_PAYMENTREQUEST_0_ITEMCATEGORY0={$ITEMCATEGORY0}&L_PAYMENTREQUEST_0_NAME0={$ITEMNAME0}\n&L_PAYMENTREQUEST_0_AMT0={$ITEMAMT0}&L_PAYMENTREQUEST_0_QTY0={$ITEMQTY0}"; $httpParsedResponseAr = PPHttpPost('CreateRecurringPaymentsProfile', $nvpStr); if ("SUCCESS" == strtoupper($httpParsedResponseAr["ACK"]) || "SUCCESSWITHWARNING" == strtoupper($httpParsedResponseAr["ACK"])) { echo $httpParsedResponseAr['TRANSACTIONID']; exit('CreateRecurringPaymentsProfile Completed Successfully: ' . print_r($httpParsedResponseAr, true)); } else { exit('CreateRecurringPaymentsProfile failed: ' . print_r($httpParsedResponseAr, true)); }
function process_order() { //post from shipping info form if (isset($_SESSION['cart'])) { //validation $this->load->helper('email'); $error = ''; $name = $this->input->post('name', true); if (!$name || $name == '' || strlen($name) < 4) { $error .= "<div class='error'>*Name should be no less than 4 letters.</div>"; } $email = $this->input->post('email', true); if ($email == '' || !valid_email($email)) { $error .= "<div class='error'>*Please check email address.</div>"; } //$phone = $this->input->post('phone', true); //if ($phone == '' || strlen($phone) < 10) $error .= "<div class='error'>*Invalid phone, include area code.</div>"; $street = $this->input->post('street', true); if ($street == '' || strlen($street) < 7) { $error .= "<div class='error'>*Invalid street address</div>"; } $city = $this->input->post('city', true); if ($city == '' || strlen($city) < 2) { $error .= "<div class='error'>*Enter a city</div>"; } $state = $this->input->post('state', true); if ($state == '..' || strlen($state) < 2) { $error .= "<div class='error'>*Select a state</div>"; } $zip = $this->input->post('zip', true); if ($zip == '' || strlen($zip) < 5 || !is_numeric($zip)) { $error .= "<div class='error'>*Enter a valid zip code.</div>"; } $comment = $this->input->post('comment', true); $_SESSION['comment'] = $comment; //last minute check to see if items in cart are still in stock $stock = $this->in_stock($_SESSION['cart']); if (!$stock['all_available']) { //Not all items are in stock $depleted = ''; //$items_to_unset = array(); //get the Names of the items that are depleted foreach ($stock['results'] as $array => $item) { if ($item['quantity'] < 0) { $depleted .= ucwords($item['title']) . " is out of stock.<br />"; //delete items that have been depleted from the inventory while the user was shopping $this->cart_model->delete_from_cart($item['id']); } } $error .= "<div class='error'>" . $depleted . "</div>"; } if ($error) { $this->session->set_flashdata('error', $error); redirect('cart/confirm_order'); } //END validation //overwrite in case user corrects the form values at the confirm order page $_SESSION['name'] = $name; $_SESSION['email'] = $email; $_SESSION['street'] = $street; $_SESSION['city'] = $city; $_SESSION['state'] = $state; $_SESSION['zip'] = $zip; $data['view'] = "success_view"; $title = "Thank You For Your Order"; //if they left the 'send me updates' checked, insert them into the subscribers table if ($this->input->post('optin', true)) { $this->db->insert('subscribers', array('email' => $email, 'name' => $name)); } //if order is from florida, this later if ($state == 'FL') { $_SESSION['fl'] = 'y'; } else { $_SESSION['fl'] = 'n'; } // save the order $shipping_id = $this->cart_model->save_shipping(); $order_id = $this->cart_model->save_order($shipping_id); //diminish item quantities from inventory if ($order_id > 0) { $items = array(); foreach ($_SESSION['cart'] as $id => $item) { array_push($items, array('id' => $id, 'quantity' => $item['quantity'])); } $updated = $this->cart_model->update_inventory($items); } if ($updated > 0) { //if update successful //Do Express PayPal Checkout $payerID = urlencode($_SESSION['payer_id']); $token = urlencode($_SESSION['token']); $paymentType = urlencode("Sale"); // or 'Sale' or 'Order' $paymentAmount = urlencode(number_format($_SESSION['total_price'], 2, '.', '')); $currencyID = urlencode("USD"); // or other currency code ('GBP', 'EUR', 'JPY', 'CAD', 'AUD') // Add request-specific fields to the request string. $this->nvpStr .= "&TOKEN={$token}&PAYERID={$payerID}&PAYMENTACTION={$paymentType}&AMT={$paymentAmount}&CURRENCYCODE={$currencyID}"; //die($nvpStr); // Execute the API operation; see the PPHttpPost function above. $httpParsedResponseAr = PPHttpPost('DoExpressCheckoutPayment', $this->nvpStr); if ("Success" == $httpParsedResponseAr["ACK"]) { //put the cart variables in a temporary variable $data['view_data']['final_array'] = $_SESSION; //finally, destroy the cart and user info $_SESSION = array(); session_destroy(); //exit('Express Checkout Payment Completed Successfully: <pre>'.print_r($httpParsedResponseAr, true)); } else { $this->paypal_error($httpParsedResponseAr); } } else { $this->test("Failed to update inventory <br />Items: ", $items); } $data['view'] = "success_view"; $this->load_headers($title, $data); $this->load->view('main_view', $this->data); } else { redirect('cart/view'); } }
function sendCCPayment($domain, $databaseName, $fname, $lname, $company, $ref_ids, $email, $phone, $street, $city, $state, $zip, $country, $card_type, $card_number, $cvv, $exp_date, $total, $sub_amt, $can_contact, $ip, $lm_type, $lm_description, $lm_user_id) { //collect confirmed payees and run paypal transaction // Set request-specific fields. $currency = 'USD'; // or other currency ('GBP', 'EUR', 'JPY', 'CAD', 'AUD') //build nvp string $nvp = ''; $nvp .= '&PAYMENTACTION=Sale'; $nvp .= '&IPADDRESS=' . urlencode($ip); $nvp .= '&AMT=' . urlencode($total); $nvp .= '&CURRENCYCODE=' . urlencode($currency); $nvp .= '&CREDITCARDTYPE=' . urlencode($card_type); $nvp .= '&ACCT=' . urlencode($card_number); $nvp .= '&EXPDATE=' . urlencode($exp_date); $nvp .= '&CVV2=' . urlencode($cvv); $nvp .= '&FIRSTNAME=' . urlencode($fname); $nvp .= '&LASTNAME=' . urlencode($lname); $nvp .= '&STREET=' . urlencode($street); $nvp .= '&CITY=' . urlencode($city); $nvp .= '&STATE=' . urlencode($state); $nvp .= '&ZIP=' . urlencode($zip); $nvp .= '&COUNTRYCODE=' . urlencode($country); // store customer data if required, return customer_id for payment $cust = storeCustomerData($domain, $fname, $lname, $company, $ref_ids, $email, $phone, $street, $city, $state, $zip, $country, $can_contact); if (isset($cust["error"])) { return array('error' => "Buyer", 'errorMsg' => "Error in Buyer Creation: " . $cust["error"]); } else { $cust = $cust['customer_id']; } $buyer = storeBuyerData($cust, $fname, $lname, $company, $email, $phone, $street, $city, $state, $zip, $country); if (isset($ret["error"])) { return array('error' => "Buyer", 'errorMsg' => "Error in Buyer Creation: " . $ret["error"]); } $buyer_id = $buyer["buyer_id"]; // $instance = getInstanceNameFromDomain($domain); $instance = $databaseName; if ($instance == "") { return array('error' => "Invalid domain", 'errorMsg' => "Invalid domain: " . $domain); } $ret = changeCampaignStatus($ref_ids, "R", $instance); if (isset($ret["error"])) { return array('error' => "Recognition", 'errorMsg' => "Error in Recognition Period Update (R): " . $ret["error"]); } // Execute the API operation; see the PPHttpPost function in the paypal-functions.php file. $PPResponseAr = PPHttpPost('DoDirectPayment', $nvp); $warningMsg = ""; if (isset($PPResponseAr["ACK"])) { $transactionID = ""; if (isset($PPResponseAr["TRANSACTIONID"])) { $transactionID = $PPResponseAr["TRANSACTIONID"]; } $longMessage = ""; if (isset($PPResponseAr["L_LONGMESSAGE0"])) { $longMessage = urldecode($PPResponseAr["L_LONGMESSAGE0"]); } $save = storePaymentData($cust, $card_type, $PPResponseAr["ACK"], $total, $sub_amt, $transactionID, $ip, $lm_type, $domain, $ref_ids, $lm_description, $lm_user_id, $buyer_id, $longMessage); if (isset($save['error'])) { $payment = -1; $warningMsg .= '<p>Warning: ' . $save['error'] . "</p>"; } else { $payment = $save['payment_id']; } } if (isset($PPResponseAr["ACK"]) && ("SUCCESS" == strtoupper($PPResponseAr["ACK"]) || "SUCCESSWITHWARNING" == strtoupper($PPResponseAr["ACK"]))) { $ret = changeCampaignStatus($ref_ids, "Y", $instance); if (isset($ret["error"])) { $warningMsg .= "<p>Warning: Error in Recognition Period Update (Y), " . $ret["error"] . "</p>"; } $invoice = 1000000 + intval($payment); $invoice = $cust . '' . $invoice; //payment posted /** * $PPResponseAr["TIMESTAMP"] * $PPResponseAr["CORRELATIONID"] * $PPResponseAr["ACK"] * $PPResponseAr["VERSION"] * $PPResponseAr["BUILD"] * $PPResponseAr["AMT"] * $PPResponseAr["CURRENCYCODE"] * $PPResponseAr["AVSCODE"] //X * $PPResponseAr["CVV2MATCH"] //M * $PPResponseAr["TRANSACTIONID"] */ $name = $fname . ' ' . $lname; success_notify($name, $email, $company, $street, $city, $state, $zip, $country, $phone, $lm_description, $total, $invoice, $PPResponseAr["TRANSACTIONID"]); $messJournal = "A payment has been made for a Recognition Period!"; if ("SUCCESSWITHWARNING" == strtoupper($PPResponseAr["ACK"])) { $messJournal .= " Warning in Paypal transaction."; } // Make a notice in journal $data = array('user' => JOURNAL_API_USER, 'pwd' => sha1(JOURNAL_API_PWD), 'message' => $messJournal); ob_start(); $res = CURLHandler::Post(JOURNAL_API_URL, $data); ob_end_clean(); $ret = array('success' => strtoupper($PPResponseAr["ACK"]), 'transactionID' => $PPResponseAr["TRANSACTIONID"], 'warning' => $warningMsg); } else { // We are not in an asynchronous process so put back the campaign in card $ret = changeCampaignStatus($ref_ids, "C", $instance); if (isset($ret["error"])) { $warningMsg .= "<p>Warning: Error in Recognition Period Update (N), " . $ret["error"] . "</p>"; } if (isset($PPResponseAr["L_SEVERITYCODE0"])) { $errorMsg = $PPResponseAr["ACK"] . ", " . $PPResponseAr["L_SEVERITYCODE0"] . ': ' . urldecode($PPResponseAr["L_SHORTMESSAGE0"]) . ' (' . $PPResponseAr["L_ERRORCODE0"] . ') - ' . urldecode($PPResponseAr["L_LONGMESSAGE0"]) . $warningMsg; } else { $errorMsg = $PPResponseAr["ACK"] . ", " . $PPResponseAr["errorMsg"] . $warningMsg; } fail_notify($fname . ' ' . $lname, $email, $company, $street, $city, $state, $zip, $country, $phone, $lm_description, $total, $errorMsg); if (isset($PPResponseAr["L_SEVERITYCODE0"])) { $ret = array('error' => $PPResponseAr["L_ERRORCODE0"], 'errorMsg' => $errorMsg); } else { $ret = array('error' => $PPResponseAr["ACK"], 'errorMsg' => $errorMsg); } } return $ret; }
$tmpAr = explode("=", $value); if (sizeof($tmpAr) > 1) { $httpParsedResponseAr[$tmpAr[0]] = $tmpAr[1]; } } if (0 == sizeof($httpParsedResponseAr) || !array_key_exists('ACK', $httpParsedResponseAr)) { exit("Invalid HTTP Response for POST request({$nvpreq}) to {$API_Endpoint}."); } return $httpParsedResponseAr; } // Set request-specific fields. $PROFILEID = urlencode('I-VBFVA5NB8XJD'); // Add request-specific fields to the request string. $nvpStr = "&PROFILEID={$PROFILEID}"; // Execute the API operation; see the PPHttpPost function above. $recurringPaymentProfileDetails = PPHttpPost('GetRecurringPaymentsProfileDetails', $nvpStr); echo "Current date: " . date("H:i:s"); if ("SUCCESS" == strtoupper($recurringPaymentProfileDetails["ACK"]) || "SUCCESSWITHWARNING" == strtoupper($recurringPaymentProfileDetails["ACK"])) { $data_org_billing_success['next_scheduled_billing_date'] = str_replace('%2d', '-', $recurringPaymentProfileDetails['NEXTBILLINGDATE']); $data_org_billing_success['next_scheduled_billing_date'] = str_replace('%3a', ':', $data_org_billing_success['next_scheduled_billing_date']); $data_org_billing_success['no_of_billing_cycle_completed'] = "no_of_billing_cycle_completed+1"; $data_org_billing_success['no_of_billing_cycle_remaining'] = "total_billing_cycle-no_of_billing_cycle_completed"; $data_org_billing_success['current_outstanding_balance'] = str_replace('%2e', '.', $recurringPaymentProfileDetails['OUTSTANDINGBALANCE']); $data_org_billing_success['amount_of_last_successful_payment'] = str_replace('%2e', '.', $recurringPaymentProfileDetails['LASTPAYMENTAMT']); $data_org_billing_success['total_paid_amount'] = "total_paid_amount+" . $data_org_billing_success['amount_of_last_successful_payment']; $data_org_billing_success['date_of_last_successful_payment'] = str_replace('%2d', '-', $recurringPaymentProfileDetails['LASTPAYMENTDATE']); $data_org_billing_success['date_of_last_successful_payment'] = str_replace('%3a', ':', $data_org_billing_success['date_of_last_successful_payment']); print_r($data_org_billing_success); exit; exit('GetTransactionDetails Completed Successfully: ' . print_r($recurringPaymentProfileDetails, true)); } else {
} } if (0 == sizeof($httpParsedResponseAr) || !array_key_exists('ACK', $httpParsedResponseAr)) { exit("Invalid HTTP Response for POST request({$nvpreq}) to {$API_Endpoint}."); } return $httpParsedResponseAr; } // Set request-specific fields. $paymentAmount = urlencode('example_payment_amuont'); $currencyID = urlencode('USD'); // or other currency code ('GBP', 'EUR', 'JPY', 'CAD', 'AUD') $paymentType = urlencode('Authorization'); // or 'Sale' or 'Order' $returnURL = urlencode("my_return_url"); $cancelURL = urlencode('my_cancel_url'); // Add request-specific fields to the request string. $nvpStr = "&Amt={$paymentAmount}&ReturnUrl={$returnURL}&CANCELURL={$cancelURL}&PAYMENTACTION={$paymentType}&CURRENCYCODE={$currencyID}"; // Execute the API operation; see the PPHttpPost function above. $httpParsedResponseAr = PPHttpPost('SetExpressCheckout', $nvpStr); if ("Success" == $httpParsedResponseAr["ACK"]) { // Redirect to paypal.com. $token = urldecode($httpParsedResponseAr["TOKEN"]); $payPalURL = "https://www.paypal.com/webscr&cmd=_express-checkout&token={$token}"; if ("sandbox" === $environment || "beta-sandbox" === $environment) { $payPalURL = "https://www.{$environment}.paypal.com/webscr&cmd=_express-checkout&token={$token}"; } header("Location: {$payPalURL}"); exit; } else { exit('SetExpressCheckout failed: ' . print_r($httpParsedResponseAr, true)); }
/** * New Customer Registration Form:Step4 and it's final step * *@access public *@return Confirmation or Error Message */ function added_customer_step4($start = 0) { $to_date = date("Y-m-d H:i:s"); $this->load->library('form_validation'); $data_organization['organization_data'] = $this->input->post("organization_data"); $data_admin_user['admin_user_data'] = $this->input->post("admin_user_data"); $data['category_name'] = $this->input->post("data_category"); if (sizeof($data_organization['organization_data']) <= 1 || sizeof($data_admin_user['admin_user_data']) <= 1) { redirect("main/add_customer"); } $card_info['credit_card_no'] = $this->input->post("credit_card_no"); $card_info['credit_card_type'] = $this->input->post("credit_card_type"); $card_info['credit_card_verification_code'] = $this->input->post("credit_card_verification_code"); $card_info['card_expire_date_month'] = $this->input->post("card_expire_date_month"); $card_info['card_expire_date_year'] = $this->input->post("card_expire_date_year"); $billing_data = $this->input->post("admin_user_data"); $form_data_billing = array('billing_terms_condition' => "", 'bill_first_name' => $billing_data["first_name"], 'bill_last_name' => $billing_data["last_name"], 'bill_phone_no' => $billing_data["phone_no"], 'bill_email' => $billing_data["email"], 'bill_primary_address' => $billing_data["primary_address"], 'bill_optional_address' => $billing_data["optional_address"], 'bill_zip' => $billing_data["zip"], 'bill_city' => $billing_data["city"], 'bill_country' => $billing_data["country"], 'bill_state' => $billing_data["state"], 'add_date' => $to_date); $this->lang->load('customer', $this->session->userdata('lang_file')); $this->data['mainTab'] = 'customer'; $this->data['activeTab'] = 'customer'; $form_data_step4 = array('payment_method' => $this->input->post("payment_method"), 'bill_first_name' => $this->input->post("bill_first_name"), 'bill_last_name' => $this->input->post("bill_last_name"), 'bill_phone_no' => $this->input->post("bill_phone_no"), 'bill_email' => $this->input->post("bill_email"), 'bill_primary_address' => $this->input->post("bill_primary_address"), 'bill_optional_address' => $this->input->post("bill_optional_address"), 'bill_zip' => $this->input->post("bill_zip"), 'bill_city' => $this->input->post("bill_city"), 'bill_country' => $this->input->post("bill_country"), 'bill_state' => $this->input->post("bill_state"), 'billing_terms_condition' => $this->input->post("billing_terms_condition"), 'credit_card_no' => $this->input->post("credit_card_no"), 'credit_card_type' => $this->input->post("credit_card_type"), 'credit_card_verification_code' => $this->input->post("credit_card_verification_code"), 'credit_card_expire_month' => $this->input->post("card_expire_date_month"), 'credit_card_expire_year' => $this->input->post("card_expire_date_year"), 'name_on_credit_card' => $this->input->post("name_on_credit_card"), 'add_date' => $to_date); //Start Validate Credit Card Info $cardErrorNo = -1; //NO card error, card is valid $payment_method = $this->input->post("payment_method"); if ($payment_method == "creditcard") { $this->form_validation->set_rules('name_on_credit_card', $this->lang->line('label_name_on_card'), 'trim|required'); if (checkCreditCard($card_info, $errornumber, $errortext)) { //$errortext = 'This card has a valid format'; //echo 'card OK'; } else { $cardErrorNo = $errornumber; } } //End Validate Credit Card Info $data_billing_address['billing_address_data'] = $form_data_step4; $this->load->vars($form_data_step4); $this->load->vars($data_admin_user); $this->load->vars($data_organization); $this->form_validation->set_rules('bill_first_name', $this->lang->line('label_first_name'), 'trim|required'); $this->form_validation->set_rules('bill_last_name', $this->lang->line('label_last_name'), 'trim|required'); $this->form_validation->set_rules('bill_phone_no', $this->lang->line('label_phone'), 'trim|required'); $this->form_validation->set_rules('bill_email', $this->lang->line('label_email'), 'trim|required|valid_email|xss_clean|callback_email_check'); $this->form_validation->set_rules('bill_primary_address', $this->lang->line('label_address_line_one'), 'trim|required|xss_clean'); $this->form_validation->set_rules('bill_zip', $this->lang->line('label_zip'), 'trim|required|xss_clean'); $this->form_validation->set_rules('bill_city', $this->lang->line('label_city'), 'trim|required|xss_clean'); $this->form_validation->set_rules('bill_country', $this->lang->line('label_country'), 'trim|required|xss_clean'); $this->form_validation->set_rules('bill_state', $this->lang->line('label_state'), 'trim|required|xss_clean'); //$this->form_validation->set_message('required', $this->lang->line('label_billing_terms_condition')); $this->form_validation->set_rules('billing_terms_condition', $this->lang->line('label_billing_terms_condition'), 'trim|xss_clean|callback_billing_terms_condition_check'); if ($this->form_validation->run() == FALSE || $cardErrorNo != -1) { $error_credit_card = array(); $error_credit_card['credit_card_type_unknown_error'] = ""; $error_credit_card['credit_card_no_error'] = ""; $error_credit_card['credit_card_cvv2_wrong_error'] = ""; $error_credit_card['credit_card_expired_error'] = ""; switch ($cardErrorNo) { case 0: $error_credit_card['credit_card_type_unknown_error'] = $this->lang->line('credit_card_type_unknown_error'); break; case 1: $error_credit_card['credit_card_no_error'] = $this->lang->line('credit_card_empty_error'); break; case 2: $error_credit_card['credit_card_no_error'] = $this->lang->line('credit_card_no_format_invalid_error'); break; case 3: $error_credit_card['credit_card_no_error'] = $this->lang->line('credit_card_no_invalid_error'); break; case 4: $error_credit_card['credit_card_no_error'] = $this->lang->line('credit_card_no_length_wrong_error'); break; case 5: $error_credit_card['credit_card_cvv2_wrong_error'] = $this->lang->line('credit_card_cvv2_wrong_error'); break; case 6: $error_credit_card['credit_card_expired_error'] = $this->lang->line('credit_card_expired_error'); break; } $this->data['payment_method'] = $payment_method; $this->load->vars($data); $this->load->vars($error_credit_card); $this->load->vars($form_data_billing); $this->data['dynamicView'] = 'pages/member/new_customer/entry_step3'; $this->_commonPageLayout('frontend_viewer'); } else { ///Organization Registration Final Step $first_name = $data_admin_user['admin_user_data']['first_name']; $rand_no = mt_rand(1000000000, 2000000000); $first_name = substr($first_name, 0, 2); $password = $first_name . $rand_no; $password2 = $this->encrypt($password, 'vaccitvassit'); $data_admin_user['admin_user_data']['password'] = $password2; $data_admin_user['admin_user_data']['admin_user'] = 1; //$rand_pass = base64_encode($c); $data_global_settings['global_settings_data'] = $this->info_model->get_global_settings(); // print_r($data['global_settings_data']); if ($data_global_settings['global_settings_data']) { foreach ($data_global_settings['global_settings_data'] as $rows) { $data_organization['organization_data']['org_allowed_sms_per_month'] = $rows->allowed_sms_per_month; $data_organization['organization_data']['org_allowed_letter_per_month'] = $rows->allowed_letter_per_month; $per_invoice_cost = $rows->per_invoice_cost; } } if ($data['category_name'] != "") { $data_val['category_name'] = $data['category_name']; $cat_id = $this->info_model->org_category_insert($data_val); $data_organization['organization_data']['org_category'] = $cat_id; } $last_insert_ids = $this->info_model->register_organisation($data_organization['organization_data'], $data_admin_user['admin_user_data'], $form_data_step4); //$this->load->vars($form_data_step3); if (sizeof($last_insert_ids) > 0) { $package_id = $data_organization['organization_data']['package_name']; $data['package_info'] = $this->info_model->get_package($package_id); if ($data['package_info']) { foreach ($data['package_info'] as $rows) { $currency_info = $this->info_model->get_currency($rows->currency_id); } $package_name = $rows->package_name; $no_of_member = $rows->no_of_member; $amount = $rows->amount; $duration = $rows->duration; $sms_cost = $rows->sms_cost; $letter_cost = $rows->letter_cost; if ($currency_info) { foreach ($currency_info as $currency) { $currency_name = $currency->currency_name; } $package_details = "Package: " . $package_name . "_" . $package_id; } } ////////////////// Payment Method: Start //////////// if ($payment_method == "creditcard") { //$token = urlencode("token_from_setExpressCheckout"); $TOTALBILLINGCYCLES = urlencode($duration); if ($duration > 12) { $TOTALBILLINGCYCLES = urlencode("12"); } // combination of this and billingPeriod must be at most a year $bill_start_date_mins = date("i"); $bill_start_date = date("Y-m-d") . "T" . date("H") . ":" . $bill_start_date_mins . ":" . date("s"); $payment_per_cycle = $amount; $paymentAmount = urlencode($payment_per_cycle); $currencyID = urlencode($currency_name); // or other currency code ('GBP', 'EUR', 'JPY', 'CAD', 'AUD') $startDate = str_replace("%3A", ":", urlencode($bill_start_date)); $billingPeriod = urlencode("Month"); // or "Day", "Week", "SemiMonth", "Year" $billingFreq = urlencode("1"); // combination of this and billingPeriod must be at most a year //$TOTALBILLINGCYCLES = urlencode($duration); // combination of this and billingPeriod must be at most a year //$TOTALBILLINGCYCLES = urlencode("12"); // combination of this and billingPeriod must be at most a year $DESC = urlencode($package_details); $creditCardType = urlencode($card_info['credit_card_type']); $creditCardAccount = urlencode(str_replace(' ', '', $card_info['credit_card_no'])); //$creditCardAccount = urlencode("4779297617944965"); $cardExpireDate = urlencode($card_info['card_expire_date_month'] . $card_info['card_expire_date_year']); $cardCvv2 = urlencode($card_info['credit_card_verification_code']); $PAYERSTATUS = urlencode("verified"); $STREET = urlencode($form_data_step4['bill_primary_address']); $CITY = urlencode($form_data_step4['bill_city']); $STATE = urlencode($form_data_step4['bill_state']); $COUNTRYCODE = urlencode($form_data_step4['bill_country']); $ZIP = urlencode($form_data_step4['bill_zip']); $FIRSTNAME = urlencode($form_data_step4['bill_first_name']); $LASTNAME = urlencode($form_data_step4['bill_last_name']); $EMAIL = urlencode($form_data_step4['bill_email']); $INITAMT = urlencode("0.00"); $FAILEDINITAMTACTION = urlencode("ContinueOnFailure"); $MAXFAILEDPAYMENTS = urlencode("10"); $ITEMCATEGORY0 = urlencode("Digital"); $ITEMNAME0 = urlencode($package_details); $ITEMAMT0 = urlencode($amount); $ITEMQTY0 = urlencode("1"); $AUTOBILLOUTAMT = urlencode("AddToNextBilling"); $TAXAMT = $amount * (25 / 100); /// Tax_rate = 25% $EMAIL = $form_data_step4['bill_email']; $nvpStr = "&AMT={$paymentAmount}&CURRENCYCODE={$currencyID}&PROFILESTARTDATE={$startDate}"; $nvpStr .= "&BILLINGPERIOD={$billingPeriod}&BILLINGFREQUENCY={$billingFreq}&TOTALBILLINGCYCLES={$TOTALBILLINGCYCLES}&DESC={$DESC}&CREDITCARDTYPE={$creditCardType}&ACCT={$creditCardAccount}&EXPDATE={$cardExpireDate}&CVV2={$cardCvv2}&PAYERSTATUS={$PAYERSTATUS}&STREET={$STREET}\n &CITY={$CITY}&COUNTRYCODE={$COUNTRYCODE}&ZIP={$ZIP}&FIRSTNAME={$FIRSTNAME}&LASTNAME={$LASTNAME}&EMAIL={$EMAIL}\n &INITAMT={$INITAMT}&TAXAMT={$TAXAMT}&FAILEDINITAMTACTION={$FAILEDINITAMTACTION}&MAXFAILEDPAYMENTS={$MAXFAILEDPAYMENTS}\n &L_PAYMENTREQUEST_0_ITEMCATEGORY0={$ITEMCATEGORY0}&L_PAYMENTREQUEST_0_NAME0={$ITEMNAME0}\n &L_PAYMENTREQUEST_0_AMT0={$ITEMAMT0}&L_PAYMENTREQUEST_0_QTY0={$ITEMQTY0}&AUTOBILLOUTAMT={$AUTOBILLOUTAMT}"; $httpParsedResponseAr = PPHttpPost('CreateRecurringPaymentsProfile', $nvpStr); if ("SUCCESS" == strtoupper($httpParsedResponseAr["ACK"]) || "SUCCESSWITHWARNING" == strtoupper($httpParsedResponseAr["ACK"])) { //$data_payment_success['org_id'] = $last_insert_ids['org_id']; //$data_payment_success['org_billing_info_id'] = $last_insert_ids['org_billing_info_id']; $data_payment_success['profileid'] = str_replace('%2d', '-', $httpParsedResponseAr['PROFILEID']); $data_payment_success['profilestatus'] = $httpParsedResponseAr['PROFILESTATUS']; //$data_payment_success['transactionid'] = $httpParsedResponseAr['TRANSACTIONID']; $data_payment_success['timestamp'] = str_replace('%2d', '-', $httpParsedResponseAr['TIMESTAMP']); $data_payment_success['timestamp'] = str_replace('%3a', ':', $data_payment_success['timestamp']); $data_payment_success['correlationid'] = $httpParsedResponseAr['CORRELATIONID']; $data_payment_success['ack'] = $httpParsedResponseAr['ACK']; $data_payment_success['total_billing_cycle'] = $TOTALBILLINGCYCLES; $data_payment_success['add_date'] = $to_date; //Start : Update Organization Info Based on Successful Payment $nvpStr = "&PROFILEID=" . $data_payment_success['profileid']; $recurringPaymentProfileDetails = getRecurringPaymentProfileDetails('GetRecurringPaymentsProfileDetails', $nvpStr); if ("SUCCESS" == strtoupper($recurringPaymentProfileDetails["ACK"]) || "SUCCESSWITHWARNING" == strtoupper($recurringPaymentProfileDetails["ACK"])) { $org_billing_success_insert_id = $this->info_model->org_billing_success_insert($data_payment_success); if ($org_billing_success_insert_id) { $data_org_billing_info['bill_profileid'] = $data_payment_success['profileid']; $payment_method = "creditcard"; $org_id = $last_insert_ids['org_id']; $success = $this->info_model->update_org_billing_info($data_org_billing_info, $payment_method, $org_id); } if ($recurringPaymentProfileDetails['NUMCYCLESCOMPLETED'] > 0) { $data_org_billing_success['next_scheduled_billing_date'] = str_replace('%2d', '-', $recurringPaymentProfileDetails['NEXTBILLINGDATE']); $data_org_billing_success['next_scheduled_billing_date'] = str_replace('%3a', ':', $data_org_billing_success['next_scheduled_billing_date']); $data_org_billing_success['no_of_billing_cycle_completed'] = 1; $data_org_billing_success['no_of_billing_cycle_remaining'] = $TOTALBILLINGCYCLES - 1; $data_org_billing_success['current_outstanding_balance'] = str_replace('%2e', '.', $recurringPaymentProfileDetails['OUTSTANDINGBALANCE']); $data_org_billing_success['amount_of_last_successful_payment'] = str_replace('%2e', '.', $recurringPaymentProfileDetails['LASTPAYMENTAMT']); $data_org_billing_success['total_paid_amount'] = "total_paid_amount+" . $data_org_billing_success['amount_of_last_successful_payment']; $data_org_billing_success['date_of_last_successful_payment'] = str_replace('%2d', '-', $recurringPaymentProfileDetails['LASTPAYMENTDATE']); $data_org_billing_success['date_of_last_successful_payment'] = str_replace('%3a', ':', $data_org_billing_success['date_of_last_successful_payment']); $success = $this->info_model->update_org_billing_success($data_org_billing_success, $org_billing_success_insert_id); $total_days = $duration * 30; $expire_date = time() + $total_days * 24 * 60 * 60; $data_update = array('approval_status' => 1, 'payment_status' => 1, 'activation_date' => time(), 'expire_date' => $expire_date); $success = $this->info_model->update_org_approve($data_update, $last_insert_ids['org_id']); if ($success) { $data['first_name'] = $data_admin_user['admin_user_data']['first_name']; $data['username'] = $data_admin_user['admin_user_data']['username']; $data['email'] = $data_admin_user['admin_user_data']['email']; $data['org_number'] = $data_organization['organization_data']['org_number']; $data['org_name'] = $data_organization['organization_data']['org_name']; $data['org_phone'] = $data_organization['organization_data']['org_phone']; $data['password'] = $password; if ($data_admin_user['admin_user_data']['password_receive_by_email']) { $this->send_password_by_email($data); } if ($data_admin_user['admin_user_data']['password_receive_by_sms']) { $this->send_password_by_sms($data); } } /////// } else { $data_org_billing_success['no_of_billing_cycle_remaining'] = $TOTALBILLINGCYCLES; $success = $this->info_model->update_org_billing_success($data_org_billing_success, $org_billing_success_insert_id); } //exit('GetTransactionDetails Completed Successfully: '.print_r($recurringPaymentProfileDetails, true)); } else { //exit('GetTransactionDetails failed: ' . print_r($recurringPaymentProfileDetails, true)); } //End : Update Organization Info Based on Successful Payment //exit('CreateRecurringPaymentsProfile Completed Successfully: '.print_r($httpParsedResponseAr, true)); } else { $data_payment_failure['org_id'] = $last_insert_ids['org_id']; $data_payment_failure['org_billing_info_id'] = $last_insert_ids['org_billing_info_id']; $data_payment_failure['l_errodcode0'] = $httpParsedResponseAr['L_ERRORCODE0']; $data_payment_failure['l_shortmessage0'] = str_replace('%20', ' ', $httpParsedResponseAr['L_SHORTMESSAGE0']); $data_payment_failure['l_longmessage0'] = str_replace('%20', ' ', $httpParsedResponseAr['L_LONGMESSAGE0']); $data_payment_failure['l_severitycode0'] = $httpParsedResponseAr['L_SEVERITYCODE0']; $data_payment_failure['timestamp'] = str_replace('%2d', '-', $httpParsedResponseAr['TIMESTAMP']); $data_payment_failure['timestamp'] = str_replace('%3a', ':', $data_payment_failure['timestamp']); $data_payment_failure['correlationid'] = $httpParsedResponseAr['CORRELATIONID']; $data_payment_failure['ack'] = $httpParsedResponseAr['ACK']; $data_payment_failure['add_date'] = $to_date; $success = $this->info_model->org_billing_failure_insert($data_payment_failure); //exit('CreateRecurringPaymentsProfile failed: ' . print_r($httpParsedResponseAr, true)); } } elseif ($payment_method == "invoice") { //$fak_expire_date = time() + ($total_days * 24 * 60 * 60); $data_faktura['bill_country'] = $form_data_step4['bill_country']; if ($data_faktura['bill_country'] == "DEU") { $data_faktura['bill_country'] = "GERMAN"; } if ($data_faktura['bill_country'] == "NOR") { $data_faktura['bill_country'] = "NORWAY"; } if ($data_faktura['bill_country'] == "DNK") { $data_faktura['bill_country'] = "DENMARK"; } if ($data_faktura['bill_country'] == "FIN") { $data_faktura['bill_country'] = "FINLAND"; } if ($data_faktura['bill_country'] == "GBR") { $data_faktura['bill_country'] = "UK"; } if ($data_faktura['bill_country'] == "SWE") { $data_faktura['bill_country'] = "SWEDEN"; } $data_faktura['org_id'] = $last_insert_ids['org_id']; $data_faktura['package_id'] = $package_id; $data_faktura['fak_active_date'] = time(); $data_faktura['fak_expire_date'] = time() + 10 * 24 * 60 * 60; $data_faktura['org_name'] = $data_organization['organization_data']['org_name']; $data_faktura['org_number'] = $data_organization['organization_data']['org_number']; $data_faktura['bill_primary_address'] = $form_data_step4['bill_primary_address']; $data_faktura['bill_zip'] = $form_data_step4['bill_zip']; $data_faktura['bill_city'] = $form_data_step4['bill_city']; $data_faktura['bill_state'] = $form_data_step4['bill_state']; $data_faktura['bill_phone'] = $form_data_step4['bill_phone_no']; $data_faktura['fak_reference_name'] = $data_admin_user['admin_user_data']['first_name'] . " " . $data_admin_user['admin_user_data']['last_name']; $data_faktura['fak_description'] = $package_details; $data_faktura['fak_quantity'] = 1; $data_faktura['fak_unit_price'] = $amount; $data_faktura['fak_invoice_cost'] = $per_invoice_cost; $data_faktura['fak_invoice_cost_applied'] = 0.0; $data_faktura['sms_unit_price'] = $sms_cost; $data_faktura['letter_unit_price'] = $letter_cost; $data_faktura['fak_price_exclusive_vat'] = $data_faktura['fak_quantity'] * $data_faktura['fak_unit_price']; $data_faktura['fak_vat_rate'] = 25; //////// Calculating Total Cost of this faktura ////// $pris_exclusive_vat_one = $data_faktura['fak_price_exclusive_vat']; $pris_exclusive_vat_two = $data_faktura['fak_invoice_cost_applied']; $price_total_exclusive_vat = $pris_exclusive_vat_one + $pris_exclusive_vat_two; $data_faktura['fak_vat_price'] = $data_faktura['fak_vat_rate'] / 100 * $price_total_exclusive_vat; $fak_total_price = $price_total_exclusive_vat + $data_faktura['fak_vat_price']; //////// Calculating Total Cost of this faktura ////// //$fak_total_price =$data_faktura['fak_price_exclusive_vat']+$data_faktura['fak_vat_price']; $data_faktura['fak_total_price'] = round($fak_total_price); $data_faktura['fak_rounding_price'] = $data_faktura['fak_total_price'] - $fak_total_price; $data_faktura['fak_currency'] = $currency_name; $data_faktura['add_date'] = $to_date; $fak_insert_id = $this->info_model->bill_faktura_insert($data_faktura); $data_faktura['price_total_exclusive_vat'] = $price_total_exclusive_vat; if ($fak_insert_id) { $data['first_name'] = $data_admin_user['admin_user_data']['first_name']; $data['username'] = $data_admin_user['admin_user_data']['username']; $data['email'] = $data_admin_user['admin_user_data']['email']; $data['org_number'] = $data_organization['organization_data']['org_number']; $data['org_name'] = $data_organization['organization_data']['org_name']; $data['org_phone'] = $data_organization['organization_data']['org_phone']; $data['password'] = $password; $this->make_invoice_pdf($data_faktura, $fak_insert_id, $data); } } //////////////// Payment Method: End ///// $this->session->set_flashdata('message', '<div id="message1">' . $this->lang->line('org_registration_member_success') . '</div>'); redirect('main/org_registration_success'); //$this->data['dynamicView'] = 'pages/admin/new_customer/org_registration_success'; } else { $this->data['dynamicView'] = 'pages/member/new_customer/entry_step3'; } $this->_commonPageLayout('frontend_viewer'); } }