PHPackages                             code-lives/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. code-lives/pay

ActiveLibrary[Payment Processing](/categories/payments)

code-lives/pay
==============

头条小程序支付（微信h5和支付宝） 微信小程序支付

2336PHP

Since Oct 29Pushed 4y ago1 watchersCompare

[ Source](https://github.com/code-lives/pay)[ Packagist](https://packagist.org/packages/code-lives/pay)[ RSS](/packages/code-lives-pay/feed)WikiDiscussions main Synced 1w ago

READMEChangelogDependenciesVersions (1)Used By (0)

### 2021-10-29日（由于头条支付 现在必须使用担保支付 已经更改为[https://github.com/code-lives/byte-pay）](https://github.com/code-lives/byte-pay%EF%BC%89)

[](#2021-10-29日由于头条支付-现在必须使用担保支付-已经更改为httpsgithubcomcode-livesbyte-pay)

### 根据这个哥们改编的

[](#根据这个哥们改编的--httpsgithubcomaa0604payment)

### 为啥要自己在写一份呢【因为那个哥们不更新了，我下载下来更改了一下】

[](#为啥要自己在写一份呢因为那个哥们不更新了我下载下来更改了一下)

### 此次更改 2021-3-22

[](#此次更改-2021-3-22)

整合了字节跳动只能微信 或者支付宝单个支付的功能。 把具体操作微信小程序 字节头条的支付 操作 展示出来了。

### 更新说明

[](#更新说明)

app签名的键名改变了三个，之前是全小写，现改为驼峰（nonceStr，timeStamp，appId）

概要
==

[](#概要)

支持支付宝支付、微信支付、IOS苹果内购、payPal支付、银联、首信易，payssion支付，头条/字节跳动

可生成支付宝、微信app、小程序签名（小程序签名使用另外的方法）

可生成微信/头条/字节跳动所需的orderInfo，字节跳动可传入支付宝、微信配置生成alipay\_url || wx\_url，使用方法和生成签名参数一样

本库使用interface规范，工厂模式编写，代码质量高，统一规范。

简单说好处就是，在控制器里，你只需要写几行代码，你就可以对接多个支付。想要做到这一点，需要前端向传递服务端使用哪个支付驱动代码，服务端再根据支付驱动代码去调用相应的支付程序。

美中不足的是，部分代码是用php7的新特性写的，不兼容老版本的，我们做开发的特别是新项目自然是要走在技术的前端才对。

功能说明
====

[](#功能说明)

1、支持：支付宝、微信、银联、payPal、payssion，首信易支付

2、主要功能：全部支持支付和验证异步通知

3、支付宝、微信、微信JSAPI支付：可生成app签名，可原路退款

4、通过工厂服务可以一次调用出所有支持的支付平台的app参数

支付宝、微信APP支付流程
=============

[](#支付宝微信app支付流程)

（其他第三方支付流程也类似，有的会不同，详细有什么不同可以到github上面给我留言，我收到后有空时会补充说明）

1、生成签名，设置回调地址（回调地址在配置中设置）

2、app收到签名后向用户发起支付

3、支付成功后支付宝/微信会向你配置的回调地址发起付款成功的通知

4、后端服务器收到成功付款的通知后，运行支付成功后的业务代码

目录
==

[](#目录)

- [安装](#%E5%AE%89%E8%A3%85)
- [业务代码示例](#%E4%B8%9A%E5%8A%A1%E4%BB%A3%E7%A0%81%E7%A4%BA%E4%BE%8B)
    - [签名/参数获取示例代码](#%E7%AD%BE%E5%90%8D/%E5%8F%82%E6%95%B0%E8%8E%B7%E5%8F%96%E7%A4%BA%E4%BE%8B%E4%BB%A3%E7%A0%81)
    - [异步通知示例代码](#%E5%BC%82%E6%AD%A5%E9%80%9A%E7%9F%A5%E7%A4%BA%E4%BE%8B%E4%BB%A3%E7%A0%81)
- [支付驱动代码列表](#%E6%94%AF%E4%BB%98%E9%A9%B1%E5%8A%A8%E4%BB%A3%E7%A0%81%E5%88%97%E8%A1%A8)
    - [支付宝支付](#%E6%94%AF%E4%BB%98%E5%AE%9D%E6%94%AF%E4%BB%98)
    - [微信支付](#%E5%BE%AE%E4%BF%A1%E6%94%AF%E4%BB%98)
    - [小程序支付](#%E5%B0%8F%E7%A8%8B%E5%BA%8F%E6%94%AF%E4%BB%98)
    - [首信易支付](#%E9%A6%96%E4%BF%A1%E6%98%93%E6%94%AF%E4%BB%98)
    - [银联](#%E9%93%B6%E8%81%94)
    - [PaySsion](#PaySsion)
    - [PayPal](#PayPal)
    - [苹果支付](#%E8%8B%B9%E6%9E%9C%E6%94%AF%E4%BB%98)
    - [字节跳动代码](#%E5%AD%97%E8%8A%82%E8%B7%B3%E5%8A%A8%E4%BB%A3%E7%A0%81)
- [统一方法](#%E7%BB%9F%E4%B8%80%E6%96%B9%E6%B3%95)
    - 初始化
    - 生成app签名/参数
    - 异步通知
    - 退款（原路全款退回）
    - 退款（原路部分多次退回）
    - 设置自定义参数
- [苹果内购](#%E8%8B%B9%E6%9E%9C%E5%86%85%E8%B4%AD)
    - [苹果流程说明](#%E8%8B%B9%E6%9E%9C%E6%B5%81%E7%A8%8B%E8%AF%B4%E6%98%8E)
    - [苹果配置](#%E8%8B%B9%E6%9E%9C%E9%85%8D%E7%BD%AE)
    - [苹果获取订单参数](#%E8%8B%B9%E6%9E%9C%E8%8E%B7%E5%8F%96%E8%AE%A2%E5%8D%95%E5%8F%82%E6%95%B0)
    - [苹果漏单处理](#%E8%8B%B9%E6%9E%9C%E6%BC%8F%E5%8D%95%E5%A4%84%E7%90%86)
- [支付宝](#%E6%94%AF%E4%BB%98%E5%AE%9D)
    - 支付宝配置
    - 支付宝获取异步通知参数
- [微信/小程序](#%E5%BE%AE%E4%BF%A1/%E5%B0%8F%E7%A8%8B%E5%BA%8F)
    - 微信配置
    - 微信获取异步通知参数
    - 微信分转换为元
- [字节跳动](#%E5%AD%97%E8%8A%82%E8%B7%B3%E5%8A%A8)
    - 配置
    - 分转换为元
- [paypal](#paypal)
    - payPal配置
    - payPal获取异步通知参数
- [payssion](#payssion)
    - payssion配置
- [银联](#%E9%93%B6%E8%81%94)
    - 银联说明
    - 银联配置
    - 获取银联流水号
- [首信易](#%E9%A6%96%E4%BF%A1%E6%98%93)
    - 首信易异步通知

安装
--

[](#安装)

composer require code-lives/pay

业务代码示例
======

[](#业务代码示例)

### 签名/参数获取示例代码

[](#签名参数获取示例代码)

```
