⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ps_checkout.inc

📁 php做的网上商店系统。简单易懂
💻 INC
📖 第 1 页 / 共 3 页
字号:
  ** created by: gday  ** description:  Get the currency type used by the $vendor_id  ** parameters: $vendor_id - vendor id to return currency type  ** returns: Currency type for this vendor  ***************************************************************************/   function get_vendor_currency($vendor_id) {      $db = new ps_DB;      $q = "SELECT vendor_currency FROM vendor WHERE vendor_id=$vendor_id";      $db->query($q);      $db->next_record();      $currency = $db->f("vendor_currency");      return($currency);   }  /**************************************************************************  ** name: email_receipt()  ** created by: gday  ** description:  Create a receipt for the current order and email it to   **               the customer and the vendor.  ** parameters: $order_id - Order ID for which to create the email receipts  ** returns:  True - receipt created and emailed  **          False - error occured   ***************************************************************************/   function email_receipt($order_id) {       global $sess,              $ps_product,              $ps_vendor_id;       eval(load_class("product", "ps_product"));       $ps_product = new ps_product;       // Connect to database and gather appropriate order information       $db = new ps_DB;       $q  = "SELECT * FROM orders ";       $q .= "WHERE order_id='$order_id'";       $db->query($q);       $db->next_record();       $user_id = $db->f("user_id");       $dbbt = new ps_DB;       $qt = "SELECT * from user_info ";       $qt .= "WHERE user_info.user_id='$user_id' ";       $qt .= "AND user_info.address_type='BT'";       $dbbt->query($qt);       $dbbt->next_record();       $dbst = new ps_DB;       $qt = "SELECT * FROM user_info ";       $qt .= "WHERE user_info_id='";       $qt .= $db->f("user_info_id") . "'";       $dbst->query($qt);       $dbst->next_record();        $dbv = new ps_DB;       $qt = "SELECT * from vendor ";       /* Need to decide on vendor_id <=> order relationship */       $qt .= "WHERE vendor_id = $ps_vendor_id";       $dbv->query($qt);       $dbv->next_record();       // Email Addresses for shopper and vendor       // **************************************       $shopper_email = $dbbt->f("email");       $from_email = $dbv->f("contact_email");       // Headers and Footers       // ******************************       // Shopper Header       $shopper_header = "谢谢你购物.你所购的物品如下 ";       $shopper_header .= "内容.\n\n";       //Shopper Footer       $shopper_footer = "\n\n谢谢你光临我们的网上商店!.\n";       $shopper_footer .= "\n\n有什么问题,请与我们联系?\n";       $shopper_footer .= "电子信箱: " . $dbv->f("contact_email");              $shopper_subject = $dbv->f("vendor_name") . " Order -" . $db->f("order_id");       // Vendor Header       $vendor_header = "已验证的订单如下.\n";       $vendor_subject = "订单通知-" . $db->f("order_id");       // Vendor Footer       $url = $sess->url(SECUREURL . "?page=order/order_print&amp;order_id=$order_id");       $vendor_footer = "\n\n查看这个订单请到我们的商店主页.\n";       $vendor_footer .= $sess->url($url);       $vendor_email = $dbv->f("contact_email");        // Main Email Message Purchase Order       // *********************************       $shopper_message  = "\nPURCHASE ORDER\n";       $shopper_message .= "------------------------------------------------------------------------\n";       $shopper_message .= "订单号: " . $db->f("order_id") . "\n";       $shopper_message .= "订单日期:   ";       $shopper_message .= date("Y-M-d:H:i", $db->f("cdate")) . "\n";       $shopper_message .= "订单情况: ";       switch($db->f("order_status")) {         case ("P"):           $shopper_message .= "临时订单\n\n";           break;         case ("X"):           $shopper_message .= "已取消订单\n\n";           break;         case ("C"):           $shopper_message .= "已验证订单\n\n";           break;       }       $shopper_message .= "CUSTOMER INFORMATION\n";       $shopper_message .= "--------------------\n\n";       $shopper_message .= "你的帐单\n";       $shopper_message .= "-------\n\n";       $shopper_message .= "     你的姓名:    ";       $shopper_message .= $dbbt->f("true_name") . "\n";       $shopper_message .= "      公司名称:       ";       $shopper_message .= $dbbt->f("company") . "\n";       $shopper_message .= $dbbt->f("last_name") . "\n";       $shopper_message .= "     你的地址:   ";       $shopper_message .= $dbbt->f("address") . "\n";       $shopper_message .= "     身份证号:   ";       $shopper_message .= $dbbt->f("card") . "\n";       $shopper_message .= "     所在省份:       ";       $shopper_message .= $dbbt->f("province") . "\n";       $shopper_message .= "     所在城市:      ";       $shopper_message .= $dbbt->f("city") . "\n";       $shopper_message .= "     邮政编码:        ";       $shopper_message .= $dbbt->f("zip") . "\n";       $shopper_message .= "     国家名称:    ";       $shopper_message .= $dbbt->f("country") . "\n";       $shopper_message .= "     联系电话:      ";       $shopper_message .= $dbbt->f("phone") . "\n";       $shopper_message .= "     传真号码:        ";       $shopper_message .= $dbbt->f("fax") . "\n\n";              $shopper_message .= "发货信息\n";       $shopper_message .= "-------\n\n";       $shopper_message .= "     你的姓名:    ";       $shopper_message .= $dbst->f("true_name") . "\n";       $shopper_message .= "     公司名称:       ";       $shopper_message .= $dbbt->f("company") . " ";       $shopper_message .= "     你的地址:   ";       $shopper_message .= $dbst->f("address") . "\n";       $shopper_message .= "     所在省份:   ";       $shopper_message .= $dbst->f("province") . "\n";       $shopper_message .= "     所在城市:       ";       $shopper_message .= $dbst->f("city") . "\n";       $shopper_message .= "     所在国家:      ";       $shopper_message .= $dbst->f("Country") . "\n";       $shopper_message .= "     邮政编码:        ";       $shopper_message .= $dbst->f("zip") . "\n";       $shopper_message .= "     身份证号:    ";       $shopper_message .= $dbst->f("card") . "\n";       $shopper_message .= "     联系电话:      ";       $shopper_message .= $dbst->f("phone") . "\n";       $shopper_message .= "     传真号码:        ";       $shopper_message .= $dbst->f("fax") . "\n\n";       $shopper_message .= "订单信息\n";       $shopper_message .= "-----------";       $dboi = new ps_DB;       $q = "SELECT * ";       $q .= "FROM product, order_item, orders ";       $q .= "WHERE product.product_id=order_item.product_id ";       $q .= "AND order_item.order_id='";       $q .= $order_id . "' ";       $q .= "AND orders.order_id=order_item.order_id";       $dboi->query($q);       while($dboi->next_record()) {          $shopper_message .= "\n\n";          $shopper_message .= "PRODUCT  = ";          if ($dboi->f("product_parent_id")) {            $shopper_message .= $ps_product->get_field($dboi->f("product_parent_id"), "product_name") . "\n";            $shopper_message .= "SERVICE  = ";          }          $shopper_message .= $dboi->f("product_name") . "\n";          $shopper_message .= "QUANTITY = ";          $shopper_message .= $dboi->f("product_quantity") . "\n";          $shopper_message .= "SKU      = ";          $shopper_message .= $ps_product->get_field($dboi->f("product_id"), "product_sku") . "\n";          $price = $ps_product->get_price($dboi->f("product_id"));          $shopper_message .= "PRICE    = ";          $shopper_message .= sprintf("%1.2f %s", $price["product_price"], $price["product_currency"]);       }       $shopper_message .= "\n\n";       $sub_total = $db->f("order_subtotal");       $shopper_message .= "SUBTOTAL = ";       $shopper_message .= sprintf("%1.2f %s\n", $sub_total, $price["product_currency"]);       $order_tax = $db->f("order_tax");       $shopper_message .= "TAX      = ";       $shopper_message .= sprintf("%1.2f\n", $order_tax);       $order_shipping = $db->f("order_shipping") . "\n";       $shopper_message .= "SHIPPING = ";       $shopper_message .= sprintf("%1.2f\n", $order_shipping);       $order_shipping_tax = $db->f("order_shipping_tax") . "\n";       $shopper_message .= "SHIPPING TAX   = ";       $shopper_message .= sprintf("%1.2f\n", $order_shipping_tax);       $order_total= $sub_total +                      $order_tax +                      $order_shipping +                      $order_shipping_tax;       $shopper_message .= "\n\n";       $shopper_message .= "TOTAL    = ";       $shopper_message .= sprintf("%1.2f %s\n", $order_total, $price["product_currency"]);       $shopper_message .= "------------------------------------------------------------------------\n";       // End of Purchase Order       // *********************       //echo "$shopper_email<br>";//echo "$shopper_subject<br>";//echo "$shopper_header<br>";//echo "$shopper_message<br>";//echo "$shopper_footer<br>";//echo "$from_email<br>";//echo "$vendor_email<br>";//echo "$vendor_subject<br>";//echo "$vendor_header<br>";//echo "$vendor_message<br>";//echo "$vendor_footer<br>";//echo "$from_email<br>";//exit;       mail($shopper_email,             $shopper_subject,             $shopper_header . $shopper_message . $shopper_footer,            "From: $from_email\n");       // Mail receipt to the vendor       mail($vendor_email,            $vendor_subject,            $vendor_header . $shopper_message . $vendor_footer,            "From: $from_email\n");      return(True);    }  /**************************************************************************  ** name: asterisk_pad()  ** created by: gday  ** description:  Return $str with all but $display_length at the end as   **               asterisks.  ** parameters: $str - string to asterisk pad  **             $display_length - length at the end of $str that will not  **                               be obscured by asterisks  ** returns: $str with all but $display_length at the end obscured  **          by asterisks  ***************************************************************************/   function asterisk_pad($str, $display_length) {      $total_length = strlen($str);      if($total_length > $display_length) {         for($i = 0; $i < $total_length - $display_length; $i++) {           $str[$i] = "*";         }      }      return($str);   }   /**************************************************************************  ** name: cybercash_process()  ** created by: pablo  ** description:  Based on the cyberlib class found in the PHP extensions library.  ** parameters:   ** returns:   ***************************************************************************/   function cybercash_process($order_number, $order_total, &$d) {     global $auth,       $ps_vendor_id;     require MODROOT."checkout/lib/ps_cyberlib.inc";          // Get user billing information     $dbbt = new ps_DB;     $qt = "SELECT * from user_info ";     $qt .= "WHERE user_info.user_id='".$auth["user_id"]."' ";     $qt .= "AND user_info.address_type='BT'";     $dbbt->query($qt);     $dbbt->next_record();          $merchant=CC_MERCHANT;     $merchant_key=CC_MERCHANT_KEY;     $payment_url=CC_PAYMENT_URL;     $auth_type=CC_AUTH_TYPE;          $expire_date = date("m/y",$d["order_payment_expire"]);     $response=SendCC2_1Server($merchant,$merchant_key,$payment_url,			       $auth_type,			       array(				     "Order-ID" => $order_number,				     "Amount" => $this->get_vendor_currency($ps_vendor_id) . " " . $order_total,				     "Card-Number" => $d["order_payment_number"],				     "Card-Address" => $dbbt->f("address_1"),				     "Card-City" => $dbbt->f("city"),				     "Card-State" => $dbbt->f("state"),				     "Card-Zip" => $dbbt->f("zip"),				     "Card-Country" => $dbbt->f("country"),				     "Card-Exp" => $expire_date,				     "Card-Name" => $dbbt->f("first_name")." ".$dbbt->f("last_name")				     )			       );         $d["order_payment_log"] = "";     while(list($key,$val)=each($response)) {       $d["order_payment_log"] .= $key."=".$val."<br>";     }             if ($response["MStatus"] == "success")       return True;     else {       $d["error"] = $response["MErrMsg"];       return False;     }   }      } ?>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -