您现在的位置是:首页 > 教程 > ecshop商城教程ecshop商城教程
ecshop实现pc扫码微信支付代码示例
问旋2024-12-11 14:34:28ecshop商城教程已有人查阅
导读ecshop开发网站,如果没有手机版,又想通过微信支付,可以加入pc二维码扫描微信支付功能
工具/原料ecshop商城系统,phpqrcode,WxPayPubHelper
ecshop开发网站,如果没有手机版,又想通过微信支付,可以加入pc二维码扫描微信支付功能
工具/原料
ecshop商城系统,phpqrcode,WxPayPubHelper
公众号已申请微信支付
方法/步骤
使用PHP QR Code生成二维码,下载,在商品支付页面加入
打开申请到的微信支付代码,在上面加入weixin.php
手机打开页面调用代码
WxPay.pub.config.php
配置文件
找到notify_url.php文件
上面添加
define('IN_ECS', true);
require('../includes/init.php');
require('../includes/lib_payment.php');
调用订单信息
notify_url.php添加支付后修改订单状态
工具/原料
ecshop商城系统,phpqrcode,WxPayPubHelper
公众号已申请微信支付
方法/步骤
使用PHP QR Code生成二维码,下载,在商品支付页面加入
include 'phpqrcode/phpqrcode.php';
$pay_url ='http:// .xxx.com/weixin/weixin.php?order_id='.$order['order_sn'];
QRcode::png($pay_url, 'images/image.png', 'L', 8);
echo '<img src="images/image.png" />';
生成一个指向微信支付的手机连接二维码,手机扫描进入打开申请到的微信支付代码,在上面加入weixin.php
define('IN_ECS', true);
require('../includes/init.php');
require('../includes/lib_order.php');
$order_id = isset($_GET['order_id']) ? intval($_GET['order_id']) : 0;
$order = order_info(0,$order_id);
获取订单信息手机打开页面调用代码
<html>
<head>
<meta http-equiv="content-type" content="text/html;charset=utf-8"/>
<title>微信安全支付</title>
<script type="text/javascript">
//调用微信JS api 支付
function jsApiCall()
{
WeixinJSBridge.invoke(
'getBrandWCPayRequest',
<?php echo $jsApiParameters; ?>,
function(res){
WeixinJSBridge.log(res.err_msg);
//alert(res.err_code+res.err_desc+res.err_msg);
}
);
}
function callpay()
{
if (typeof WeixinJSBridge == "undefined"){
if( document.addEventListener ){
document.addEventListener('WeixinJSBridgeReady', jsApiCall, false);
}else if (document.attachEvent){
document.attachEvent('WeixinJSBridgeReady', jsApiCall);
document.attachEvent('onWeixinJSBridgeReady', jsApiCall);
}
}else{
jsApiCall();
}
}
callpay();
</script>
</head>
<body>
</br></br></br></br>
</body>
</html>
代码引用WxPayPubHelper,WxPay.pub.config.php
配置文件
class WxPayConf_pub
{
//=======【基本信息设置】=====================================
//微信公众号身份的唯一标识。审核通过后,在微信发送的邮件中查看
const APPID = 'xxx';
//受理商ID,身份标识
const MCHID = 'xxx';
//商户支付密钥Key。审核通过后,在微信发送的邮件中查看
const KEY = 'xxx';
//JSAPI接口中获取openid,审核后在公众平台开启开发模式后可查看
const APPSECRET = 'xxx';
//=======【JSAPI路径设置】===================================
//获取access_token过程中的跳转uri,通过跳转将code传入jsapi支付页面
const JS_API_CALL_URL = 'http:// .xxx.com/weixin/js_api_call.php';
//=======【证书路径设置】=====================================
//证书路径,注意应该填写绝对路径
const SSLCERT_PATH = '/weixin/WxPayPubHelper/cacert/apiclient_cert.pem';
const SSLKEY_PATH = '/weixin/WxPayPubHelper/cacert/apiclient_key.pem';
//=======【异步通知url设置】===================================
//异步通知url,商户根据实际开发过程设定
const NOTIFY_URL = 'http:// .xxx.com/weixin/notify_url.php';
//=======【curl超时设置】===================================
//本例程通过curl使用HTTP POST方法,此处可修改其超时时间,默认为30秒
const CURL_TIMEOUT = 30;
}
?>
根据申请的信息填写找到notify_url.php文件
上面添加
define('IN_ECS', true);
require('../includes/init.php');
require('../includes/lib_payment.php');
调用订单信息
notify_url.php添加支付后修改订单状态
if($notify->checkSign() == TRUE)
{
if ($notify->data["return_code"] == "FAIL") {
//此处应该更新一下订单状态,商户自行增删操作
//$log_->log_result($log_name,"【通信出错】:\n".$xml."\n");
}
elseif($notify->data["result_code"] == "FAIL"){
//此处应该更新一下订单状态,商户自行增删操作
//$log_->log_result($log_name,"【业务出错】:\n".$xml."\n");
}
else{
//此处应该更新一下订单状态,商户自行增删操作
//$log_->log_result($log_name,"【支付成功】:\n".$xml."\n");
$order = $notify->getData();
$log_id=get_order_id_by_sn($order["out_trade_no"]);
order_paid($log_id);
}
//商户自行增加处理流程,
//例如:更新订单状态
//例如:数据库操作
//例如:推送支付完成信息
}
更多安全信息和详细信息就不列举了
本文标签:
很赞哦! ()
上一篇:ecshop怎么删除云服务
下一篇:ecshop的session传值
相关文章
随机图文
-
ecshop购物车弹出框效果代码示例
本文章是以ecshop原始程序及默认模板为例进行讲述,不同的模板操作上略有不同,但原理都一样。 -
ecshop商品属性库存关联仿淘宝商品详细页
在商城模板目录下打开 goods.dws 查找如下代码:再在商城模板CSS里添加如下CSS,再把如下图片另存为 test.gif 放入商城模板图片文件夹里 -
ecshop报错Deprecated: preg_replace()的解决方法
今天安装Ecshop后,运行出现各种问题,其中 Deprecated: preg_replace() 之类的报错最多,下面贴出解决方案: 错误原因:preg_replace() 函数中用到的修饰符 /e 在 PHP5.5.x 中已经被弃用了。 -
如何让ecshop后台添加完商品后默认不上架
ECSHOP系统默认的情况是这样的:后台添加完商品后,商品状态就变成了“已上架”。现在出于某种考虑,我想让商品添加完后暂时为“未上架”状态。
留言与评论 (共有 条评论) |