Download the PHP package x-class/omnipay-99bill without Composer
On this page you can find all versions of the php package x-class/omnipay-99bill. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Informations about the package omnipay-99bill
omnipay-99bill
基于Omnipay的快钱支付SDK
该文档共包含以下5个部分:
1、创建交易
2、支付回调
3、交易查询
4、网关退款
Quick Start 快速开始
依赖于Omnipay
PHP版本要求:PHP5.6+
Install 安装
通过 Composer 安装,可以运行:
注意:
关于商户号:快钱商家帐号需要联系快钱开通之后才能获取,如果商户号为10012138842,在项目中使用的商户号格式为"快钱商户号01",如1001213884201,退款接口除外,需要的是不带01的格式。
关于密钥:自行根据快钱文档生成公钥和私钥,其中公钥上传到快钱,然后再从快钱下载官方秘钥放到项目当中,自己生成的私钥则用于创建支付时加密使用。
关于支付验证:支付成功后的同步回调和异步回调均为Get方式,需要对回调的参数进行验证,以确保是快钱官方的回调。
关于订单查询:订单交易状态查询接口除了商户号之外,还需要一个查询key,需要联系快钱的销售人员开通该功能,并获取对应的查询key.
关于退款:网关退款接口除了商户号之外,还需要一个退款key,需要联系快钱的销售人员开通该功能,并获取对应的退款key.
开启沙盒调试模式
调试过程可以用如下代码开启沙盒环境,正式生产环境请去掉此代码。
创建交易
业务字段说明
字段名 | 是否必传 | 说明 |
---|---|---|
orderId | Yes | 商户订单号,商户可以根据自己订单号的定义规则来定义该值 |
orderAmount | Yes | 订单金额,金额以“分”为单位,商户测试以1分测试即可,切勿以大金额测试。 |
payerName | No | 支付人姓名 |
payerContactType | No | 支付人联系类型,1 代表电子邮件方式;2 代表手机联系方式 |
payerContact | No | 支付人联系方式,与payerContactType设置对应,payerContactType为1,则填写邮箱地址;payerContactType为2,则填写手机号码 |
productId | No | 商品代码 |
productName | No | 商品名称 |
productNum | No | 商品数量 |
productDesc | No | 商品描述 |
ext1 | No | 扩展字段1,商户可以传递自己需要的参数,支付完快钱会原值返回 |
ext2 | No | 扩展字段2,商户可以传递自己需要的参数,支付完快钱会原值返回 |
网站端 - 发起支付代码
移动端 - 发起支付代码
支付回调
回调成功的业务参数
字段名 | 说明 |
---|---|
orderId | 商户订单号 |
orderAmount | 订单金额,金额以“分”为单位 |
orderTime | 订单交易创建时间 |
dealId | 快钱交易号 |
dealTime | 交易成功时间 |
payAmount | 实际交易金额,金额以“分”为单位 |
bankDealId | 银行交易号 |
bankId | 银行简码 |
fee | 手续费 |
bindMobile | 绑定的手机号 |
bindCard | 绑定的卡号 |
payType | 支付方式,详见快钱官方文档说明 |
ext1 | 扩展字段1 |
ext2 | 扩展字段2 |
说明:把自己的公钥上传到快钱之后,从快钱下载下来的密钥文件名类似"99bill[1].cert.rsa.20140803.cer"格式。
回调验证代码(快钱回调方式为Get)
查询交易支付状态
如果因快钱故障或商户自己服务器故障,成功的交易导致回调失败,则可以用该方法进行查单,通过查单的结果进行数据库状态变更。
查询请求业务参数组合一
字段名 | 是否必传 | 说明 |
---|---|---|
orderId | Yes | 商户订单号 |
queryType | No | 查询方式默认为2,即根据商户订单号查询 |
requestPage | No | 在查询结果数据总量很大时,快钱会将支付结果分多次返回。本参数表示商户需要得到的记录集页码。默认为1,表示第1 页 |
查询请求业务参数组合二
字段名 | 是否必传 | 说明 |
---|---|---|
queryType | Yes | 值固定为1,即根据日期查询 |
startTime | Yes | 开始时间,数字串,一共14 位,格式为:年[4 位]月[2 位]日[2 位]时[2 位]分[2 位]秒[2位],例如:20071117020101 |
endTime | Yes | 结束时间,数字串,一共14 位,格式为:年[4 位]月[2 位]日[2 位]时[2 位]分[2 位]秒[2位],例如:20071117020101 |
requestPage | No | 在查询结果数据总量很大时,快钱会将支付结果分多次返回。本参数表示商户需要得到的记录集页码。默认为1,表示第1 页 |
交易查询 - 实现代码
订单网关退款
如未开通网关退款,则需要登录快钱官方商家后台进行退款操作,开通网关退款之后,则可以直接调用此接口退款。
警告:此接口为无密退款,因此开发人员需要绝对保证操作后台安全,或加强退款安全验证机制,否则因安全系数太低导致的事故请自行承担。
注意一:这里的商户号为不加01的商户号!!!
注意二:这里面的退款金额以人民币元为单位!!!
注意三:同一笔交易可以分多次退款,但是退款总金额不得超过订单支付总金额
退款请求业务参数
字段名 | 是否必传 | 说明 |
---|---|---|
orderId | Yes | 商户订单号 |
txOrder | Yes | 退款流水号,长度不超过50,英文和数字组成 |
amount | Yes | 退款金额,整数或小数位为两位,以人民币元为单位。 |
postdate | Yes | 退款提交时间,数字串,一共14 位,格式为:年[4 位]月[2 位]日[2 位]时[2 位]分[2 位]秒[2位],例如:20071117020101 |
退款成功业务参数
字段名 | 说明 |
---|---|
orderId | 商户订单号 |
txOrder | 退款流水号 |
amount | 退款金额 |
网关退款 - 实现代码