• Stars
    star
    883
  • Rank 50,595 (Top 2 %)
  • Language
    PHP
  • License
    MIT License
  • Created almost 7 years ago
  • Updated 5 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

PHP 集成支付 SDK ,集成了支付宝、微信支付的支付接口和其它相关接口的操作。支持 php-fpm 和 Swoole,所有框架通用。宇润PHP全家桶技术支持群:17916227

PaySDK

Latest Version Php Version IMI Doc IMI License

介绍

PaySDK 是 PHP 集成支付 SDK ,集成了支付宝、微信支付的支付接口和其它相关接口的操作。

无框架依赖,支持所有框架,支持 Swoole 协程环境。

我们有完善的在线技术文档:http://doc.yurunsoft.com/PaySDK

API 文档:https://apidoc.gitee.com/yurunsoft/PaySDK

此项目进入维护阶段,不会支持微信V3接口,懒得跟着他们折腾,如有需要请找别处!

作者本人不提供任何技术支持,如有需要可以加群讨论:17916227 点击加群,有没有人回复就不一定了。

大家在开发中肯定会对接各种各样的支付平台,我个人精力有限,欢迎各位来 Github 提交 PR,一起完善 PaySDK ,让它能够支持更多的支付平台,更加稳定可靠好用。

支持的支付接口

支付宝

  • 即时到账-电脑网站支付(老)
  • 即时到账-手机网站支付(老)
  • 当面付
  • 手机网站支付
  • 电脑网站支付
  • APP支付服务端
  • 小程序支付
  • 单笔转账到支付宝账户
  • 海外支付(电脑网站、手机网站、APP、扫码)
  • 海关报关
  • 其它辅助交易接口(退款、查询等)

微信支付

  • 刷卡支付
  • 公众号支付
  • 扫码支付
  • APP支付
  • H5支付
  • 小程序支付
  • 企业付款到零钱
  • 企业付款到银行卡
  • 海外支付(刷卡、公众号、扫码、APP)
  • 海关报关
  • 其它辅助交易接口(退款、查询等)

安装

在您的composer.json中加入配置:

PHP >= 5.5

{
    "require": {
        "yurunsoft/pay-sdk": "~3.0"
    }
}

PHP >= 5.4

{
    "require": {
        "yurunsoft/pay-sdk": "~2.0"
    }
}

3.x 版本支持 PHP >= 5.5,持续迭代维护中

2.x 版本支持 PHP >= 5.4,支持长期 BUG 维护,保证稳定可用,停止功能性更新

然后执行composer update命令。

代码示例

支付宝即时到账

// SDK实例化,传入公共配置
$pay = new \Yurun\PaySDK\Alipay\SDK($params);

// 支付接口
$request = new \Yurun\PaySDK\Alipay\Params\Pay\Request;
$request->notify_url = ''; // 支付后通知地址(作为支付成功回调,这个可靠)
$request->return_url = ''; // 支付后跳转返回地址
$request->businessParams->seller_id = $GLOBALS['PAY_CONFIG']['appid']; // 卖家支付宝用户号
$request->businessParams->out_trade_no = 'test' . mt_rand(10000000,99999999); // 商户订单号
$request->businessParams->total_fee = 0.01; // 价格
$request->businessParams->subject = '测试商品'; // 商品标题

// 跳转到支付页面
// $pay->redirectExecute($request);

// 获取跳转url
$pay->prepareExecute($request, $url);
var_dump($url);

支付宝手机网站支付

// SDK实例化,传入公共配置
$pay = new \Yurun\PaySDK\AlipayApp\SDK($params);

// 支付接口
$request = new \Yurun\PaySDK\AlipayApp\Wap\Params\Pay\Request;
$request->notify_url = ''; // 支付后通知地址(作为支付成功回调,这个可靠)
$request->return_url = ''; // 支付后跳转返回地址
$request->businessParams->out_trade_no = 'test' . mt_rand(10000000,99999999); // 商户订单号
$request->businessParams->total_amount = 0.01; // 价格
$request->businessParams->subject = '小米手机9黑色陶瓷尊享版'; // 商品标题

// 跳转到支付页面
// $pay->redirectExecute($request);

// 获取跳转url
$pay->prepareExecute($request, $url);
var_dump($url);

微信H5支付

// SDK实例化,传入公共配置
$pay = new \Yurun\PaySDK\Weixin\SDK($params);

// 支付接口
$request = new \Yurun\PaySDK\Weixin\H5\Params\Pay\Request;
$request->body = 'test'; // 商品描述
$request->out_trade_no = 'test' . mt_rand(10000000,99999999); // 订单号
$request->total_fee = 1; // 订单总金额,单位为:分
$request->spbill_create_ip = '127.0.0.1'; // 客户端ip
$request->notify_url = ''; // 异步通知地址

