EasyWeChat小程序支付

首先Composer安卓插件composer require overtrue/wechat:~4.0 -vvv

use EasyWeChat\Factory;
use function EasyWeChat\Kernel\Support\generate_sign;


    public $config = [
        // 必要配置
        'app_id'             => 'wx************c9',
        'mch_id'             => '139********07',
        'key'                => 'oy0***************kvL',   // API v2 密钥 (注意: 是v2密钥 是v2密钥 是v2密钥)
         // 如需使用敏感接口(如退款、发送红包等)需要配置 API 证书路径(登录商户平台下载 API 证书)
        'cert_path'          => 'path/to/your/cert.pem', // XXX: 绝对路径!!!!
        'key_path'           => 'path/to/your/key',      // XXX: 绝对路径!!!!
        'notify_url'         => '',     // 你也可以在下单时单独设置来想覆盖它
    ];

    public function pay($data){
        $app = Factory::payment($this->config);
        $result = $app->order->unify([
            'body' =>$data['body'],
            'out_trade_no' => $data['out_trade_no'],
            'total_fee' => $data['price']*100,
            'notify_url' => $this->request->domain().'/api/pay/'.$data['type'], // 支付结果通知网址,如果不设置则会使用配置里的默认地址
            'trade_type' => 'JSAPI', // 请对应换成你的支付方式对应的值类型
            'openid' => $this->auth->getUser()->openid,
        ]);

        // 如果成功生成统一下单的订单,那么进行二次签名
        if ($result['return_code'] === 'SUCCESS') {
            // 二次签名的参数必须与下面相同
            $params = [
                'appId'     =>  $this->config['app_id'],
                'timeStamp' => time().'',
                'nonceStr'  => $result['nonce_str'],
                'package'   => 'prepay_id=' . $result['prepay_id'],
                'signType'  => 'MD5',
            ];

            // config('wechat.payment.default.key')为商户的key.记得use function EasyWeChat\Kernel\Support\generate_sign;
            $params['paySign'] = generate_sign($params, $this->config['key']);

            return $params;
        } else {
            return $result;
        }
    }

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值