首页
AI导航
美图
服务
付费
树洞
留言
云主机
推荐
邻居
更多
我的书单
我的足迹
罗盘时钟
圈小猫
工作打分
本站统计
版本历史
推荐
txt阅读器
主机监控
M商城
网址导航
在线工具
证件照制作
Search
1
docker和docker-compose一键安装脚本
824 阅读
2
docker下运行grafana和grafana Image Renderer
664 阅读
3
grafana的Dashboard面板添加阈值报警
632 阅读
4
WooCommerce对接第三方支付插件开发
503 阅读
5
基于docker的部署fecmall开源电商系统
442 阅读
ChatGPT
虚拟化
数据库
运维
基础知识
监控预警
数据展示
运维工具
web安全
系统服务
开发
python
php
java
shell
go
html5
项目
博客
电商
工具
娱乐
影视
读书
读书笔记
综合
VPS报告
规范文档
知识总结
经验分享
关于本站
登录
Search
标签搜索
python
django
电商平台
运维工具
Joe主题
docker
zabbix
蓝鲸智云
运维
监控
typecho
grafana
wordpress
运维知识
mysql
php
elk
nginx
web安全
VPS测试
IT不难
累计撰写
245
篇文章
累计收到
209
条评论
首页
栏目
ChatGPT
虚拟化
数据库
运维
基础知识
监控预警
数据展示
运维工具
web安全
系统服务
开发
python
php
java
shell
go
html5
项目
博客
电商
工具
娱乐
影视
读书
读书笔记
综合
VPS报告
规范文档
知识总结
经验分享
关于本站
页面
美图
服务
留言
邻居
我的足迹
本站统计
版本历史
推荐
M商城
网址导航
搜索到
27
篇与
的结果
2023-03-01
聚合信达支付源码测试过程
说明 网上找的一份源码,几年之前的了。部署完之后功能挺全。记录一下部署过程。{card-default label="首页" width="80%"}{/card-default}源码地址第三第四方聚合信达支付源码修复版安装过程lnmp环境docker和docker-compose一键安装脚本nginx配置server { listen 80; server_name www.hnymwl.com; root /www/web/xdzf; add_header X-Frame-Options "SAMEORIGIN"; add_header X-XSS-Protection "1; mode=block"; add_header X-Content-Type-Options "nosniff"; access_log /www/web_logs/www_access.log wwwlogs; error_log /www/web_logs/www_error.log notice; charset utf-8; index index.html index.htm index.php; location / { try_files $uri $uri/ /index.php$uri?$query_string; } location = /favicon.ico { access_log off; log_not_found off; } location = /robots.txt { access_log off; log_not_found off; } error_page 404 /index.php; location ~ \.php(.*)$ { fastcgi_pass php:9000; fastcgi_index index.php; fastcgi_split_path_info ^((?U).+\.php)(/?.+)$; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param PATH_INFO $fastcgi_path_info; fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info; include fastcgi_params; } location ~ /\.(?!well-known).* { deny all; } }数据库配置编辑:vim app/Config.phpnamespace WY\app; class Config{ static function db(){ return array( 'server'=>'mariadb', 'port'=>'3306', 'user'=>'wpuser', 'pass'=>'wpuserxxx', 'name'=>'wp', 'prefix'=>'wy_', 'driver'=>'pdo', 'debug'=>true, 'path'=>'dy', //设置后台目录名称 ); }重置密码admin/admin update wy_admin set adminpass = 'd033e22ae348aeb5660fc2140aec35850c4da997' where id = 1;页面{card-default label="登录页" width="80%"}{/card-default}{card-default label="后台" width="80%"}{/card-default}
2023年03月01日
11 阅读
0 评论
0 点赞
2023-02-28
星益云收银台系统部署测试过程记录
说明 聚合收银台系统是一款聚合全网支付平台收款的系统,集合了多种支付方式、多个支付平台接口的聚合系统。系统完全免费开源。{card-default label="首页" width="80%"}{/card-default}项目地址(星益云)聚合收银台系统安装过程lnmp环境docker和docker-compose一键安装脚本 {cloud title="完整lnmp配置文件" type="bd" url="https://pan.baidu.com/s/1wIRd1KhFQpraIkjV-CQG6A" password="emjf"/}nginx配置server { listen 80; server_name www.mytest.cn; root /www/web/web/public; add_header X-Frame-Options "SAMEORIGIN"; add_header X-XSS-Protection "1; mode=block"; add_header X-Content-Type-Options "nosniff"; charset utf-8; index index.html index.htm index.php; location / { try_files $uri $uri/ /index.php$uri?$query_string; } location = /favicon.ico { access_log off; log_not_found off; } location = /robots.txt { access_log off; log_not_found off; } error_page 404 /index.php; location ~ \.php(.*)$ { fastcgi_pass php:9000; fastcgi_index index.php; fastcgi_split_path_info ^((?U).+\.php)(/?.+)$; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param PATH_INFO $fastcgi_path_info; fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info; include fastcgi_params; } location ~ /\.(?!well-known).* { deny all; } }页面安装{card-default label="欢迎页" width="80%"}{/card-default}{card-default label="数据库配置" width="80%"}{/card-default}{card-default label="导入数据" width="80%"}{/card-default}{card-default label="安装成功" width="80%"}{/card-default}{card-default label="后台" width="80%"}{/card-default}
2023年02月28日
17 阅读
0 评论
0 点赞
2023-02-27
WooCommerce对接第三方支付(易支付)
前言WooCommerce是一款免费的WordPress电子商务插件,可帮助你在网上快速建立一个强大的商店。它可以帮助你控制收银、处理订单、支持付款和购物车、建立商品目录以及使用不同的运费和税率等等。此外,它还可以集成到各种支付系统,有助于将你的商店扩展到全球市场。{callout color="#f0ad4e"}本文分享对接国内易支付的代码关键点。具体流程可以参考以前的历史文章。易支付有两种方式一种是页面跳转方式,另一种是API接口方式。一些小的支付平台,也是采用易支付的系统源码搭建的。名字叫什么的都有,比如码支付。{/callout}{card-default label="支付页面" width="80%"}{/card-default}代码签名 //排序 ksort($Body); reset($Body); //待签名字符串拼接 $unsign_str = ""; foreach ($Body as $k => $v){ $unsign_str = $unsign_str . $k . '=' . $v . '&'; } $unsign_str = substr($unsign_str, 0, -1).$this -> mzfpay_paykey; #签名 $clientSign = md5($unsign_str);页面跳转方式 $fieldsString = http_build_query($Body); //挂载自定义js wc_enqueue_js(' setInterval(function(){ $.blockUI({ message: "' . esc_js(__('Thank you for your order. We are now redirecting you to rapay to make payment.', 'mzfpay-for-woocommerce')) . '", baseZ: 99999, overlayCSS: { background: "#fff", opacity: 0.6 }, css: { padding: "20px", zindex: "9999999", textAlign: "center", color: "#555", border: "3px solid #aaa", backgroundColor:"#fff", cursor: "wait", lineHeight: "24px", } }); var start = new Date().getTime(); while (new Date().getTime() < start + 1000); document.getElementById("submit_mzfpay_payment_button").click(); },1000); '); //返回值 return '<div>'."\n". '<a class="button alt" id="submit_mzfpay_payment_button" href="' . $this->mzfpay_api . '?' . $fieldsString .'">'.__('Pay Now', 'superxpay-rapay-for-woocommerce').'</a>'."\n". '<a class="button cancel" href="'.$order->get_cancel_order_url().'">'.__('Cancel', 'superxpay-rapay-for-woocommerce').'</a>'."\n". '</div>' ;api接口方式 //构建提交变量 $args = array( 'headers' => array( 'Content-Type' => 'application/json', 'charset' => 'utf-8' ), 'timeout' => 45, 'redirection' => 5, 'httpversion' => '1.0', 'blocking' => true, 'body' => json_encode($Body), ); $postRequest = wp_remote_post($this->yzfpay_api, $args); if ($postRequest['response']['code'] === 200) { $result = json_decode($postRequest['body'], true, 512, JSON_BIGINT_AS_STRING); } else { throw new Exception("Unable to reach Viva Payments (" . $postRequest['response']['message'] . ")"); } //打印返回值 //error_log(__METHOD__ . PHP_EOL .print_r($result, true)); if ($result['code'] === 1) { $TradeNo = $result['trade_no']; $PayUrl = $result['h5_qrurl']; } else { throw new Exception("Unable to create order code (" . $result['msg'] . ")"); } return '<span>Scan the QR code to complete the payment</span>'. '<div>'. '<img src="http://chart.apis.google.com/chart?chs=150x150&cht=qr&chld=L|0&chl='.rawurlencode($PayUrl).'" alt="QR code" widhtHeight="150" widhtHeight="150"/>'. '</div>'. '<div>'. '<a class="button alt" id="submit_uepay_payment_button" href="'.$return_url.'">'.__('Pay Completed', 'uepay-for-woocommerce').'</a>'. '<a class="button cancel" href="'.$order->get_cancel_order_url().'">'.__('Cancel', 'uepay-for-woocommerce').'</a>'. '</div>';完整项目代码woocommerce对接码支付插件源码历史文章WooCommerce对接第三方支付插件开发 WooCommerce对接第三方支付插件开发(二) WooCommerce对接第三方支付插件开发(三)
2023年02月27日
32 阅读
0 评论
0 点赞
2023-01-13
WooCommerce对接第三方支付插件开发(三)
前言以前对接过woocommerce的支付通道,优化了代码结构和新增插件管理页面直接跳转到插件设置页面的功能,记录一下。{card-default label="插件设置" width="80%"}{/card-default}代码/* Add custom action links ------------------------------------------------------------ */ add_filter('plugin_action_links_' . plugin_basename(__FILE__), 'superxpay_action_links'); function superxpay_rapay_action_links($links) { $plugin_links = array( '<a href="' . admin_url('admin.php?page=wc-settings&tab=checkout§ion=superxpay') . '">' . __('Settings', 'superxpay') . '</a>', ); // Merge our new link with the default ones return array_merge($plugin_links, $links); }历史WooCommerce对接第三方支付插件开发(二)WooCommerce对接第三方支付插件开发
2023年01月13日
31 阅读
0 评论
0 点赞
2023-01-06
wordpress之woocommerce对接不知名第四方支付
前言最近接到一个新的需求,用wordpress的woocommerce做外贸独立站的人挺多的。总要对接一些小众的支付系统,只有开发文档。其实对接的多了,只有那简单的几步。组织参数,签名,提交然后接受返回结果。各种平台主要是签名方法和提交方式的差别。{card-describe title="签名要求"}1.支付、代付下单接口使用RSA加密(密钥长度1024位,密钥格式PKCS#8方式)加密2.使用工具类或者在线网址生成公钥和私钥,私钥自己保存,公钥上传至商户后台。使用私钥加密签名串3.Rsa最后做base64加密后需要进行URL编码(只对sign值做url编码){/card-describe}{card-describe title="提交方式"}POST: application/json{/card-describe}组织参数和签名{card-default label="构建参数" width="80%"}{/card-default}加密参数{card-default label="加密" width="75%"}{/card-default}订单提交{card-default label="订单提交" width="85%"}{/card-default}
2023年01月06日
61 阅读
0 评论
0 点赞
2022-12-29
wordpress之woocommerce对接第三方支付(uepay)总结
前言做外贸总会遇到客户需要对接一些小的第三方支付平台,没有现成的插件可用。需要从头开发,原理几乎都是一样的。就是在签名和提交方式上有细微差别。这次要对接的是澳门的一个支付平台uepay官网{card-default label="uepay" width="80%"}{/card-default}代码构建body参数并制作签名post之json方式提交,并处理返回值异步回调接收并处理完整代码获取地址woocommerce对接uepay第三方平台插件
2022年12月29日
30 阅读
0 评论
0 点赞
2022-12-28
woocommerce批量添加商品
批量创建分类安装插件{message type="error" content="Bulk Category Creator"/}{card-default label="插件" width="80%"}{/card-default}使用{message type="success" content="Dashboard - Product->Bulk Category Creator"/}{card-default label="导入" width="85%"}{/card-default}分类提取cat a.txt | sort |uniq |tr "\n" ","批量导入商品批量导入商品图片利用媒体库导入图片 {card-default label="图片" width="80%"}{/card-default}查看图片文件,插件:Add From Server{card-default label="插件" width="75%"}{/card-default}批量导入商品利用默认功能import即可{card-default label="导入" width="80%"}{/card-default}数据转换处理利用python脚本处理原始数据,生成csv文件#coding=utf-8 # xls 转 csv 脚本 import xlrd import time import random import re from collections import defaultdict import numpy as np import json #数据源文件 R_FILE = './data/Product_List.xls' #起始行 START_ROW = 7 #处理后保存到文件 S_FILE = '../../Downloads/products_%s.csv' % (time.strftime('%Y-%m-%d-%H-%M-%S', time.localtime())) S_FILE2 = '../../Downloads/price_rules_%s.csv' % (time.strftime('%Y-%m-%d-%H-%M-%S', time.localtime())) #读取表格 class excel_read: def __init__(self, rfile, encoding='utf-8',index=0): self.data=xlrd.open_workbook(rfile) ##获取文本对象 self.table=self.data.sheets()[index] ###根据index获取某个sheet self.rows=self.table.nrows ##获取当前sheet页面的总行数,把每一行数据作为list放到 list def get_data(self): result=[] for i in range(self.rows): col=self.table.row_values(i) ##获取每一行数据 if i == 6: print(col) result.append(col) return result[START_ROW:17] #处理数据 class produce_data: def __init__(self, rawdata): self.rawdata = rawdata def _get_ns(self): ''' 生成随机数ns(0s至1s之间) ''' return int(random.random()*1000000000) def produce(self): ''' 数据处理主函数 ''' #表头信息 head_str ='' + \ 'Type,' + \ 'SKU,' + \ 'Name,' + \ 'Published,' + \ '"Is featured?",' + \ '"Visibility in catalog",' + \ '"Short description",' + \ 'Description,' + \ '"In stock?",' + \ '"Sale price",' + \ '"Regular price",' + \ 'Categories,' + \ 'Tags,' + \ 'Images' #价格列表 prices = [] #后面一定要有空格 body_str = '' for item in self.rawdata: print(item) #图片链接 img_url='https://4ilogo.com/wp-content/uploads/2022/12/{}.jpg'.format(item[1]) #构建条目 body_str += '{},{},"{}",{},{},{},"{}","{}",{},{},{},"{}","{}",{}\n'.format( 'simple', # Type item[1], # SKU item[2], # Name 1, # Published 0, # Is featured 'visible', # Visibility in catalog item[11], # Short description item[10], # Description 1, # is stock? item[29], # Sale price item[29], # Regular price item[6], # Categories item[6], # Tags img_url # Images ) #价格规则 prices.append({ "type": "single_item", "rule_type": "common", "filters": [ { "qty": 1, "type": "product_sku", "method": "in_list", "value": [ item[1] ], "product_exclude": { "on_wc_sale": "", "already_affected": "", "backorder": "", "values": [] } } ], "title": item[1], "priority": "", "enabled": "on", "sortable_blocks_priority": [ "roles", "bulk-adjustments" ], "additional": { "conditions_relationship": "and", "is_replace": "", "replace_name": "", "is_replace_free_products_with_discount": "", "free_products_replace_name": "", "is_replace_auto_add_products_with_discount": "", "auto_add_products_replace_name": "", "sortable_apply_mode": "consistently" }, "conditions": [], "cart_adjustments": [], "limits": [], "bulk_adjustments": { "type": "bulk", "qty_based": "not", "discount_type": "price__fixed", "ranges": [ { "from": int(item[23]), "to": int(item[24]), "value": item[29] }, { "from": int(item[24] + 1), "to": int(item[25]), "value": item[30] }, { "from": int(item[25] + 1), "to": int(item[26]), "value": item[31] }, { "from": int(item[26] + 1), "to": int(item[27]), "value": item[32] }, { "from": int(item[27] + 1), "to": int(item[28]), "value": item[33] }, { "from": int(item[28] + 1), "to": "", "value": item[34] } ], "table_message": "" }, "role_discounts": [], "get_products": { "repeat": "-1", "repeat_subtotal": "", "max_amount_for_gifts": "null" }, "auto_add_products": { "repeat": "-1", "repeat_subtotal": "" }, "options": { "apply_to": "expensive", "repeat": -1 }, "advertising": { "discount_message": "", "discount_message_cart_item": "", "long_discount_message": "", "sale_badge": "" }, "version": "4.2.0" }) pro_str = head_str + '\n' + body_str #返回字符串 return pro_str, prices #主函数 if __name__ == '__main__': print('正在读取数据... %s' % (R_FILE)) datalist = excel_read(R_FILE).get_data() print('正在处理数据...') product_str, price_arr = produce_data(datalist).produce() #将结果写入文件 print('正在保存商品信息到 %s' % (S_FILE)) with open(S_FILE, 'w') as fs: fs.write(product_str) print('正在保存价格规则到 %s' % (S_FILE2)) with open(S_FILE2, 'w') as fs: fs.write(json.dumps(price_arr, ensure_ascii=False)) print('完成') exit()批量设置批发价格插件: Advanced Dynamic Pricing for WooCommerce{card-default label="价格规则" width="90%"}{/card-default}{card-default label="批量导入功能" width="85%"}{/card-default}
2022年12月28日
23 阅读
0 评论
0 点赞
2022-12-09
woocommerce订单添加自定义信息展示
前言{callout color="#f0ad4e"}woocommerce的订单详情页展示的信息有限。改造一下代码,以展示更多的信息。{/callout}代码{message type="success" content="修改主题的functions.php文件,在底部添加"/}订单详情页添加本地订单号和平台订单号{card-default label="详情" width="80%"}{/card-default}// 路径:wp-content/themes/razzi/functions.php // 在管理员后台订单详细页面也显示一下 add_action( 'woocommerce_admin_order_data_after_order_details', 'brain_display_order_data_in_admin' ); function brain_display_order_data_in_admin( $order ){ ?> <div class="order_data_column"> <h4><?php _e( 'Extra Order Details', 'woocommerce' ); ?></h4> <?php global $wpdb; $order_extra_info = $wpdb->get_row("SELECT * FROM {$wpdb->prefix}superxpay_rapay_data WHERE orderid = '".$order->id."'"); echo '<p><strong>' . __( '本地订单号' ) . ':</strong></p>'; echo '<p>' . $order_extra_info->ref . '</p>'; echo '<p><strong>' . __( '通道订单号' ) . ':</strong> ' . $order_extra_info->ordercode . '</p>'; ?> </div> <?php }修改副标题信息,所有支付方式都类似PayPal方式展示{card-default label="效果" width="80%"}{/card-default}//wp-content/plugins/woocommerce/includes/admin/meta-boxes/class-wc-meta-box-order-data.php //194行 if ( $payment_method ) { ... }订单列表页{card-default label="列表" width="80%"}{/card-default}// 路径:wp-content/themes/razzi/functions.php // 添加2列自定义标题 ,放在订单列的后面 add_filter( 'manage_edit-shop_order_columns', 'custom_shop_order_column', 20 ); function custom_shop_order_column($columns){ $reordered_columns = array(); foreach( $columns as $key => $column){ $reordered_columns[$key] = $column; if( $key == 'order_number' ){ $reordered_columns['custom_column1'] = __( '本地订单号','theme_domain'); $reordered_columns['custom_column2'] = __( '上游订单号','theme_domain'); } } return $reordered_columns; } //为列指定元数据 add_action( 'manage_shop_order_posts_custom_column' , 'custom_orders_list_column_content', 20, 2 ); function custom_orders_list_column_content( $column, $post_id ){ global $wpdb; $order_extra_info = $wpdb->get_row("SELECT * FROM {$wpdb->prefix}superxpay_rapay_data WHERE orderid = '".$post_id."'"); switch ( $column ){ case 'custom_column1' : if(!empty($order_extra_info)) echo $order_extra_info->ref; else echo '<small><em>.</em></small>'; break; case 'custom_column2' : if(!empty($order_extra_info)) echo $order_extra_info->ordercode; else echo '<small><em>.</em></small>'; break; } }
2022年12月09日
23 阅读
0 评论
0 点赞
2022-08-11
woocommerce通过sql导出订单信息
说明{callout color="#f0ad4e"}需要将订单信息导出来,记录sql语句。{/callout}导出订单信息select ID as '订单ID', post_date as '创建时间', post_date_gmt as '支付时间', post_excerpt as '物流单号', (select meta_value from wp_postmeta where post_id = ID and meta_key = '_order_total') as '支付金额', (select meta_value from wp_postmeta where post_id = ID and meta_key = '_order_currency') as '币种', (select replace(meta_value, ',', ' ') from wp_postmeta where post_id = ID and meta_key = '_shipping_address_index') as '通讯地址', (select meta_value from wp_postmeta where post_id = ID and meta_key = '_shipping_phone') as '电话' from wp_posts where post_type='shop_order' and post_status in ('wc-completed', 'wc-processing') order by ID into outfile "order.csv" fields terminated by ',' escaped by '' lines terminated by "\r\n";导出商品名称和价格select post_title as '商品名', (select meta_value from wp_postmeta where post_id = ID and meta_key = '_price') as '金额' from wp_posts where post_type = 'product' and comment_status = 'open' into outfile "order.csv" fields terminated by ',' escaped by '' lines terminated by "\r\n";
2022年08月11日
71 阅读
0 评论
1 点赞
2022-07-29
zencart 商城对接第三方支付通道
前言{callout color="#f0ad4e"}前一段时间分享了zencart的部署方法- 基于docker安装部署zen-cart外贸电商独立站 , 除了官方比较大的支付通道如paypal等,还有一些知名度没有那么高的第三方通道没有现成的插件可用。需要自己动手对接,本篇文件记录对接过程。{/callout}{card-default label="发起支付" width="90%"}{/card-default}核心函数superxpay.php{message type="success" content="includes-->modules-->payment-->superxpay.php"/}{callout color="#f0ad4e"}说明:此文件包含模块安装卸载,通道信息配置,发起支付订单等功能{/callout}{card-default label="模块" width="90%"}{/card-default}隐藏内容,请前往内页查看详情submitOrder.php{message type="success" content="submitOrder.php"/}{callout color="#f0ad4e"}说明:组织订单参数,向上游通道提交订单申,获取订单链接后,展示给客户,由客户发起支付。{/callout}//提交参数 $PostData = array( "MerchantNo" => $data['MerNo'], "OutTradeNo" => $data['BillNo'], "ChannelType" => $data['ChannelType'], "CurrencyType" => $data['Currency'], "Amount" => $data['Amount'], // 分 "Body" => $data['DeliveryEmail'], "NotifyUrl" => $data['NoticeURL'], //异步通知 "ReturnUrl" => $data['ReturnURL'], //同步回调地址 "TransData" => $data['TransData'], "Sign" => $data['MD5info'], "Attach" => "", "Remark" => "", ); //获取支付链接 $ResData = curlRemote($PostData);common.php{message type="success" content="sp_Checkout/common.php"/}{callout color="#f0ad4e"}说明:公共功能函数部分。{/callout}function curlRemote($data) { $fieldsString = http_build_query($data); $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, PAY_GATEWAY); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_NOBODY, false); curl_setopt($ch, CURLOPT_REFERER, $_SERVER['HTTP_HOST']); curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_POSTFIELDS, $fieldsString); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false); //execute post $result = curl_exec($ch); //close connection curl_close($ch); $res_json = json_decode($result); if (empty($res_json) || !isset($res_json -> Data)) { return False; } return $res_json -> Data; }{card-default label="订单检查页面" width="80%"}{/card-default}header_php.php{message type="success" content="includes-->modules-->pages-->checkout_payresult_notice-->header_php.php"/}{callout color="#f0ad4e"}说明:支付异步通知{/callout}隐藏内容,请前往内页查看详情{card-default label="支付成功" width="85%"}{/card-default}部署过程# 获取项目代码, 进入zencart 根目录 cd /opt/lnmp/app/zencart cp -rf /tmp/zencart-superxpay-gateway/* .FAQ设置完成后,支付方式选择不生效{message type="success" content="检查Payment Zone字段的设置,因为指定地区导致的。"/}生成随机订单号{message type="success" content="zencart 默认的订单号是从0开始的,多个平台容易冲突,可读信息也比较少。通过修改代码,改变订单号生成方式。"/}/* * 修改文件 includes\classes\order.php * 添加函数 create_order_number 生成订单号 */ function create_order_number(){ global $db; $order_prefix='2'.date('mdH'); $check=$db->Execute("SELECT orders_id FROM ".TABLE_ORDERS." WHERE orders_id like '".$order_prefix."%' ORDER BY orders_id DESC LIMIT 1"); $order_number= $check->fields['orders_id'] ? $check->fields['orders_id']+1 : $order_prefix.'01'; return $order_number; } /* * create函数 内部修改 */ //新增变量 $order_number=$this->create_order_number(); //新增$sql_data_array 建值 'orders_id' => $order_number, //修改$insert_id //$this->orderId = $this->info['order_id'] = $insert_id = $db->insert_ID(); $this->orderId = $this->info['order_id'] = $insert_id = $order_number; }记录日志error_log(__METHOD__ . PHP_EOL .print_r($response, true));
2022年07月29日
47 阅读
2 评论
1 点赞
1
2
3