PHP实现微信支付流程(Native支付)

本文详细记录了使用PHP实现微信Native支付的全过程,包括开通Native支付、设置证书和API密钥、配置支付回调URL、设置授权域名等步骤,并重点指出在开发过程中遇到的坑,如正确获取支付成功后的数据和解决查询订单时签名错误的问题,旨在帮助开发者顺利进行微信支付集成。

最近项目需要做微信支付的功能,想着把流程以及遇到的坑记录下来

1.到微信商户平台中去开通Native支付(产品中心-Native支付-申请开通)

2.微信商户平台中下载证书以及设置api密钥(账户中心-api安全),查看指引中很详细的说明了下载证书以及设置密钥的步骤。

3.微信商户平台中设置网页授权支付和支付回调url(产品中心-Native支付-开发配置)

4.微信公众平台中设置网页授权域名(公众号设置-功能设置-网页授权域名),这个微信里面也有详细的说明,照着做就行了。

到这里前期准备工作就做完了,现在可以进行开发了

1.下载好的证书放到项目中,我放的是extend/utils/wechart目录下

2.设置微信相关配置

3.调用Native支付接口,获取二维码链接,扫码付款后微信将信息回调到设置好的接口中,获取之后该干啥干啥。

class wxp extends Common

{

    protected $payApi = [
        'native'  => 'https://api.mch.weixin.qq.com/v3/pay/transactions/native', //native支付

    ]; 


    /**

     * native支付

     * @param $total  int  支付金额

     * @return mixed

     */

    public function nativePay($total)
    {
        $order_code = 'WX' . $this->getOrderNo();
        //生成订单
        $order_data['order_code'] = $order_code;
        $order_data['goods_money'] = $total;
        $order_data['totalmoney'] = $total;
        $order_data['person_id'] = $_REQUEST['person_id'];
        $order_data['order_type'] = $_REQUEST['order_type'];
        $order_data['pay_type'] = 1;
        $order_data['create_time'] = time();
        $order_data['status'] = 0;
        $order_id = db('order')->insertGetId($order_data);
        $detail_data['order_id'] = $order_id;
        if ($_REQUEST['order_type'] == 1) {
            if ($_
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值