Ychao

easy引入请使用composer自行处理

php代码:

      if ($order[\'pay_price\'] > 0) {
                /*返回给支付二维码 还有官方收款码*/
                $app = $this->get_wechat_pay_app();
                $jssdk = $app->jssdk;
                $pay_param = $app->order->unify([
                    \'body\' => \'会查查-参赛报名费\',
                    \'out_trade_no\' => $order[\'order_sn\'],
                    \'total_fee\' => $order[\'pay_price\'] * 100,
                    \'spbill_create_ip\' => get_client_ip(), // 可选,如不传该参数,SDK 将会自动获取相应 IP 地址
                    // \'notify_url\' => \'https://www.huixx.cn/index/notify\', // 支付结果通知网址,如果不设置则会使用配置里的默认地址
                    \'trade_type\' => \'JSAPI\', // 请对应换成你的支付方式对应的值类型
                     \'openid\' => $this->user[\'wechat_openid\'],
                    //\'sandbox\' => true, // 设置为 false 或注释则关闭沙箱模式
                ]);

                $prepayId = $pay_param[\'prepay_id\'];
                $jsApiParameters = $jssdk->bridgeConfig($prepayId);
                $order[\'pay_param\'] = json_decode($jsApiParameters);
            }

封装方法:

    /**获取微信支付APP*/
    public function get_wechat_pay_app()
    {
        $config = [
            // 必要配置
            \'app_id\' => sysconfig(\'pre\', \'appid\'),
            \'mch_id\' => sysconfig(\'pre\', \'mchid\'),
            \'key\' => sysconfig(\'pre\', \'mchkey\'),   // API 密钥

            // 如需使用敏感接口(如退款、发送红包等)需要配置 API 证书路径(登录商户平台下载 API 证书)
            //  \'cert_path\'          => \'path/to/your/cert.pem\', // XXX: 绝对路径!!!!
            //\'key_path\'           => \'path/to/your/key\',      // XXX: 绝对路径!!!!

            \'notify_url\' => \'https://www.huixx.cn/index/notify\',     // 你也可以在下单时单独设置来想覆盖它
        ];

        $app = Factory::payment($config);
        return $app;
    }

  

html代码:

<script>
	let order_id = {$order.id};
	let jsApiParameters = {:json_encode($order.pay_param)};



	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();
		}
	}

	function jsApiCall()
	{
		WeixinJSBridge.invoke(
				\'getBrandWCPayRequest\',jsApiParameters,
				function(res){
					//WeixinJSBridge.log(res.err_msg);
					if (res.err_msg == "get_brand_wcpay_request:ok") {
						//alert(\'支付成功\')
						//可以进行查看订单,等操作
						window.location.href = \'/index/wap/match_pay_success/order_id/\'+order_id;
					} else {
						layer.msg(\'取消支付\')
						return
					}
					//alert(res.err_code+res.err_desc+res.err_msg);
				}
		);
	}

</script>

  

  

posted on 2020-12-14 11:16  超灬超  阅读(242)  评论(0编辑  收藏  举报

分类:

技术点:

相关文章:

  • 2021-12-17
  • 2021-11-07
  • 2022-12-23
  • 2021-11-17
  • 2018-07-09
  • 2022-12-23
  • 2021-07-31
  • 2022-12-23
猜你喜欢
  • 2021-11-11
  • 2021-11-07
  • 2022-12-23
  • 2021-05-14
  • 2021-11-17
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案