微信支付目前支持 9 种支付方法,对应的支付 method 如下:
method | 说明 | 参数 | 返回值 |
---|---|---|---|
mp | 公众号支付 | array $order | Collection |
wap | 手机网站支付 | array $order | Response |
app | APP 支付 | array $order | JsonResponse |
pos | 刷卡支付 | array $order | Collection |
scan | 扫码支付 | array $order | Collection |
transfer | 账户转账 | array $order | Collection |
miniapp | 小程序支付 | array $order | Collection |
redpack | 普通红包 | array $order | Collection |
groupRedpack | 裂变红包 | array $order | Collection |
公众号支付
例子
$order = [
'out_trade_no' => time(),
'body' => 'subject-测试',
'total_fee' => '1',
'openid' => 'onkVf1FjWS5SBxxxxxxxx',
];
$result = Pay::wechat($config)->mp($order);
// 返回 Collection 实例。包含了调用 JSAPI 的所有参数,如appId,timeStamp,nonceStr,package,signType,paySign 等;
// 可直接通过 $result->appId, $result->timeStamp 获取相关值。
// 后续调用不在本文档讨论范围内,请自行参考官方文档。
订单配置参数
所有订单配置中,客观参数均不用配置,扩展包已经为大家自动处理了,比如,trade_type
,appid
,sign
, spbill_create_ip
等参数,大家只需传入订单类主观参数即可。
所有订单配置参数和官方无任何差别,兼容所有功能,所有参数请参考这里,查看「请求参数」一栏。
手机网站支付
例子
$order = [
'out_trade_no' => time(),
'body' => 'subject-测试',
'total_fee' => '1',
];
return $wechat->wap($order)->send(); // laravel 框架中请直接 return $wechat->wap($order)
订单配置参数
所有订单配置中,客观参数均不用配置,扩展包已经为大家自动处理了,比如,trade_type
,appid
,sign
, spbill_create_ip
等参数,大家只需传入订单类主观参数即可。
所有订单配置参数和官方无任何差别,兼容所有功能,所有参数请参考这里,查看「请求参数」一栏。
APP 支付
例子
$order = [
'out_trade_no' => time(),
'body' => 'subject-测试',
'total_fee' => '1',
];
// 后续 APP 调用,调用方式不在本文档讨论范围内,请参考官方文档。
return $wechat->app($order);
订单配置参数
所有订单配置中,客观参数均不用配置,扩展包已经为大家自动处理了,比如,trade_type
,appid
,sign
, spbill_create_ip
等参数,大家只需传入订单类主观参数即可。
所有订单配置参数和官方无任何差别,兼容所有功能,所有参数请参考这里,查看「请求参数」一栏。
刷卡支付
例子
$order = [
'out_trade_no' => time(),
'body' => 'subject-测试',
'total_fee' => '1',
'auth_code' => '1354804793001231564897',
];
$result = $wechat->pos($order);
订单配置参数
所有订单配置中,客观参数均不用配置,扩展包已经为大家自动处理了,比如,trade_type
,appid
,sign
, spbill_create_ip
等参数,大家只需传入订单类主观参数即可。
所有订单配置参数和官方无任何差别,兼容所有功能,所有参数请参考这里,查看「请求参数」一栏。
扫码支付
例子
$order = [
'out_trade_no' => time(),
'body' => 'subject-测试',
'total_fee' => '1',
];
// 扫码支付使用 模式二
$result = $wechat->scan($order);
// 二维码内容: $qr = $result->code_url;
订单配置参数
所有订单配置中,客观参数均不用配置,扩展包已经为大家自动处理了,比如,trade_type
,appid
,sign
, spbill_create_ip
等参数,大家只需传入订单类主观参数即可。
所有订单配置参数和官方无任何差别,兼容所有功能,所有参数请参考这里,查看「请求参数」一栏。
账户转账
例子
$order = [
'partner_trade_no' => '', //商户订单号
'openid' => '', //收款人的openid
'check_name' => 'NO_CHECK', //NO_CHECK:不校验真实姓名\FORCE_CHECK:强校验真实姓名
// 're_user_name'=>'张三', //check_name为 FORCE_CHECK 校验实名的时候必须提交
'amount' => '1', //企业付款金额,单位为分
'desc' => '帐户提现', //付款说明
];
$result = $wechat->transfer($order);
订单配置参数
所有订单配置中,客观参数均不用配置,扩展包已经为大家自动处理了,比如,trade_type
,appid
,sign
, spbill_create_ip
等参数,大家只需传入订单类主观参数即可。
所有订单配置参数和官方无任何差别,兼容所有功能,所有参数请参考这里,查看「请求参数」一栏。
使用 APP/小程序 账号转账
如果您需要通过 APP/小程序
的商户账号appid进行转账,请传入参数:['type' => 'app']
/['type' => 'miniapp']
!注意!
如果您在队列中使用,请自行传参 spbill_create_ip
。
小程序
例子
$order = [
'out_trade_no' => time(),
'body' => 'subject-测试',
'total_fee' => '1',
'openid' => 'onkVf1FjWS5SBxxxxxxxx',
];
$result = $wechat->miniapp($order);
// 返回 Collection 实例。包含了调用 JSAPI 的所有参数,如appId,timeStamp,nonceStr,package,signType,paySign 等;
// 可直接通过 $result->appId, $result->timeStamp 获取相关值。
// 后续调用不在本文档讨论范围内,请自行参考官方文档。
订单配置参数
所有订单配置中,客观参数均不用配置,扩展包已经为大家自动处理了,比如,trade_type
,appid
,sign
, spbill_create_ip
等参数,大家只需传入订单类主观参数即可。
所有订单配置参数和官方无任何差别,兼容所有功能,所有参数请参考这里,查看「请求参数」一栏。
普通红包
例子
$order = [
'mch_billno' => '商户订单号',
'send_name' => '商户名称',
'total_amount' => '1',
're_openid' => '用户openid',
'total_num' => '1',
'wishing' => '祝福语',
'act_name' => '活动名称',
'remark' => '备注',
];
$result = $wechat->redpack($order);
订单配置参数
所有订单配置中,客观参数均不用配置,扩展包已经为大家自动处理了,比如,trade_type
,appid
,sign
, spbill_create_ip
等参数,大家只需传入订单类主观参数即可。
所有订单配置参数和官方无任何差别,兼容所有功能,所有参数请参考这里,查看「请求参数」一栏。
!注意!
如果您在队列中使用,请自行传参 client_ip
。
裂变红包
例子
$order = [
'mch_billno' => '商户订单号',
'send_name' => '商户名称',
'total_amount' => '1',
're_openid' => '用户openid',
'total_num' => '3',
'wishing' => '祝福语',
'act_name' => '活动名称',
'remark' => '备注',
];
$result = $wechat->groupRedpack($order);
订单配置参数
所有订单配置中,客观参数均不用配置,扩展包已经为大家自动处理了,比如,trade_type
,appid
,sign
, spbill_create_ip
等参数,大家只需传入订单类主观参数即可。
所有订单配置参数和官方无任何差别,兼容所有功能,所有参数请参考这里,查看「请求参数」一栏。
返回值
各支付方法返回值请参考顶部表格
返回只会返回两种类型 Symfony\Component\HttpFoundation\Response
或 Yansongda\Supports\Collection
- 返回 Response 类型时,可以通过
return $response->send()
直接进行返回(laravel 框架中使用请直接return $response
) - 返回 Collection 类型时,可以通过
$collection->xxx
得到服务器返回的数据。