Skip to content

Latest commit

 

History

History
201 lines (133 loc) · 6.45 KB

pay.md

File metadata and controls

201 lines (133 loc) · 6.45 KB

支持的支付方法

支付宝支付目前支持 7 种支付方法,对应的支付 method 如下:

method 说明 参数 返回值
web 电脑支付 array $order Response
wap 手机网站支付 array $order Response
app APP 支付 array $order Response
pos 刷卡支付 array $order Collection
scan 扫码支付 array $order Collection
transfer 账户转账 array $order Collection
mini 小程序支付 array $order Collection

使用方法

一、电脑支付

例子

$order = [
    'out_trade_no' => time(),
    'total_amount' => '0.01',
    'subject'      => 'test subject-测试订单',
    // 'http_method'  => 'GET' // 如果想在 wap 支付时使用 GET 方式提交,请加上此参数。默认使用 POST 方式提交
];

return $alipay->web($order)->send(); // laravel 框架中请直接 return $alipay->web($order)

订单配置参数

所有订单配置中,客观参数均不用配置,扩展包已经为大家自动处理了,比如,product_code** 等参数。**

所有订单配置参数和官方无任何差别,兼容所有功能,所有参数请参考这里,查看「请求参数」一栏。

二、手机网站支付

例子

$order = [
    'out_trade_no' => time(),
    'total_amount' => '0.01',
    'subject'      => 'test subject-测试订单',
    // 'http_method'  => 'GET' // 如果想在 wap 支付时使用 GET 方式提交,请加上此参数。默认使用 POST 方式提交
];

return $alipay->wap($order)->send(); // laravel 框架中请直接 return $alipay->wap($order)

订单配置参数

所有订单配置中,客观参数均不用配置,扩展包已经为大家自动处理了,比如,product_code** 等参数。**

所有订单配置参数和官方无任何差别,兼容所有功能,所有参数请参考这里,查看「请求参数」一栏。

三、APP 支付

例子

$order = [
    'out_trade_no' => time(),
    'total_amount' => '0.01',
    'subject'      => 'test subject-测试订单',
];

// 将返回字符串,供后续 APP 调用,调用方式不在本文档讨论范围内,请参考官方文档。
return $alipay->app($order)->send(); // laravel 框架中请直接 return $alipay->app($order)

订单配置参数

所有订单配置中,客观参数均不用配置,扩展包已经为大家自动处理了,比如,product_code** 等参数。**

所有订单配置参数和官方无任何差别,兼容所有功能,所有参数请参考这里,查看「请求参数」一栏。

四、刷卡支付

例子

$order = [
    'out_trade_no' => time(),
    'total_amount' => '0.01',
    'subject'      => 'test subject-刷卡支付',
    'auth_code' => '289756915257123456',
];

$result = $alipay->pos($order);

订单配置参数

所有订单配置中,客观参数均不用配置,扩展包已经为大家自动处理了,比如,product_code** 等参数。**

所有订单配置参数和官方无任何差别,兼容所有功能,所有参数请参考这里,查看「请求参数」一栏。

五、扫码支付

例子

$order = [
    'out_trade_no' => time(),
    'total_amount' => '0.01',
    'subject'      => 'test subject-刷卡支付',
];

$result = $alipay->scan($order);
//二维码内容: $qr = $result->qr_code;

订单配置参数

所有订单配置中,客观参数均不用配置,扩展包已经为大家自动处理了,比如,product_code** 等参数。**

所有订单配置参数和官方无任何差别,兼容所有功能,所有参数请参考这里,查看「请求参数」一栏。

六、转账

例子

$order = [
    'out_biz_no' => time(),
    'payee_type' => 'ALIPAY_LOGONID',
    'payee_account' => '[email protected]',
    'amount' => '0.01',
];

$result = $alipay->transfer($order);

查询转账订单

v2.5.2 及以上可用

$order = [
    'out_trade_no' => '1514027114',
];

// $order = '1514027114';

// v2.7.2 及以下版本请使用
// $result = $alipay->find($order, false, true);

// v2.7.3 及以上版本请使用
$result = $alipay->find($order, 'transfer');

订单配置参数

所有订单配置中,客观参数均不用配置,扩展包已经为大家自动处理了,比如,product_code** 等参数。**

所有订单配置参数和官方无任何差别,兼容所有功能,所有参数请参考这里,查看「请求参数」一栏。

七、小程序支付

例子

$order  = [
    'out_trade_no' => time(),
    'subject' => 'test subject-小程序支付',
    'total_amount' => '0.01',
    'buyer_id' => 2088622190161234,
];

$result = $alipay->mini($order);

订单配置参数

所有订单配置中,客观参数均不用配置,扩展包已经为大家自动处理了,比如,product_code** 等参数。**

所有订单配置参数和官方无任何差别,兼容所有功能,所有参数请参考这里,查看「请求参数」一栏。

小程序支付接入文档:https://docs.alipay.com/mini/introduce/pay

返回值

各支付方法返回值请参考「支持的支付方法」一节。

返回只会返回两种类型 Symfony\Component\HttpFoundation\ResponseYansongda\Supports\Collection

  • 返回 Response 类型时,可以通过 return $response->send() 直接进行返回(laravel 框架中使用请直接return $response
  • 返回 Collection 类型时,可以通过 $collection->xxx 得到服务器返回的数据。

异常

  • Yansongda\Pay\Exceptions\InvalidGatewayException ,表示使用了除本 SDK 支持的支付网关。
  • Yansongda\Pay\Exceptions\InvalidSignException ,表示验签失败。
  • Yansongda\Pay\Exceptions\InvalidConfigException ,表示缺少配置参数,如,ali_public_key, private_key 等。
  • Yansongda\Pay\Exceptions\GatewayException ,表示支付宝/微信服务器返回的数据非正常结果,例如,参数错误,对账单不存在等。