易支付(www.ygkfpay.com)由资深架构师负责,采用全新架构搭建,具备许多同行所没有的优势,具体可见:易支付免签接口特点/优势。
本文档介绍易支付的接入方式,让您一览最方便、快捷,伸缩性最强的支付系统是什么样的。
回调地址是客户付款后平台通知你方的地址,一般在该地址执行付款成功的后续操作,如点卡发放,金额充值等。
主要包括配置二维码及绑定微信两个步骤:
1.配置二维码:
(1)配置不限金额二维码:当没有相应金额的固定金额二维码时,将使用不限金额二维码,客户需要手动输入付款金额。
二维码获取方式:微信收付款-二维码收款-保存收款码(不要用截图)
(2)配置固定金额二维码:常用付款金额可以配置几张固定金额二维码。
二维码获取方式:微信收付款-二维码收款-设置金额-保存收款码(不要用截图)
2.绑定微信:
打开微信-收付款-二维码收款-收款小账本-添加店员接收通知-立即添加-截图二维码发送给客服执行绑定操作,同时将微信通道号及APPID(在基本配置里)发送给客服,由客服进行绑定,绑定完成后就可以打开微信通道开关了,到此操作就完成了。
支付宝无需进行二维码上传等操作,由系统自动生成。仅需打开挂机软件即可(开通会员后向客服要)。
注:支付宝需开通商户收款,打开手机支付宝-我的-商家服务,按提示操作即可,1分钟开通,无需任何资料。
发起付款地址:https://pay.ygkfpay.com/(也可部署至自己空间或后台绑定自定义域名)
请求方法:GET
示例:https://pay.ygkfpay.com/?appid=30631892&type=2&money=1
请求参数 | 是否必填 | 说明 |
---|---|---|
appid | 是 | 你在本站的AppID |
type | 是 | 付款类型 1:微信,2:支付宝 |
money | 是 | 付款金额 |
back | 否 | 付款操作结束跳转地址 |
returnurl | 否 | 付款成功后同步通知跳转地址,会携带回调参数 |
callback | 否 | 回调地址,有该参数且以http://或https://开头则回调到该地址,否则回调到入口 易支付配置的地址 |
sign | 否 | 若入口 易支付配置需要新订单签名校验则该参数值必需为除back、returnurl、sign外其余参数按key ascii排序连接appkey后取md5的值(可参考3.5回调认证) |
其他 | 否 | 可以携带任意参数,回调时原样返回,如添加uid用于识别付款用户 |
PHP SDK(推荐)
说明:①https://pay.ygkfpay.com/ 为公共付款页面网址,若您想用自己的域名,可以使用上面的 ②HTML SDK或 ③PHP SDK替代,三种方式功能一致,任选其一即可。
主要区别:
①公共付款页面若被举报存在域名拦截的风险,如微信内无法打开等
②无域名拦截风险,付款页面不会随官方更新而更新
③无域名拦截风险,付款页面会随官方更新而更新
注:②③付款页面更新主要为UI优化,偶尔也因个别功能需要进行更新,如H5唤醒,实际更新频率很小,大部分情况可以忽略。
供深入定制,如原生APP使用,若已使用2.1付款页面可跳过本步
接口地址:http://pay.ygkfpay.com/add
请求方法:GET 或 POST
请求参数 | 是否必填 | 说明 |
---|---|---|
appid | 是 | 你在本站的AppID |
type | 是 | 付款类型 1:微信,2:支付宝 |
money | 是 | 付款金额 |
callback | 否 | 回调地址,有该参数且以http://或https://开头则回调到该地址,否则回调到入口 易支付配置的地址 |
sign | 否 | 若入口 易支付配置需要新订单签名校验则该参数值必需为除sign外其余参数按key ascii排序连接appkey后取md5的值(可参考3.5回调认证) |
其他 | 否 | 可以携带任意参数,回调时原样返回,如添加uid用于识别付款用户 |
返回:样例{"code":1,"reqmoney":1,"money":1,"text":"alipays…","qrcode":"http……","order":"30631892","time":1547638975,"left":299,"expire":1547639275,"type":1}
返回参数 | 说明 |
---|---|
code | 结果,1:成功,0:失败 |
mess | 失败原因,仅在code=0时返回 |
reqmoney | 发起付款金额 |
money | 实际需支付金额 |
text | 二维码内容,可使用该内容自行生成付款二维码 |
qrcode | 生成好的二维码图片地址 |
order | 订单号,用于查询支付结果 |
time | 订单创建时间戳 |
left | 订单剩余时间,客户需在该时间内支付,单位秒 |
expire | 订单过期时间戳 |
type | 订单支付类型1:支付宝 2:微信 |
供深入定制,如原生APP使用,若已使用2.1付款页面可跳过本步
接口地址:http://pay.ygkfpay.com/query
请求方法:GET
请求参数 | 是否必填 | 说明 |
---|---|---|
num | 是 | 订单号 |
返回,示例:{"code":0}
返回参数 | 说明 |
---|---|
code | 订单状态 -2:订单过期 0:未支付 1:支付完成 |
notify | code为1时返回,回调参数,可用于同步通知跳转 |
供深入定制使用,如进一步校验回调。
接口地址:http://pay.ygkfpay.com/order
请求方法:GET
请求参数 | 是否必填 | 说明 |
---|---|---|
num | 是 | 订单号 |
返回参数 | 说明 |
---|---|
code | 订单状态 -2:订单过期或不存在 0:未支付 1:成功 |
其他参数 | 含有回调参数除sign外的所有参数。 |
用户完成付款后,易支付服务器将通过GET请求后台所设置的回调地址,包含参数见下表:
参数 | 说明 |
---|---|
order | 订单号 |
time | 订单创建时间 |
actime | 实际支付时间 |
money | 订单创建金额(该金额没问题即可,建议校验,否则可能产生金额漏洞) |
acmoney | 实际支付金额 |
sign | 校验段,详见回调认证 |
appid | 你在本站的AppID |
type | 付款类型 1:微信,2:支付宝 |
其余参数 | 创建付款时携带的其他参数 |
为安全起见,原则上应对sign进行校验。
校验方式,对除sign外的GET参数,按参数名进行升序排列,并与appkey链接成串,取MD5值与sign进行比对。
PHP示例代码如下:
$sign = $_GET['sign'];
unset($_GET['sign']);
ksort($_GET);
if(md5(http_build_query($_GET).$appkey)==$sign){
//校验成功,处理逻辑
}
若不想对sign进行校验,可在接收到回调后,获取回调中的order参数,通过 2.4 查询成功订单获取订单参数。
参数 | 说明 |
---|---|
商户ID partner | 填写本站APPID |
商户KEY key | 填写本站APPKEY |
支付API地址 | https://pay.ygkfpay.com/ |
参数 | 说明 |
---|---|
AppID | 填写本站APPID |
AppSecret | 填写本站APPKEY |
支付API地址 | https://pay.ygkfpay.com/submit.php |
接口网关为 https://www.alipay.com/cooperate/gateway.do 的版本,将接口网关改为 http://api./mode/alipay15/gateway
参数 | 说明 |
---|---|
partner | 填写本站APPID |
KEY | 填写本站APPKEY |
type | 注意,此为新增参数 付款类型 1:微信,2:支付宝 |
其他注意事项:
异步回调需取消验证来源(验证地址 http://notify.alipay.com/trade/notify_query.do) |
异步回调使用GET参数 |