微信小程序支付流程

后台支付配置文件

GetAppId 小程序APPID
GetMerchantId  商户编号 

getAppSecret 公众号密钥

GetKey 商户操作密码,在申请证书的时候设置的

 

 

通过wx.login 获取code ,传值到API接口 获取  openid 和  session_key

code 临时登陆凭证,只能使用一次

openid 用户在当前小程序的唯一标识

session_key 对用户数据进行加密签名的密钥,重新用code获取,原来的session_key失效

wx.login({
  success (res) {
    if (res.code) {
      //发起网络请求
      wx.request({
        url: 'https://test.com/onLogin',
        data: {
          code: res.code
        }
      })
    } else {
      console.log('登录失败!' + res.errMsg)
    }
  }
})

 

发起订单信息提交请求,通过微信支付的API接口获取

timeStamp,nonceStr,package,signType,paySign

把值回调给 wx.requestPayment

    public function pay($params){

        require_once "../extend/wxpay/lib/WxPay.Api.php";
        require_once "../extend/wxpay/example/WxPay.JsApiPay.php";
        require_once "../extend/wxpay/example/WxPay.Config.php";
        require_once "../extend/wxpay/lib/WxPay.Data.php";

        $tools = new \JsApiPay();
        $input = new \WxPayUnifiedOrder();
        $config = new \WxPayConfig();
        if($params=='')
            $params = input('param.');
        $input->SetBody("小程序购买_".trim($params['order_num']));
        $input->SetAttach("小程序购买购买_".trim($params['order_num']));
        $input->SetOut_trade_no($params['order_num']);
        $input->SetTotal_fee($params['money']); //金额要 *100
        $input->SetTime_start(date("YmdHis"));
        $input->SetTime_expire(date("YmdHis", time() + 3600));
        $input->SetGoods_tag("小程序购买购买_".trim($params['order_num']));
        $input->SetNotify_url('http://xxxxx.com.cn/');
        $input->SetTrade_type("JSAPI");
        $input->SetOpenid($params['openId']);
        $order = \WxPayApi::unifiedOrder($config,$input);
//		echo var_dump($order);
        $jsApiParameters = $tools->GetJsApiParameters($order);
        $data=json_decode($jsApiParameters,true);
        $data['order_id'] = $params['order_id'];
        return $data;
    }
wx.requestPayment({
  timeStamp: '',
  nonceStr: '',
  package: '',
  signType: 'MD5',
  paySign: '',
  success (res) { },
  fail (res) { }
})
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值