php微信实现线下收银扫码枪扫码支付微信支付

微信扫码枪扫码支付测试demo:当用户展示微信付款码时,扫码枪扫码,即可支付。

<?php

/**
 * 刷卡支付
 * 提醒:提交支付请求后微信会同步返回支付结果(没有异步回调通知)。当返回结果为“系统错误”时,商户系统等待5秒后调用【查询订单API】,查询支付实际交易结果;当返回结果为“USERPAYING”时,商户系统可设置间隔时间(建议10秒)重新查询支付结果,直到支付成功或超时(建议30秒);
 */
namespace app\admin\controller;
use think\Controller;
use think\Db;
use think\Input;
use think\facade\Request;
class WxpayController extends Controller{

    public function test(){
        //echo '123';
        header('Content-type:text/html; Charset=utf-8');
//        $mchid = 'mchid';          //微信支付商户号 PartnerID 通过微信支付商户资料审核后邮件发送
//        $appid = 'appid';  //公众号APPID 通过微信支付商户资料审核后邮件发送
//        $apiKey = 'apiKey';   //https://pay.weixin.qq.com 帐户设置-安全设置-API安全-API密钥-设置API密钥
        $paymentPlugin = db('payments')->where(['name'=>'微信支付'])->find(); // 找到微信支付插件的配置
        $config_value = unserialize($paymentPlugin['config']); // 配置反序列化
        $outTradeNo = uniqid();     //你自己的商品订单号,不能重复
        $payAmount = 0.01;          //付款金额,单位:元
        $orderName = '支付测试';    //订单标题
        $authCode = '134825406674159638';        //用户付款码(商户使用设备扫码用户的付款条码读取到的条码数字,或 打开微信-》我-》钱包-》收付款 点击可查看付款码数字)

        $wxPay = new WxpayService($config_value['mchid'],$config_value['appkey'],$config_value['partner_key']);
        $wxPay->setTotalFee($payAmount);
        $wxPay->setOutTradeNo($outTradeNo);
        $wxPay->setOrderName($orderName);
        $wxPay->setAuthCode($authCode);
        $arr = $wxPay->createJsBizPackage();
        if($arr['return_code']=='SUCCESS'){
            echo '付款成功!返回信息如下:<br><hr>';
            echo '<pre>'.print_r($arr).'</pre>';
            exit();
        }
        exit('error');
    }
}


class WxpaySe
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值