PHP code example of xudongyss / tencent

1. Go to this page and download the library: Download xudongyss/tencent library. Choose the download type require.

2. Extract the ZIP file and open the index.php.

3. Add this code to the index.php.
    
        
<?php
require_once('vendor/autoload.php');

/* Start to develop here. Best regards https://php-download.com/ */

    

xudongyss / tencent example snippets


composer 



use tencent\weixin\pay\WxPay;

$appId = '';
/* 商户号 */
$merchantId = '';
/* API KEY */
$key = '';
/* 初始化 */
WxPay::init($appId, $merchantId, $key);

/* 订单号 */
$outTradeNo = '202007151619';
/* 订单金额 */
$totalFee = 1;
/* 描述 */
$body = '微信支付';
/* 异步回调 url */
$notifyUrl = '';
/* 可选值: 默认 '', String(127) 附加数据,在查询API和支付通知中原样返回,该字段主要用于商户携带订单的自定义数据*/
$attach = '';
/* 可选值: 支付超时时间, 最大值: 100, 单位: 分钟, 默认值: 10, 10 分钟后 */
$expire = 10;
WxPay::native($outTradeNo, $totalFee, $body, $notifyUrl, $attach, $expire);

//返回值: 
//异常返回: false, 使用 WxPay::getErrorMessage() 获取错误描述
//正常返回
Array
(
    [appid] => 
    [code_url] => 	//用户生成支付二维码
    [mch_id] => 1387697402
    [nonce_str] => wo1hGF5GqZetJoDt
    [prepay_id] => wx16113738316617a787f99be51378182900
    [result_code] => SUCCESS
    [return_code] => SUCCESS
    [return_msg] => OK
    [sign] => 
    [trade_type] => NATIVE
)

/* 订单号 */
$outTradeNo = '202007151619';
/* 订单金额 */
$totalFee = 1;
/* 描述 */
$body = '微信支付';
/* 异步回调 url */
$notifyUrl = '';
/* 可选值: 默认 '', String(127) 附加数据,在查询API和支付通知中原样返回,该字段主要用于商户携带订单的自定义数据*/
$attach = '';
/* 可选值: 支付超时时间, 最大值: 100, 单位: 分钟, 默认值: 10, 10 分钟后 */
$expire = 10;
WxPay::native($outTradeNo, $totalFee, $body, $notifyUrl, $attach, $expire);

//返回值: 
//异常返回: false, 使用 WxPay::getErrorMessage() 获取错误描述
//正常返回:APP 可根据接口文档直接使用相关数据调用支付,无需任何处理
Array
(
    [appid] => 
    [partnerid] => 
    [package] => Sign=WXPay
    [noncestr] => 1se71owcp1of6ovi7vyji7mjwbph0zq5
    [timestamp] => 1594880068
    [prepayid] => wx16141428062738d054d9ec7e1219435700
    [sign] => 
)

/* 订单号 */
$outTradeNo = '202007151619';
/* 订单金额 */
$totalFee = 1;
/* 用户在商户appid下的唯一标识 */
$openId = '';
/* 描述 */
$body = '微信支付';
/* 异步回调 url */
$notifyUrl = '';
/* 可选值: 默认 '', String(127) 附加数据,在查询API和支付通知中原样返回,该字段主要用于商户携带订单的自定义数据*/
$attach = '';
/* 可选值: 支付超时时间, 最大值: 100, 单位: 分钟, 默认值: 10, 10 分钟后 */
$expire = 10;
WxPay::jsApi($outTradeNo, $totalFee, $openId, $body, $notifyUrl, $attach, $expire);

//返回值: 
//异常返回: false, 使用 WxPay::getErrorMessage() 获取错误描述
//正常返回:小程序 可根据接口文档直接使用相关数据调用支付,无需任何处理
Array
(
    [appId] => 
    [timeStamp] => 
    [nonceStr] => 
    [package] => 
    [signType] => 
    [paySign] => 
)

$result = WxPay::verifyNotify();
//返回值:
/*
 * 异常返回:
 * 		false,使用 WxPay::getErrorMessage() 获取错误描述,
 *		调用:WxPay::notifyReply(false, WxPay::getErrorMessage()),调用后,请不要有任何输出,通知微信服务器
 * 业务处理过程中出错,或发生异常,均需调用 WxPay::notifyReply(false, WxPay::getErrorMessage()),通知微信服务器,微信服务器会在一定时间内继续回调
 */
//正常返回:原始数据:使用 WxPay::getNotifyData() 获取
Array
(
    [order_no] => 订单号
    [total_amount] => 订单金额
    [pay_no] => 支付交易号
    [pay_time] => 支付时间
)
//业务处理完成后
WxPay::notifyReply();//调用后,请不要有任何输出



use tencent\weixin\oauth\WxOAuth;

$appId = '';
$appSecret = '';
WxOAuth::init($appId, $appSecret);

$code = '';
$result = WxOAuth::getAccessToken($code);
//返回值: 
//异常返回: false, 使用 WxPay::getErrorMessage() 获取错误描述
//正常返回:
Array
(
    [access_token] => 
    [expires_in] => 7200
    [refresh_token] => 
    [openid] => 
    [scope] => snsapi_login
    [unionid] => 
)

$accessToken = '';
$openId = '';
$result = WxOAuth::getUserInfo($accessToken, $openId);
//返回值: 
//异常返回: false, 使用 WxPay::getErrorMessage() 获取错误描述
//正常返回:
Array
(
    [openid] => 
    [nickname] => 
    [sex] => 
    [language] => zh_CN
    [city] => 
    [province] => 
    [country] => CN
    [headimgurl] => 
    [privilege] => Array
        (
        )

    [unionid] => 
)