composer插件之----微信支付插件样例

2019-10-09  本文已影响0人  安晓生

使用下载安装

下载安装composer

// 使用命名行下载SDK文件
composer require zhaolicheng89/payment

//在项目任何调方即可调用

//微信支付
$subject='测试001';
$outTradeNo='98562400002';
$totalAmount='0.01';
$Wechat=&\WxPayPubHelper\Wxpay($config);
$type=1;//不传值的时候默认为1    支付业务类型 1订单支付  2 充值业务 用途:用于支付回调判断逻辑
$n=$Wechat->getPayQrcode($subject,$outTradeNo,$totalAmount,$type);
print_r($n);

方法:2 普通文件加载(需要独立加载Loader.php文件)

//微信支付
require_once 'WxPayPubHelper/Loader.php';
$Wechat=&\WxPayPubHelper\Loader::get('Wxpay',$wxconfig);
$type=1;//不传值的时候默认为1    支付业务类型 1订单支付  2 充值业务 用途:用于支付回调判断逻辑
$n=$Wechat->getPayQrcode($subject,$outTradeNo,$totalAmount,$type);
print_r($n);
...

微信支付SDK所需要的参数

$config= array(
    'appid'             =>  '', // 填写高级调用功能的app id, 请在微信开发模式后台查询
    'mchid'            =>  '', // 商户号
    'key'            =>  '', // key
    'notify_url'        =>  '', // 回调地址
    'certPath'           =>  '', // 微信支付,证书cert的路径(可选,操作退款或打款时必需)
    'keyPath'           =>  '', // 微信支付,证书key的路径(可选,操作退款或打款时必需)
);

可以查看每一个支付文档进行配置自己的配置文件。

============================================================
下面进行微信的支付代码示例

二维码支付

//微信支付
$subject='测试001';//商品名称
$outTradeNo='98562400002';//订单号
$totalAmount='0.01';//金额 单位元
$Wechat=&\WxPayPubHelper\Loader::get('Wxpay',$wxconfig);
$type=1;//不传值的时候默认为1    支付业务类型 1订单支付  2 充值业务 用途:用于支付回调判断逻辑
$n=$Wechat->getPayQrcode($subject,$outTradeNo,$totalAmount,$type);
print_r($n);

JSPAPI支付

//微信支付
$openid='';//openid
$subject='测试001';//商品名称
$outTradeNo='98562400002';//订单号
$totalAmount='0.01';//金额 单位元
$Wechat=&\WxPayPubHelper\Loader::get('Wxpay',$wxconfig);
$type=1;//不传值的时候默认为1    支付业务类型 1订单支付  2 充值业务 用途:用于支付回调判断逻辑
$n=$Wechat->getJsApiPay($openid,$subject,$outTradeNo,$totalAmount,$type);
print_r($n);

订单查询

$outTradeNo='98562400002';//订单号
$Wechat=&\WxPayPubHelper\Loader::get('Wxpay',$wxconfig);
$n=$Wechat->orderQuery($outTradeNo);

订单退款

$outTradeNo='98562400002';//订单号
$Wechat=&\WxPayPubHelper\Loader::get('Wxpay',$wxconfig);
$n=$Wechat->refund($outTradeNo);

xml转换数组

$Wechat=&\WxPayPubHelper\Loader::get('Wxpay',$wxconfig);
$arr=$Wechat::FromXml($xml);
print_r($arr);

微信回调

$xml = file_get_contents("php://input");
$arr = \WxPayPubHelper\Wxpay::FromXml($xml);
$result= \WxPayPubHelper\Wxpay::NotifyCallBack($arr);
//签名
if($result == true) {
    if ($arr["return_code"] == "SUCCESS") {
        echo  '<xml><return_code><![CDATA[SUCCESS]]></return_code><return_msg><![CDATA[OK]]></return_msg></xml>'; 
     //您的逻辑
      ...................
   }
}

以上方法在IDE工具无SDK方法的提示,如果想要有提示的可以这样写,如下:

//微信类
$t1=new \WxPayPubHelper\Wxpay($config);
$t->orderQuery($outTradeNo);
上一篇 下一篇

猜你喜欢

热点阅读