推荐一个支付组件 riverslei/payment

riverslei/payment 是一款集成了阿里支付、微信支付的组件。它对php的版本要求很低(大于等于5.6),不过其文档不是特别完善,但是作为开发者去看下examples 下的 demo 够用了。

当前支持的接口

当前sdk仅接入了支付宝支付、微信支付、招商支付(支付、退款)。中国现在电子支付的公司巨多,无法一一接入,欢迎各位发扬自己动手、丰衣足食的光荣传统,提交PR给我,代码贡献指南 看这里

支付宝接口

  • APP支付(接入支付宝SDK,用户支付时唤起支付宝完成支付)
  • 手机网站支付(移动端唤起支付宝钱包或网页收银台完成支付)
  • 电脑网站支付(用户通过支付宝完成支付,交易款项即时到账)-原即时到账
  • 当面付(商户扫码首款或用户扫码付款)
  • 单笔转账到支付宝(支付宝商户向其它支付宝账户单笔转账)
  • 交易支付、转账、退款查询接口
  • 交易退款接口
  • 对账单下载(待开发)
  • 交易结算接口(待开发)
  • 交易关闭接口(待开发)

微信支付接口

  • 刷卡支付(用户打开微信钱包的刷卡界面,商户扫码后提交完成交易)
  • 公众号支付(用户在微信内进入商家的H5页面,页面内调用JSSDK完成支付)
  • 扫码支付(用户打开扫一扫,扫码商户二维码完成支付)
  • APP支付(商户APP中集成微信SDK,用户点击后跳转到微信完成支付)
  • H5支付(用户在微信以外的浏览器请求微信支付的场景唤起微信支付)
  • 小程序支付(用户在微信小程序中使用微信支付)
  • 企业付款(企业向用户付款)
  • 交易支付、转账、退款查询接口
  • 交易退款接口
  • 对账单下载(待开发)
  • 现金红包(待开发)
  • 代金券或立减优惠券(待开发)

招商支付

  • 用户签约(首次使用招商支付的用户完成绑卡操作)
  • 招商一网通支付(发起支付请求,招商支付仅此一个接口)
  • 交易退款
  • 查询招商公钥
  • 交易支付、退款查询
  • 查询入账明细(待开发)
  • 查询协议(待开发)
  • 取消协议(待开发)

安装

通过composer,这是推荐的方式,可以使用composer.json 声明依赖,或者直接运行下面的命令。

composer require "riverslei/payment:*"

放入composer.json文件中

"require": {
    "riverslei/payment": "*"
}

然后运行

composer update

或者项目中直接引入
当前项目依赖有 guzzle 第三方包,如果手动引入,请同时确保项目中存在 guzzle
这种方式主要是为了目前还没有使用 composer 进行包管理的项目,如果你是一个有追求的人,我建议尽快采用 composer。
下载地址: https://github.com/helei112g/payment/archive/master.zip
下载后,解压可以得到源码,放入自己的项目合适目录中。在需要用到的地方。通过 require 引入项目项目。这部分可参考项目中的 example 中的例子。
require_once __DIR__ . './payment/autoload.php';
// 这里请提供 payment 目录下 autoload.php 的路径

使用起来还是很方便的 ,只需要关心如何正确组装支付数据,以及如何正确处理返回后的数据即可。

官方 demo

微信 APP 支付


$orderNo = time() . rand(1000, 9999);
// 订单信息
$payData = [
    'body'            => 'test body',
    'subject'         => 'test subject',
    'order_no'        => $orderNo,
    'timeout_express' => time() + 600,// 表示必须 600s 内付款
    'amount'          => '3.01',// 微信沙箱模式,需要金额固定为3.01
    'return_param'    => '123',
    'client_ip'       => isset($_SERVER['REMOTE_ADDR']) ? $_SERVER['REMOTE_ADDR'] : '127.0.0.1',// 客户地址
];

try {
    $ret = Charge::run(Config::WX_CHANNEL_APP, $wxConfig, $payData);
} catch (PayException $e) {
    echo $e->errorMessage();
    exit;
}

更多信息就看 官方文档或者官方 DEMO 吧

相关文档

[gitwidget type='github' url='helei112g/payment']

[gitwidget type='gitee' url='helei112g/payment']

非特殊说明,本博所有文章均为博主原创。

备注:相关侵权、举报、投诉及建议等,请联系站长

添加新评论

昵称
邮箱
网站