// 调用接口
$result = $pay->execute($request);
if($pay->checkResult())
{
    // 跳转支付界面
    header('Location: ' . $result['mweb_url']);
}
else
{
    var_dump($pay->getErrorCode() . ':' . $pay->getError());
}
exit;

Swoole 协程环境支持

在支付、退款异步通知中,需要赋值 SwooleRequestResponse 对象,或者遵循 PSR-7 标准的对象即可。

主流框架的 RequestResponse 对象,一般都遵循 PSR-7 标准,可以直接使用。

imi 框架中使用

imi 是基于 PHP Swoole 的高性能协程应用开发框架,它支持 HttpApi、WebSocket、TCP、UDP 服务的开发。

在 Swoole 的加持下,相比 php-fpm 请求响应能力,I/O密集型场景处理能力,有着本质上的提升。

imi 框架拥有丰富的功能组件,可以广泛应用于互联网、移动通信、企业软件、云计算、网络游戏、物联网(IOT)、车联网、智能家居等领域。可以使企业 IT 研发团队的效率大大提升,更加专注于开发创新产品。

https://www.imiphp.com/

/**
 * 这是一个在控制器中的动作方法
 * @Action
 */
public function test()
{
    $payNotify = new class extends \Yurun\PaySDK\Weixin\Notify\Pay
    {
        /**
         * 后续执行操作
         * @return void
         */
        protected function __exec()
        {

        }
    };
    $context = RequestContext::getContext();
    // 下面两行很关键
    $payNotify->swooleRequest = $context['request'];
    $payNotify->swooleResponse = $context['response'];

    $sdk->notify($payNotify);

    // 这句话必须填写
    return $payNotify->swooleResponse;
}

其它框架(Swoole 对象)

$payNotify = new class extends \Yurun\PaySDK\Weixin\Notify\Pay
{
    /**
     * 后续执行操作
     * @return void
     */
    protected function __exec()
    {

    }
};
// 下面两行很关键,$request、$response 从 request 中获取
// 或者查阅如何从你使用的框架中获取
$payNotify->swooleRequest = $request;
$payNotify->swooleResponse = $response;

$sdk->notify($payNotify);

其它框架(PSR-7 对象)

$payNotify = new class extends \Yurun\PaySDK\Weixin\Notify\Pay
{
    /**
     * 后续执行操作
     * @return void
     */
    protected function __exec()
    {

    }
};
// 目前主流 Swoole 基本都支持 PSR-7 标准的对象
// 所以可以直接传入,如何获取请查阅对应框架的文档
$payNotify->swooleRequest = $request;
$payNotify->swooleResponse = $response;

$sdk->notify($payNotify);

// 处理完成后需要将 $response 从控制器返回或者赋值给上下文
// 不同框架的操作不同,请自行查阅对应框架的文档
return $payNotify->swooleResponse;

商业服务

服务内容:

  • 低费率开户(仅合法商户)
  • 问题排查及咨询
  • 代接支付
  • 其它合作

如有需要加QQ:369124067 微信:wx_zhangrunyu(注明来意)

捐赠

开源不求盈利,多少都是心意,生活不易,随缘随缘……

More Repositories

1

ChineseUtil

PHP 中文工具包,支持汉字转拼音、拼音分词、简繁互转、数字、金额大写;QQ群:17916227
PHP
494
star
2

YurunOAuthLogin

PHP 第三方登录授权 SDK,集成了QQ、微信、微博、Github等常用接口。支持 php-fpm 和 Swoole,所有框架通用。QQ群:17916227
PHP
421
star
3

YurunHttp

YurunHttp 是开源的 PHP HTTP 客户端,支持链式操作,简单易用。完美支持Curl、Swoole 协程。QQ群:17916227
PHP
257
star
4

Guzzle-Swoole

让基于 Guzzle 的项目完美无缝兼容 Swoole 协程,支持:Guzzle、Elasticsearch client——来自宇润 PHP 全家桶
PHP
160
star
5

php-tdengine

大数据引擎 TDengine 的 PHP 客户端扩展,支持 Swoole!
PHP
75
star
6

YurunProxy

基于 Swoole 的内网穿透,支持本地微信开发、Web开发,让外网能够访问到!山寨简易版 Ngrok!
PHP
67
star
7

YurunLock

PHP阻塞锁和非阻塞锁机制,内置解决并发锁重复执行的方案。目前支持文件、Redis、Memcache、Memcached。
PHP
50
star
8

mddoc

