为金莎云(原金沙江)支付免签API写的WHMCS接口。请合理使用。
本接口用于WHMCS与金沙江API接口对接,以完成支付宝/微信/QQ钱包免签支付。
测试可用版本:WHMCS 7.x
理论支持WHMCS 6.x、5.x,未测试。
接口作者与金莎云(原金沙江)无关,不对使用该接口或平台而产生的任何问题负责,请了解。
如果有需要手动补单的,可以在WHMCS系统中使用"添加付款"的功能,请注意填写交易流水号为:JSJApiPay_开头的唯一流水号,以防止重复回调被刷余额。
【PS:这个接口不是帮你挂个监控手动转账订单,而是由金沙江的即时到账接口代收货款,可以申请提现至支付宝或微信。】
首先在金沙江API后台 注册/登录账户
下载本接口,并把文件放到站点的/modules/gateways/里。
进入WHMCS后台,系统设置-付款-支付网关-All Payment Gateways选项卡设置中:启用本接口(不同支付方式有独立配置),并在 Manage Existing Gateways 选项卡中填写APIID&APIKEY等,手续费仅用于WHMCS内部记账统计,但是必须填写(可以填0,WHMCS记账有手续费这么个特性,不会对实际支付金额产生影响),涉及货币转换的,请添加CNY货币,并选择转换为CNY。
完成√
代码仅供参考,有问题/BUG等请发Issue(请先确认您的WHMCS版本为6.x/7.x)
使用的API为金沙江API:https://yun.jsjapp.com/
依据金莎云(原金沙江)官方文档写的。未来官方有改动也会更新。
请了解这边订单号是用UID做的,如果您的WHMCS系统订单数量超过99999999个,请联系我帮您修改为其他参数|´・ω・)ノ
PS:如果你需要吧手续费分摊给用户,请参考这个插件:WHMCS-Gateway-Fees (第三方),本插件不会额外添加手续费(建议使用此插件添加,不建议手工修改支付网关文件添加,会产生取整影响回调判断的问题。)
(本来为自用,感觉金莎云(原金沙江)提供的服务还是很不错的,所以公开了,请合理使用)
PPS:微信支付/QQ支付需要审核开通后才能使用无限期维护中。
清理冗余代码
最近版本更新:v0.23(2019-08-11-1)
2019-08-11-1:
修正一些描述Typo。
增加微信独立支付,适配金莎江最新微信接入。
2019-07-02-1:
聚合支付适配临时接口,当前仅支付宝WAP可用。
删除一些Tags。
2018-12-02-01:
支付宝、微信、QQ适配新"远程云发卡接口",比以前更稳了。
增加支付宝移动端独立支付接口。
更新各类失效链接。
删减不必要的代码段。
一些TABの格式化。
2018-10-09-01:
作为历史版本,完善一些细小的偏差。
2018-06-19-01:
修复支付宝Web在部分订单号过小的情况下传值订单格式不正确的问题。
支付宝订单格式:8.apiid."001Invoice".$invoiceid."Ali";
2018-06-02-01:
移除支付宝WAP接口(平台已整合)。
适配新平台,更新说明等。
修改订单格式。
综合格式要求和扩展性,新格式改为如下:
微信:wx23333001Invoice1wx
QQ:qq23333001Invoice1qq
支付宝:ali23333001Invoice1a
其中23333为示例apiid,后接001可修改标识不同站点(当前未放置设定中,如有需要可自行手工修改),末尾做分割符及补足20字符。
取消同步回调,支付完成统一转到账单页等待异步回调。
旧版本更新直接覆盖,并手动删除JSJApiPay_Alipay_Wap.php即可。
2018-01-17-01:
修复多货币情况下,回调转换问题。感谢 @Senrt 的反馈。
优化支付宝WAP支付体验,现直接转到账单页等待异步更新(支付成功会自动刷新)。
增加微信/QQ支付审核提示,可跳转至金莎云(原金沙江)申请审核。
增加金莎云(原金沙江)回调结果支持,在金莎云(原金沙江)面板可显示回调结果。
增加金沙江注册链接(邀请)
调整部分变量为小写,优化代码逻辑,改用定界符输出页面,删除部分多余变量。
优化站点地址获取,去除多余"/"符号。
细节优化。
2017-06-26-01:
修复一些拼写错误。
2017-06-10-01:
Bugs Fix, 修复安全逻辑导致微信/QQ支付回调验证失败的问题。
2017-06-06-01:
改版,不同支付方式可独立设定。
新增微信扫码支付,并极致优化支付体验。
新增QQ钱包支付,支持手机扫码,浏览器唤醒QQ支付等,手机访问可直接启动。
回调地址等依据站点设置自动生成,无需手动修改了。
修正细节错误,简化设定。
逻辑优化,提早判断是否已抵达账单页面,兼容手续费插件,减少账单金额更改几率。
优化金额更改的错误提示(引导联系客服或自助充值)。
更多信息见 https://github.com/tutugreen/WHMCS-JSJ-API-Pay-Gateway/commits/master
请注意!文件名有更改!更新请删除所有旧文件!
此版本已经过N遍测试优化可用,如遇问题优先发Issues。
2017-06-26-01:
修复一些细节拼写错误。
2017-06-04-01:
Bugs Fix,修复callback内的拼写错误导致WAP无法正常回调的问题。
2017-06-04-01:
Bugs Fix,一些修正.
修复回调地址组合缺失系统地址的问题,修正拼写错误,修改名称,修改回调认证失败的目的地(WAP方式回调落地页待完善).
终于码完了微信扫码支付,极致优化支付体验。
2017-06-03-03:
独立出WAP端支付设定,适合纯手机WAP支付。电脑打开也是WAP支付,独立出来后需要至后台支付接口启用WAP支持和设定APIID等信息(可与WEB方式不同,但不建议)。
2017-06-03-02:
为支持多方式支付进行预改版,更改部分文件路径,优化部分代码,请需要更新的用户删除全部旧文件再安装!并需要重新至后台设定接口APIID等信息。
目前如无特殊需求不需要手动修改回调地址了,系统会依据站点地址自动生成。
请注意如果您要申请微信支付等需要绑定回调地址的接口,请确认申请域名填写正确
2017-06-01:
修正一些注释错误
2016-11-18:
修复回调非子目录,导致404的问题
2017-04-17:
更新官方新域名,并支持HTTPS。
请注意!官方已修改接口域名,请在2017-04-17之前下载接口的用户尽快更新代码(对支付和之前的订单无任何影响)
如果在2017年04月17日0点整仍未更改的,接口将无法使用。
官方现已支持 HTTPS 回调地址
2016-11-03:
依据官方要求更新参数编号规范
请注意!官方已修改订单编号(addnum)参数编号规范,请在2016-11-03之前下载接口的用户尽快更新代码(对支付和之前的订单无任何影响)
如果在2016年11月10日0点整仍未更改的,接口将无法使用。(详情见:官方贴 (链接已失效))
Q:订单流水号存在"JSJApiPay",是否可以修改?
A:可以的,修改 callback/JSJApiPay_callback.php 相应部分即可(已注释指出),请注意保持唯一性以防刷单。
Q:如何修改用户支付完后跳转到的落地页面。
A:编辑 callback/JSJApiPay_callback.php 相应部分即可(已注释指出),可修改完成支付验证后的地址,默认为跳转到账单页面。
Q:部分支付方式可能需要审核(例如微信支付/QQ支付),如何开通?
A:登陆金莎云(原金沙江)API,账户管理下可以开通相应接口,请注意审核的回调域名填写正确,以免无法正确回调。
Q:为什么有时支付后系统已经到账,但实际账单未支付?
A:请检查订单金额是否和初次提交有更改,例如滞纳金等设定可能影响账单金额导致没有完全支付。
Q:为什么一开始能获取微信支付二维码的,但后来又获取失败了?
A:同上,当账单金额被更改时(例如客户手动使用余额支付部分款项,或者产生了滞纳金),获取会失败,遇到这些情况可以分拆账单,如有顾客有多笔未支付账单,可以使用合并支付生成新账单,或者自助充值,用余额支付剩余款项。
金莎云(原金沙江)问题请联系其官方客服咨询。
接口问题可联系:窝的Email:yuanming(@)tutugreen.com
Copyright 2016~2019 Tutugreen.com "o((>ω< ))o". Code released under the MIT license.