PHPackages                             fengkui/pay - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Payment Processing](/categories/payments)
4. /
5. fengkui/pay

ActiveLibrary[Payment Processing](/categories/payments)

fengkui/pay
===========

以最简单的方式，整合微信支付、支付宝支付、银联支付、百度支付、字节跳动、Paypal支付。

1.6.0(10mo ago)431.9k↑27.3%18MITPHP

Since Jun 23Pushed 10mo ago2 watchersCompare

[ Source](https://github.com/kuif/pay)[ Packagist](https://packagist.org/packages/fengkui/pay)[ RSS](/packages/fengkui-pay/feed)WikiDiscussions master Synced 3w ago

READMEChangelogDependencies (1)Versions (16)Used By (0)

Pay
===

[](#pay)

[![Latest Stable Version](https://camo.githubusercontent.com/07554ffe0b27d12159074b939248aad6d55bb1cc501020d1b0f4bfdf474c670f/687474703a2f2f706f7365722e707567782e6f72672f66656e676b75692f7061792f76)](https://packagist.org/packages/fengkui/pay) [![Total Downloads](https://camo.githubusercontent.com/75742dbcff8b34e3afd5ddfbdd37743abdb8c6a4b6b9d852b3d3bea54b74ff79/687474703a2f2f706f7365722e707567782e6f72672f66656e676b75692f7061792f646f776e6c6f616473)](https://packagist.org/packages/fengkui/pay) [![Latest Unstable Version](https://camo.githubusercontent.com/18ca65f4ad714171c7b2ffdd3b63362ec32c73f13ccedfd82e5e0a6a8317529c/687474703a2f2f706f7365722e707567782e6f72672f66656e676b75692f7061792f762f756e737461626c65)](https://packagist.org/packages/fengkui/pay) [![License](https://camo.githubusercontent.com/906c4816cff09210b53ae83e75b49ffb36706c5f83aba4b3f47e612f53ee116b/687474703a2f2f706f7365722e707567782e6f72672f66656e676b75692f7061792f6c6963656e7365)](https://packagist.org/packages/fengkui/pay)

开发了多次支付，每次都要翻文档、找之前的项目复制过来，费时费事，为了便于支付的开发，
干脆自己去造了一个简单轮子，整合支付（微信、支付宝、银联、百度、字节跳动、Paypal）相关开发。

**！！请先熟悉 相关支付 说明文档！！请具有基本的 debug 能力！！**

欢迎 Star，欢迎 PR！

特点
--

[](#特点)

- 丰富的扩展，支持微信（商户直连和服务商）、支付宝、银联、百度、字节跳动、Paypal
- 集成沙箱模式（支付宝、银联），便于开发者调试
- 符合 PSR 标准，方便的与你的框架集成
- 单文件结构清晰、简单，每个类单独封装扩展，便于单独使用

运行环境
----

[](#运行环境)

- PHP 7.0+
- composer

使用文档
----

[](#使用文档)

-

支持的支付
-----

[](#支持的支付)

### 1、微信（Wechat）

[](#1微信wechat)

method描述jsJSAPI下单appAPP支付h5H5支付scanNavicat支付xcx小程序支付query查询订单close关闭订单notify支付结果通知refund申请退款refundQuery查询退款transfer商家转账transferQuery查询商家转账transferCancel撤销商家转账profitSharing请求分账profitsharingUnfreeze解冻剩余资金profitsharingQuery查询分账结果/查询分账剩余金额profitsharingReturn请求分账回退receiversAdd添加分账接收方receiversDelete删除分账接收方### 2、支付宝（Alipay）

[](#2支付宝alipay)

method描述web电脑网页支付wap手机网站支付xcx小程序支付face发起当面付appapp支付（JSAPI）query查询订单close关闭订单notify支付宝异步通知refund订单退款refundQuery查询订单退款transfer转账到支付宝账户transQuery查询转账到支付宝relationBind分账关系绑定与解绑relationQuery查询分账关系settle统一收单交易结算接口settleQuery交易分账查询接口onsettleQuery分账比例查询 &amp;&amp; 分账剩余金额查询getToken获取access\_token和user\_iddoGetUserInfo获取会员信息### 3、银联（Union）

[](#3银联union)

method描述web电脑在线网关支付wap手机网页支付query查询订单notify银联异步通知refund订单退款/交易撤销### 4、百度（Baidu）

[](#4百度baidu)

method描述xcx小程序支付refund申请退款notify支付结果通知### 5、字节跳动（Bytedance）

[](#5字节跳动bytedance)

method描述createOrder下单支付queryOrder订单查询notifyOrder订单回调验证createRefund订单退款queryRefund退款查询settle分账请求querySettle分账查询### 6、Paypal（Paypal）

[](#6paypalpaypal)

method描述getAccessToken获取access\_tokenunifiedOrderPayPal跳转链接capture支付捕获query查询订单refund退款安装
--

[](#安装)

```
composer require fengkui/pay
```

完善相关配置
------

[](#完善相关配置)

```
# 微信支付配置
$wechatConfig = [
    'xcxid'         => '', // 小程序 appid
    'appid'         => '', // 微信支付 appid
    'mchid'         => '', // 微信支付 mch_id 商户收款账号
    'key'           => '', // 微信支付 apiV3key（尽量包含大小写字母，否则验签不通过，服务商模式使用服务商key）
    'appsecret'     => '', // 公众帐号 secert (公众号支付获取 code 和 openid 使用)

    'sp_appid'      => '', // 服务商应用 ID
    'sp_mchid'      => '', // 服务商户号

    'notify_url'    => '', // 接收支付状态的连接  改成自己的回调地址
    'redirect_url'  => '', // 公众号支付，调起支付页面

    // 服务商模式下，使用服务商证书
    'serial_no'     => '', // 商户API证书序列号（可不传，默认根据证书直接获取）
    'cert_client'   => './cert/apiclient_cert.pem', // 证书（退款，红包时使用）
    'cert_key'      => './cert/apiclient_key.pem', // 商户API证书私钥（Api安全中下载）

    'public_key_id' => '', // 平台证书序列号或支付公钥ID
    // （支付公钥ID请带：PUB_KEY_ID_ 前缀，默认根据证书直接获取，不带前缀）
    'public_key'    => './cert/public_key.pem', // 平台证书或支付公钥（Api安全中下载）
    // （微信支付新申请的，已不支持平台证书，老版调用证书列表，自动生成平台证书，注意目录权限）
];
# 支付宝支付配置
$alipayConfig = [
    'app_id'        => '', // 开发者的应用ID
    'public_key'    => '', // 支付宝公钥，一行字符串
    'private_key'   => '', // 开发者私钥去头去尾去回车，一行字符串

    'notify_url'    => '', // 异步接收支付状态
    'return_url'    => '', // 同步接收支付状态
    'sign_type'     => 'RSA2', // 生成签名字符串所使用的签名算法类型，目前支持RSA2和RSA，默认使用RSA2
    'is_sandbox'    => false, // 是否使用沙箱调试，true使用沙箱，false不使用，默认false不使用
];
# 银联支付配置
$unionConfig = [
    'mchid'         => '', // 商户号
    'sign_pwd'      => '', //商户私钥证书密码
    'sign_path'     => './cert/acp_test_sign.pfx', //商户私钥证书（签名使用）5.1.0
    // 'sign_path'     => './cert/700000000000001_acp.pfx', //签名证书路径5.0.0
    'verify_path'   => './cert/verify_sign_acp.cer', //银联公钥证书（商户验签使用）
    'acp_root'      => './cert/acp_test_root.cer', //根证书
    'acp_middle'    => './cert/acp_test_middle.cer', //中级证书

    'notify_url'    => '', // 异步接收支付状态
    'return_url'    => '', // 同步接收支付状态
    'is_sandbox'    => false, // 是否使用沙箱调试，true使用沙箱，false不使用，默认false不使用
];
# 百度支付配置
$baiduConfig = [
    'deal_id'       => '', // 百度收银台的财务结算凭证
    'app_key'       => '', // 表示应用身份的唯一ID
    'private_key'   => '', // 私钥原始字符串
    'public_key'    => '', // 平台公钥
    'notify_url'    => '', // 支付回调地址
];
# 字节跳动支付配置
$bytedanceConfig = [
    'app_id'        => '', // App ID
    'salt'          => '', // 支付密钥值
    'token'         => '', // 回调验签的Token
    'notify_url'    => '', // 支付回调地址
    'thirdparty_id' => '', // 第三方平台服务商 id，非服务商模式留空
];
# Paypal支付配置
$paypalConfig = [
    'client_id'     => '',
    'client_secret' => '',
    'webhook_id'    => '',
    'is_sandbox'    => true,
    'notify_url'    => '',
    'return_url'    => '',
    'cancel_url'    => '',
    'encrypt_key'   => '', // 用于加密解密的数据密钥（base64编码的对称密钥）
];
```

使用说明
----

[](#使用说明)

### 单独使用

[](#单独使用)

```
$pay = new \fengkui\Pay\Wechat($wechatConfig); // 微信
$pay = new \fengkui\Pay\Alipay($alipayConfig); // 支付宝
$pay = new \fengkui\Pay\Unionpay($unionConfig); // 银联
$pay = new \fengkui\Pay\Baidu($baiduConfig); // 百度
$pay = new \fengkui\Pay\Bytedance($bytedanceConfig); // 字节跳动
$pay = new \fengkui\Pay\Paypal($paypalConfig); // 字节跳动
```

### 公共使用

[](#公共使用)

```