开源的 markdown 文档转 html 文档工具,它使用 php 开发,支持 php >= 5.4。它生成的 html 可以直接放在网站上,支持全文搜索、自定义 html 模版。
PHP
46
star
9

PHPChineseToPinyin

请移步:
40
star
10

ApiAgent

PHP开发的API接口代理,支持跨域接口代理和接口合并请求功能。程序员聚集群:74401592
PHP
38
star
11

yurun-crawler

宇润爬虫框架(Yurun Crawler) 是一个低代码、高性能、分布式爬虫采集框架,基于 imi 框架开发,运行在 Swoole 常驻内存的协程环境。
PHP
38
star
12

YurunPHP

YurunPHP是宇润软件专为懒人开发者设计的一款开源PHP框架,基于MVC动态分层架构,开发者可以根据需要自行扩充分层。宇润PHP交流群:17916227
PHP
35
star
13

PHPMailer-Swoole

安装最新版Swoole,开启一键协程化,使用原版phpmailer就可以实现协程化了。本项目已经没有维护下去的意义。
PHP
31
star
14

chinese-util-cpp

C++ 实现的汉字转拼音、拼音分词、简繁互转、数字转换、金额数字转换。
C++
30
star
15

swoole-co-pool

Swoole 协程工作池——来自宇润 PHP 全家桶
PHP
27
star
16

imi-gobang

PHP
24
star
17

influxdb-orm

一个用于 InfluxDB 时序数据库的 ORM,终结没有 InfluxDB ORM 的时代。QQ群:17916227
PHP
19
star
18

sql-diff

本项目实现了比较 MySQL 建表语句的差异,并生成结构同步代码,功能类似 Navicat 的结构同步。
PHP
16
star
19

yurun-crawler-example

宇润爬虫框架(Yurun Crawler)示例程序
PHP
15
star
20

tdengine-restful-connector

PHP TDEngine RESTful connector
PHP
15
star
21

nacos-php

Nacos php sdk. Request and response data are all strongly typed and IDE friendly. Complete test cases and support for Swoole Coroutine.
PHP
14
star
22

tdengine-orm

基于 tdengine-restful-connector、php-tdengine 开发的 TDEngine ORM。
PHP
11
star
23

ide-helper

让 PHP 扩展支持 IDE 代码提示,通过在 composer.json 配置,可以支持所有扩展,包括但不限于 Swoole、Redis 等
PHP
10
star
24

net-test-go

这是宇润使用 Go 语言开发的一个 Http 压测工具。
Go
9
star
25

CBL-Mariner-Builder

Microsoft Linux CBL-Mariner iso download
Shell
9
star
26

php-macro

支持在 PHP 代码中使用类似 C/C++ 中的宏,进行代码预编译。可以方便兼容不同版本和环境下运行的 PHP 代码。
PHP
9
star
27

swoole-shared-memory

Swoole Shared Memory (简称 SSM) 是为了解决 Swoole 常驻内存场景,多进程变量共享问题而开发的组件。
PHP
8
star
28

YurunBlog

基于 YurunPHP2 框架的博客系统!正在开发中!
PHP
7
star
29

php-env

宇润日常开发中,整理的一些常见的 PHP 环境相关的一键安装工具脚本。Composer 一键安装脚本。
Shell
7
star
30

YurunEvent

PHP事件类,支持全局事件和类中事件。程序员Q群:74401592
PHP
7
star
31

workerman-gateway-sdk

一个支持在 Swoole 或其它非 Workerman 环境,开发 Gateway Worker 的组件。
PHP
7
star
32

rust-webhook

宇润用 Rust 开发的简易 Webhook 服务,支持 Gitee 和 Github。
Rust
6
star
33

TypescriptAndVue

这是一个已经配置好的 TypeScript + Vue 传统多页面开发模式项目。
JavaScript
4
star
34

net-test-swoole

这是宇润使用 Swoole 开发的一个 Http 压测工具。
PHP
4
star
35

SphinxClient-Swoole

Sphinx Client 支持 Swoole 协程环境
PHP
3
star
36

VSCode-PHPComments

VSCode插件,用于添加PHP方法注释
TypeScript
3
star
37

SimplePagebar

一个使用TypeScript开发的简单分页条,支持首页、末页、上一页、下一页、自定义页码切换。
TypeScript
2
star
38

YurunRSS

PHP的RSS生成类,方便生成RSS文件
PHP
2
star
39

YurunAuth

基于YurunPHP框架的权限控制类,提供一个思路,如需在其它框架中使用请自行改造。
PHP
2
star
40

PHPTSChinese

请移步:
2
star
41

php-http-client-test

Guzzle、Saber 以及 YurunHttp 性能测试
PHP
1
star