Code Monkey home page Code Monkey logo

whmcs-jsj-api-pay-gateway's Introduction

WHMCS-JSJ-API-Pay-Gateway

为金莎云(原金沙江)支付免签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支付需要审核开通后才能使用无限期维护中。

TODO

清理冗余代码

更新日志

最近版本更新: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 and license

Copyright 2016~2019 Tutugreen.com "o((>ω< ))o". Code released under the MIT license.

whmcs-jsj-api-pay-gateway's People

Contributors

tutugreen avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

whmcs-jsj-api-pay-gateway's Issues

网关通讯出现偏差,请重试

如题,我用的国外虚拟主机,对接好后测试支付宝支付时提示:网关通讯出现偏差,请重试。请问这是怎么回事呢?

在WHMCS的v7.4.2版本下,使用Alipay支付有小BUG.

使用Alipay支付成功后,产品也开通了,结果发现刚刚支付的钱充进了余额.
例如这个产品是5美元的,使用Alipay支付,一切正常,就是事后多了5美元进了余额.

我不确定是不是我的问题还是v7.4.2问题还是其他.

WHMCS后台打开支付接口提示Oops!

你好,我按照redme中说的将所有文件上传至/modules/gateways目录下,目录结构

gateways
├── callback
├── _config.yml
├── JSJApiPay
├── JSJApiPay_Alipay_Wap.php
├── JSJApiPay_Alipay_Web.php
├── JSJApiPay_QQ_Pay_QRCode.php
├── JSJApiPay_WeChat_Pay_QRCode.php

上传后在后台打开支付接口时提示:

Oops!
Something went wrong and we couldn't process your request.
Please go back to the previous page and try again.

这是什么情况呢?附上我的环境

  • whmcs
v7.4.2
  • php
PHP 7.0.29 (cli) (built: Apr 19 2018 02:44:37) ( NTS )
Copyright (c) 1997-2017 The PHP Group
Zend Engine v3.0.0, Copyright (c) 1998-2017 Zend Technologies
    with the ionCube PHP Loader (enabled) + Intrusion Protection from ioncube24.com (unconfigured) v10.2.0, Copyright (c) 2002-2018, by ionCube Ltd.
    with Zend OPcache v7.0.29, Copyright (c) 1999-2017, by Zend Technologies

支付转换

商品栏定价1.9美元,支付宝付款时1.9人民币,哪里问题,我基础货币是美元,因为要用paypal,支付宝支付能不能自动转换汇率。

微信和QQ支付好像仍存在问题

客户使用微信或QQ支付后,金沙江API后台可以看到付款记录,但是WHMCS里面的订单上仍显示未付款,网页没有任何反应,WHMCS后台也没有任何付款记录。

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.