微信支付 - 统一下单接口

本文介绍了一种使用PHP实现微信JSAPI支付的方法。通过构造微信支付所需的参数,并利用微信支付API完成统一下单流程,最终返回前端所需的支付参数。文章详细展示了如何设置订单基本信息、调用微信支付接口以及获取支付所需的数据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

<?php


class Wechat_pay {

    public function __construct()
    {
        $dir = dirname(__FILE__).'/wxpay';
        require_once $dir.'/lib/WxPay.Api.php';
        require_once $dir.'/WxPay.JsApiPay.php';
    }

    /**
     * 微信统一下单
     * @param openId 用户openid
     * @param body 商品简单描述
     * @param orderid 商户系统内部订单号
     * @param attach 自定义设置备注,支付成功之后,微信异步带回的参数
     * @param total_fee 订单总金额,单位为分
     * @param nofify_url 异步通知地址
     */
    public function pay($openId,$body,$orderid,$attach,$total_fee,$notify_url)
    {
        $tools = new JsApiPay();
        $input = new WxPayUnifiedOrder();
        $input->SetBody($body);
        $input->SetAttach($attach);
        $input->SetOut_trade_no($orderid);
        $input->SetTotal_fee($total_fee);
        $input->SetTime_start(date("YmdHis"));
        $input->SetTime_expire(date("YmdHis", time() + 600));
        $input->SetNotify_url($notify_url);
        $input->SetTrade_type("JSAPI");
        $input->SetOpenid($openId);
        $order = WxPayApi::unifiedOrder($input);
        $jsApiParameters = $tools->GetJsApiParameters($order);   
        //获取共享收货地址js函数参数
        $editAddress = $tools->GetEditAddressParameters();
        return array(
                // 'prepay_id' => $order['prepay_id'],
                'param' => $jsApiParameters,
                'address' => $editAddress
            );
    }

}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值