首页 » SEO优化 » php若何对接付出技巧_PHP应用若何对接微信年夜众号JSAPI支付

php若何对接付出技巧_PHP应用若何对接微信年夜众号JSAPI支付

duote123 2024-11-14 0

扫一扫用手机浏览

文章目录 [+]

涉及平台:

微信商户平台: https://pay.weixin.qq.com/

php若何对接付出技巧_PHP应用若何对接微信年夜众号JSAPI支付

微信公众年夜众平台: https://mp.weixin.qq.com/

php若何对接付出技巧_PHP应用若何对接微信年夜众号JSAPI支付
(图片来自网络侵删)

微信商户平台的操作部分

1. 没有账号按哀求提交资料审核。

2. 通过后记录mch_id,md5_key,以及下载好干系的API安全操作证书,账户中央。

3. 进入产品中央,开通对应的支付产品,比如“JSAPI支付”。

4. 找到“APPID授权管理”,点击关联更多AppID。

5. 填写公众号的AppID,或者小程序的AppID等。

6. 点击开拓配置的"大众年夜众号支付,添加与自己项目对应的域名及目录。

微信"大众年夜众平台的操作部分

1. 登录"大众年夜众平台,打开“"大众年夜众号设置”,记录原始ID。

2. “功能设置”中,添加项目的业务域名,JS接口安全域名,网页授权域名。

3. 在自己运用中通过对接"大众年夜众号须要对应的AppID,AppSecret,并把自己做事器IP为加入白名单。

4. 运用中通过接口时,天生Tonken, 和EncodingAESKey并记录下来。

5. 进入微信"大众平台,打开基本配置,做事器配置,填写运用的入口地址和上面参数,末了启用即可。

运用程序部分

1. 前端

引入jweixin的SDK到页面中,通过一个接口地址获取预支付id,再利用SDK方法调起支付。

var ua = window.navigator.userAgent.toLowerCase();if(paytype!=1 && ua.match(/MicroMessenger/i) == 'micromessenger') {// 微信公众年夜众号支付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{$.ajax({type: \"大众GET\公众,url: \"大众{php echo $this->createMobileUrl('pay')}\"大众,data: {type:type,rid:rid},dataType: \"大众json\公众,success: function(data) {var jsApiParameters = data;console.log('FC测试: '+jsApiParameters);WeixinJSBridge.invoke('getBrandWCPayRequest', jsApiParameters, function(res) {WeixinJSBridge.log(res.err_msg);if(res.err_msg == \公众get_brand_wcpay_request:ok\"大众) {window.location.reload();}});}});}}

2. 后端

if (strpos($_SERVER['HTTP_USER_AGENT'], 'MicroMessenger') !== false) { // 微信浏览器$notify_url = $_W['siteroot'].'addons/xxxxx/wxpay.php';// 支付后的回调地址$model = new HcfkModel();// 可忽略$url = \"大众https://api.mch.weixin.qq.com/pay/unifiedorder\公众; // 要求预下单接口file_put_contents(IA_ROOT.\"大众/addons/xxxxx/trade\"大众,$trade_no);$data[\公众appid\"大众] = $wechat_payment['appid'];// 微信商户平台AppID$data[\公众body\"大众] = '对订单描述一下';$data[\"大众mch_id\"大众] = $wechat_payment['mchid'];// 微信商户平台的商户ID$data[\"大众nonce_str\公众] = $model->getRandChar(32);$data[\"大众notify_url\"大众] = $notify_url;$data[\"大众out_trade_no\公众] = $trade_no;$data[\公众spbill_create_ip\"大众] = $model->get_client_ip();$data[\"大众total_fee\公众] = $money100;$data[\"大众trade_type\公众] = \"大众JSAPI\"大众;$data[\"大众openid\公众] = $openid;// 用户网页授权后的OpenID,用户对某一"大众号是唯一$data[\公众sign\公众] = $model->getSign($data,$wechat_payment['signkey']);// 对以上要求参数进行加密,加密办法互异,大部分md5//echo \公众<pre>\公众;print_R($data);die;$xml = $model->arrayToXml($data);$response = $model->postXmlCurl($xml, $url);$ress = $model->xmlstr_to_array($response);if($ress['return_code']=='FAIL') {exit(json_encode(array('code'=>0,'msg'=>$ress['return_msg'])));}if($ress['result_code']=='FAIL'){return $this->result(1, '操作失落败',$ress['err_code'].$ress['err_code_des']);}if($ress['return_code']=='SUCCESS'){ // 预下单成功返回支付“须要的参数”$datas[\公众appId\"大众] = $wechat_payment['appid']; // appid$datas[\"大众nonceStr\"大众] = $model->getRandChar(32); // 32位随机串$datas[\"大众package\"大众] = \"大众prepay_id=\"大众.$ress['prepay_id']; // 预支付id$datas['signType'] = \公众MD5\"大众;$datas[\公众timeStamp\"大众] = time().'';$datas[\公众paySign\公众] = $model->MakeSign($datas,$wechat_payment['signkey']); // 署名exit(json_encode($datas));}else{exit(json_encode(array('code'=>0,'msg'=>'操作失落败')));}}

补充(20190605):

调取微信支付干系接口须要一个秘钥,也便是对要求参数进行署名时的一个key, 例如md5_key等等,这个支付秘钥的设置须要再做一些操作:

1. 重新登录进入微信支付商户平台

2. 找到“账户中央”-> “API安全”

3. api秘钥,设置秘钥,然后自己自定义一个32位字符串包含大小写字母和数字,输入平台支付密码和手机验证码就可以设置完成了。

"大众年夜众号

标签:

相关文章

IP修改器永久免费版网络世界的秘密武器

网络已成为人们生活中不可或缺的一部分。网络世界并非一片净土,各种网络攻击、隐私泄露等问题层出不穷。为了保护个人信息安全,许多网友开...

SEO优化 2025-04-20 阅读1 评论0

au9999贵金属中的瑰宝

在我国,贵金属投资已成为越来越多投资者的理财选择。其中,“au9999”作为贵金属投资中的瑰宝,备受关注。本文将从“au9999”...

SEO优化 2025-04-14 阅读5 评论0

e色vs2钻石价格品质与价值的完美诠释

钻石,作为珠宝界的翘楚,自古以来就备受宠爱。而e色vs2钻石,作为钻石中的佼佼者,更是备受消费者青睐。本文将从e色vs2钻石的价格...

SEO优化 2025-04-14 阅读3 评论0

AI量化交易系统金融科技的未来之光

人工智能(AI)在金融领域的应用越来越广泛。其中,AI量化交易系统凭借其精准的数据分析、高效的操作速度和智能的风险控制,成为了金融...

SEO优化 2025-04-14 阅读5 评论0