1.微信支付接口PHP的信支金额自定义应该怎么写?
2.PHP微信支付JsApi40163错误
3.ecshop增加pc扫描二维码微信支付功能代码
微信支付接口PHP的金额自定义应该怎么写?
您要做的是微信公众号的扫二维码付款吧,可以客户自定义金额的付源那种。这个是信支需要开发的。
您可以看下发案例,付源可以用户自行输入金额进行付款,信支vlc 封装源码可放在店里给客户支付用。付源带游戏的聊天源码下载
至于手续费,信支是付源不需要额外支付的,就只要支付腾讯收的信支0.6%。
只是付源开发要收费,国内支付开发机构比较专业的信支是杰客科技 ,你可以找他们在线工作人员帮忙开发下。付源
注:客户付款是信支上传源码到网站目录是什么直接到微信官方的管理后台。
PHP微信支付JsApi错误
本文将和大家分享一下微信支付JsApi 错误以及解决方案代码。付源
错误:
未定义数组索引:openid 。信支
经过检查发现是 :微信支付授权获取 openId { “errcode”:,“errmsg”:“code been used”,}
原因为:微信支付code 只能使用一次,当第二次重复使用时就会出现此错误。猎头网站源码怎么做的
解决相关参考:/content/php/
参考中的方法本人尝试无果,故自己根据原因重写:
经排查发现问题出在:
WxPay.JsApiPay.php中的GetOpenid方法,源码为:
/** * * 通过跳转获取用户的openid,跳转流程如下: * 1、设置自己需要调回的开拓者云端插件源码丢失url及其其他参数,跳转到微信服务器/connect/oauth2/authorize * 2、微信服务处理完成之后会跳转回用户redirect_uri地址,此时会带上一些参数,如:code * * @return 用户的openid */public function GetOpenid(){ //通过code获得openid if (!isset($_GET['code']) ){ //触发微信返回code码 $baseUrl = urlencode('/connect/oauth2/authorize * 2、微信服务处理完成之后会跳转回用户redirect_uri地址,此时会带上一些参数,如:code * * @return 用户的openid */public function GetOpenid(){ //通过code获得openid if (!isset($_GET['code']) ){ //触发微信返回code码 $baseUrl = urlencode('/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 /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 = '/weixin/notify_url.php'; //=======curl超时设置=================================== //本例程通过curl使用HTTP POST方法,此处可修改其超时时间,默认为秒 const CURL_TIMEOUT = ; } ? 根据申请的信息填写
找到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); } //商户自行增加处理流程, //例如:更新订单状态 //例如:数据库操作 //例如:推送支付完成信息 }
更多安全信息和详细信息就不列举了