865826021 / laravel5.1-package-appwxpay by 865826021

weixin apppay support in laravel 5.1
13
2
2
Package Data
Maintainer Username: 865826021
Maintainer Contact: 865826021@qq.com (yu xiao yang)
Package Create Date: 2017-04-17
Package Last Update: 2017-04-20
Language: PHP
License: MIT
Last Refreshed: 2025-02-09 15:03:34
Package Statistics
Total Downloads: 13
Monthly Downloads: 0
Daily Downloads: 0
Total Stars: 2
Total Watchers: 2
Total Forks: 0
Total Open Issues: 0

Laravel 5.1 微信APP支付 扩展使用教程

wechat-pay-app

微信APP支付-服务器端PHP SDK 
精简的SDK代码,方便程序扩展使用
官方文档说明: https://pay.weixin.qq.com/wiki/doc/api/app/app.php?chapter=9_1
微信APP支付流程: 服务器端下单 -> 生成预支付参数 -> APP通过预支付调起客户端支付

使用示例

生成APP支付参数示例代码

composer require yuxiaoyang/appwxpay

或者在你的 composer.json 的 require 部分中添加:

 "yuxiaoyang/appwxpay": "~1.0"

下载完毕之后,直接配置 config/app.phpproviders:

//Illuminate\Hashing\HashServiceProvider::class,

Yuxiaoyang\Appwxpay\AppwxpayProvider::class,

控制器中使用 AppwxpayController.php :


<?php


use \Yuxiaoyang\Appwxpay\Appwxpay;

class AppwxpayController extends Controller
{
    
    public $appwxpay;

    //获取支付报文json数据
    public function appwxpay()
    {

        //初始化配置参数
        $options = array(
            'appid'=>'******************',//填写微信分配的公众账号ID
            'mch_id'=>'**********',//填写微信支付分配的商户号
            'notify_url'=>'http://www.******.com/appwx/notify',//填写微信支付结果回调地址
            'key'=>'***********'//填写微信商户支付密钥
        );

        //创建示例对象
        $this->appwxpay = new Appwxpay($options);

        //设置下单参数
        $params['body'] = '商品描述';//商品描述
        $params['out_trade_no'] = rand(1000000000000000,9999999999999999);	//自定义的订单号
        $params['total_fee'] = '100';	//订单金额 只能为整数 单位为分
        $params['trade_type'] = 'APP';	//交易类型 APP

        //请求微信【统一下单】接口,成功会返回 预支付交易会话标识 prepay_id
        $result = $this->appwxpay->unifiedOrder($params);
        //dd($result);
        if(isset($result['prepay_id'])){
            //生成APP端调起支付所需的参数
            $data = $this->appwxpay->getAppPayParams($result['prepay_id']);
            return $data;
        }else{
            return $result;
        }

    }


}