摘要:基于AW手游棋牌游戏APP第三方四方支付宝微信自动回调支付接口API对接集成CODE源码技术分析2020-03-18!
功能描述:傲玩微星等各种棋牌手游游戏APP,会员用户充值支付成功后,自动到账增加用户余额。实现无人自动支付功能。
方法:通过支付对接API接口文档,通过对接游戏系统,在收到成功通知回调信息后,自动完成增加余额。
开发工具及编程语言:Android studio,Eclipse ,Cocos creator游戏开发,LUA语言,JAVA, APP开发。服务后端编程语言:JAVA/ASPNET C#/PHP+MYSQL。
核心源码如下:
--[[函数变量初始化定义]]
appdf = appdf or {}
appdf.bili = 1.0 -- 还原 倍数(1000 原始)
--屏幕高宽
appdf.WIDTH= 1334
appdf.HEIGHT= 750
appdf.g_scaleX = display.width / appdf.WIDTH --X坐标的缩放比例值 added ycc
appdf.g_scaleY = display.height / appdf.HEIGHT --Y坐标的缩放比例值 added ycc
appdf.gamecodepath = "download."
--扩展目录
appdf.EXTERNAL_SRC= "client.src.external."
--通用定义目录
appdf.HEADER_SRC= "client.src.header."
--私人房目录
appdf.PRIVATE_SRC = "client.src.privatemode."
appdf.channelId = 1
appdf.Ratio= false
--下载信息
appdf.DOWN_PRO_INFO= 1 --下载进度
appdf.DOWN_COMPELETED= 3 --下载结果
appdf.DOWN_ERROR_PATH= 4 --路径出错
appdf.DOWN_ERROR_CREATEFILE= 5 --文件创建出错
appdf.DOWN_ERROR_CREATEURL= 6 --创建连接失败
appdf.DOWN_ERROR_NET= 7 --下载失败
appdf.CLIENT_NOTIFY = "__global_client_notify_event__" -- 客户端通知
--环境
appdf.isTest = false --(false.发布 true.测试)
--是否苹果版本
appdf.APPSTORE_VERSION = false
appdf.HTTP_URL = "http://157.23.63.162:2119/submit/"
-- 当前地址索引
appdf.CURRENT_INDEX = 1
appdf.TOTAL_COUNT = #appdf.SERVER_LIST
-- 登陆地址
appdf.LOGONSERVER = appdf.SERVER_LIST[appdf.CURRENT_INDEX]
--编译码
appdf.VALIDATE = "11E9E77D-C628-4FD6-AC60-91A541DBD5C1" --@compilation
--程序版本
appdf.BASE_C_VERSION = 1 --@app_version
--资源版本
appdf.BASE_C_RESVERSION = 1000 --@client_version
--本地初始子游戏资源版本
appdf.BASE_GAME =
{
{kind = 100, version = "-1"}, --斗地主
{kind = 101, version = "-1"}, --zha金花
{kind = 102, version = "-1"}, --百人牛牛
{kind = 103, version = "-1"}, --抢庄牛牛
{kind = 104, version = "-1"}, --红黑大战
{kind = 105, version = "-1"}, --龙虎斗
{kind = 106, version = "-1"}, --百家乐
{kind = 107, version = "-1"}, --捕鱼
{kind = 108, version = "-1"}, --一球成名
{kind = 109, version = "-1"}, --2人麻将
{kind = 110, version = "-1"}, --飞禽走兽
{kind = 111, version = "-1"}, --奔驰宝马
{kind = 113, version = "-1"}, --跑得快
{kind = 118, version = "-1"}, --德州扑克
{kind = 119, version = "-1"}, --水果机
{kind = 121, version = "-1"}, --视频百家乐
{kind = 122, version = "-1"}, --21点
{kind = 123, version = "-1"}, --俄罗斯转盘
{kind = 124, version = "-1"}, --BC(网站)
{kind = 125, version = "-1"}, --梭哈
{kind = 126, version = "-1"}, --十三水
{kind = 127, version = "-1"}, --百人骰宝
{kind = 210, version = "-1"}, --视讯骰宝
}
--设置网关
function appdf.setGate(gatelist,http_api)
--网关
appdf.SERVER_LIST = gatelist
--api
appdf.http_api = http_api
-- 当前地址索引
appdf.CURRENT_INDEX = 1
appdf.TOTAL_COUNT = #appdf.SERVER_LIST
appdf.HTTP_URL = http_api[1]
-- 登陆地址
appdf.LOGONSERVER = appdf.SERVER_LIST[appdf.CURRENT_INDEX]
end
-- 获取域名对应的ip
function appdf.replaceHostbyIP(url_)
if device.platform ~= "ios" then
local strlist = string.split(url_,"/")
require("base.src.app.Toolkits.TimerProxy") --added ycc
appdf.req("client.src.app.views.layer.other.Toast")
cjson = require("cjson")
if device.platform ~= "windows" then
cc.FileUtils:getInstance():addSearchPath(device.writablePath)
cc.FileUtils:getInstance():addSearchPath(device.writablePath.."client/res/")
--远程调试
local Version = import(".models.Version")
local MyApp = class("MyApp", cc.load("mvc").AppBase)
function MyApp:onCreate()
math.randomseed(os.time())
--搜素路径添加
--cc.FileUtils:getInstance():addSearchPath(device.writablePath.."client/src/")
cc.FileUtils:getInstance():addSearchPath(device.writablePath.."client/res/")
--cc.FileUtils:getInstance():addSearchPath(device.writablePath.."game/")
--版本信息
self._version = Version:create()
--游戏信息
self._gameList = {}
--更新地址--初次启动获取的配置信息
self._serverConfig = {}
return MyApp
-- 检测该字符串是否为空
function appdf.isNullString( targetStr )
if not targetStr or type(targetStr) ~= "string" or trim(targetStr) == "" then
--依据宽度截断字符
function appdf.stringEllipsis(szText, sizeE,sizeCN,maxWidth)
--当前计算宽度--截断位置--截断结果--完成判断
public abstract void handleNotification();
protected String extractMoney(String content){
Pattern pattern = Pattern.compile("(([1-9]{1}\\d*)|([0]{1}))(\\.(\\d){0,2})?元");
public void handleNotification(){
if(title.contains("支付宝微信")){
if(content.contains("成功收款") | content.contains("向你付款")){
Map<String,String> postmap=new HashMap<String,String>();
postmap.put("time","1");
postmap.put("title","支付宝微信支付");
postmap.put("money",extractMoney(content));
postmap.put("content",content);
postpush.doPost(postmap);}
游戏管理后台-支付订单自动回调效果图展示一
游戏管理后台-支付订单自动回调效果图展示一游戏管理后台-自动增加余额效果截图二
游戏管理后台-自动增加余额效果截图二版权声明:本文博主原创文章。博客,未经同意不得转载。
网友评论