1 Star 0 Fork 250

腻人心 / payment

forked from 大愚 / payment 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
CONTRIBUTING.md 3.12 KB
一键复制 编辑 原始数据 按行查看 历史
大愚 提交于 2017-07-11 10:57 . 结构图描述

Payment只有在大家的使用反馈中才能得到不断的完善。

我希望通过真实的项目来驱动它不断发展,在为工作带来方便的同时尽力保持它的简洁。

issue报Bug

由于Payment高度依赖第三方接口,因此第三方一个小的变动也会导致项目产生一个大版本号。当前主要有:

  • 2.x 应该没多少人使用了,已经放弃维护
  • 3.x 继续维护,只修bug,不做接口更新
  • 4.x 当前开发版本,均保持当前第三方的最新接口

由于版本比较多。因此报bug建议采用以下格式:

[3/4.x]版本,在什么环境下(沙盒还是正式),调用了什么接口,出现了什么错误(最好有截图)。自己尝试过哪些办法去解决未达到预期效果

推荐所有的bug在提交时,先使用demo代码运行一下,看看能否通过。

只提供标题,或者没有重现步骤的,将不处理

贡献代码

请代码书写遵循以下规则:

  • PSR-2
  • 使用4个空格作为缩紧(不是tab)
  • 命名使用驼峰命名(不准使用拼音)
  • 请给类、方法、变量添加注释,注释需要包含:日期、修改人、含义

开发流程

  1. Fork helei112g/payment 到本地

  2. 创建新的分支:

    $ git checkout -b new_feature
  3. 编写代码

  4. Push 到你的分支:

    $ git push origin new_feature
  5. 创建 Pull Request 并描述你完成的功能或者做出的修改

所提交的部分一定自己真实测试完毕,如果是新的支付功能,需要添加对应的demo以及

相关功能的文档(暂无开源文档地址,请根据功能名称,提供 .md的说明文档)。

代码说明

为了让大家快速理解代码结构,将项目相关结构图进行说明,这里从调用者的角度出发进行描述 image

这张图表现的是库的一个层次。用支付宝手机wap支付为例: 调用这只需要通过

Charge::run()

这个方法即可完成所有调用。剩下的所有东西对调用者都应该是透明的

这个方法内部会首先通过

ChargeContext::initCharge()

进行上下文的初始化,完成准备工作,并返回一个具体的对应支付实例,在这里是:AliAppCharge

接着内部会调用

AliAppCharge::charge()

完成支付的请求,他会把结果返回给调用者

AliAppCharge::charge() 调用中完成了请求数据的组装,请求数据的签名,如果需要网络请求,会发送网络请求到支付宝网关。并把结果逐步返回。

核心类图

本库的所有功能,层次结构比较一致。这里以支付宝app支付为例,进行一下类图描述,方便大家以此进行类比

uml

如果看不清楚,可点击下载


遇到bug,90%都是秘钥相关导致的,微信可能与后台配置有关。请仔细检查。

PHP
1
https://gitee.com/hlpplus/payment.git
git@gitee.com:hlpplus/payment.git
hlpplus
payment
payment
master

搜索帮助