彩虹易支付

kmwl520 建站经验 0
小白日志

前言:今天朋友易支付网站(彩虹易支付系统串接),上游易支付订单状态是支付成功(没漏单),他网站订单却是未支付状态(漏单)。听他说检查了服务器宽带+cpu+磁盘读写都不高,程序也没改动过,以前也不漏单,就很莫名其妙,但我估计是他检查得不及时,可能之前服务器被攻击了,导致的他网站漏单!

于是朋友叫我帮忙写个自助补单插件:

原理①:用户提交订单号,然后自动对上游易支付订单状态进行比对,若上游订单是支付成功,而他网站订单是未支付(漏单),则进行自动补单!

原理②:虽然彩虹系统自带有订单异步通知重试任务功能,但是此插件任然会判断订单是否通知成功,不成功的话,又再异步通知一遍!

有能力的话,可自行加个极限验证之类的,不多说了,下方直接上代码与展示图:

PHP
include"./includes/common.php"//在网站根目录随便创建一个php文件放入此代码即可使用!$actisset$_GET'act'daddslashes$_GET'act'nullif$act"budan"header'Access-Control-Allow-Origin:*'//*代表允许任何网址请求header'Content-type:application/json'$ordertrimdaddslashes$_POST'order'ifpreg_match"/[0-9]/"$orderexitjson_encode'code'202'msg''请输入正确的数字订单号!'JSON_UNESCAPED_UNICODE$orderarray_uniqueexplode"\n"$orderif$ordernullexitjson_encode'code'202'msg''订单号不能为空!'JSON_UNESCAPED_UNICODEifis_array$orderexitjson_encode'code'202'msg''请输入正确的订单号!'JSON_UNESCAPED_UNICODEifcount$order10exitjson_encode'code'202'msg''为避免系统超时,每次最多输入十个订単号!'JSON_UNESCAPED_UNICODEforeach$orderas$row$rowtrim$rowifpreg_match"/^[1-9][0-9]*$/"$row$return$row'-数字订单号不正确!'continueifmb_strlen$row'utf8'14$return$row'-订单号长度不正确!'continue$info$DBgetRow"SELECT*FROM`pre_order`WHERE`trade_no`='{$row}'or`out_trade_no`='{$row}'or`api_trade_no`='{$row}'limit1"if$info$return$row'-订单号不存在系统!'continueif$info'status'1$info'notify'0$return$row'-订单状态正常无需补单!'continueif$info'status'1$info'notify'1$urlcreat_callback$info'trade_no'ifdo_notify$url'notify'$DBexec"UPDATEpre_orderSETnotify=0WHEREtrade_no']}'"//状态改为通知成功$return$row'-订単已支付了-执行异步通知回调!'continueif$info'status'1$channel$DBgetRow"SELECT*FROM`pre_channel`WHERE`id`='{$info['channel']}'limit1"if$channel$channel'plugin''epay'$return$row'-此订单的支付插件无法使用自助补单!'continue$epay_url$channel'appurl''api.php?act=order&'$epay_id$channel'appid'$epay_key$channel'appkey'if$epay_idnull$epay_keynull$return$row'-此订单的支付插件配置信息不完整!'continue$bujson_decodeget_curl$epay_url'pid='$epay_id'&key='$epay_key'&out_trade_no='$info'trade_no'trueif$bu'code'1$return$row'-支付订单系统运行出错,请稍后重试!'continueif$bu'status'1$return$row'-已查询确认,此订单未支付,没有漏単!'continueif$bu'status'1if$DBexec"update`pre_order`set`status`='1'where`trade_no`='{$info['trade_no']}'"$DBexec"update`pre_order`set`endtime`=NOW(),`date`=NOW()where`trade_no`='{$info['trade_no']}'"processOrder$info$return$row'-未支付漏单,系统已自动补单!'continue$return$row'-补单查询出错拉,请联系站长反馈!'continue$returnstr_replace'!br'$returnexitjson_encode'code'200'msg'$returnJSON_UNESCAPED_UNICODEelse<!DOCTYPEhtml>htmlheadmetacharsetUTF-8title自助补单$conf'sitename'titlemetahttp-equivX-UA-CompatiblecontentIEedge,chrome1metahttp-equivAccess-Control-Allow-Origincontentmetanameviewportcontentwidthdevice-width,initial-scale1,maximum-scale1,user-scalablenometanameapple-mobile-web-app-status-bar-stylecontentblackmetanameapple-mobile-web-app-capablecontentyesmetanameformat-detectioncontenttelephonenolinkrelstylesheethref//yuanxiapi.cn/assets/public/layui/2.5.7/css/layui.cssmediaallstylebodybackground#1E9FFF;}bodyaftercontentbackgroundrepeatnorepeatbackgroundsizecoverwebkitfilterblur3pxmozfilterblur3pxofilterblur3pxmsfilterblur3pxfilterblur3pxpositionabsolutetop0left0right0bottom0zindex1layuicontainermargintop4adminloginbackgroundwidth96heightautologotitletextaligncenterletterspacing2pxpadding14px0logotitleh1color#1E9FFF;fontsize25pxfontweightboldloginformbackgroundcolor#fff;border1pxsolid#fff;borderradius3pxpadding14px20pxboxshadow008px#eeeeee;loginformlayuiformitempositionrelativeloginformlayuiformitemlabelpositionabsoluteleft1pxtop1pxwidth38pxlineheight36pxtextaligncentercolor#d2d2d2;loginformlayuiformiteminputpaddingleft36pxcaptchawidth60displayinlineblockcaptchaimgdisplayinlineblockwidth34floatrightcaptchaimgimgheight34pxborder1pxsolid#e6e6e6;height36pxwidth100ccrowborder1pxsolid#9F9F9F;paddingtop10pxmarginbottom10pxconttitlecolor#000;fontsize15pxfontweightboldtextalignrightpaddingright8pxcont1fontsize14pxtextalignleftstyleheadbodydivclasslayui-containerdivclassadmin-login-backgrounddivclasslayui-formlogin-formdivclasslayui-form-itemlogo-titleh1$conf'sitename'自助补单h1divdivclasslayui-elem-quotep可用于未支付的漏单补单pdivformclasslayui-formlayui-form-paneactiondivclasslayui-form-itemlayui-form-textlabelclasslayui-form-label订单号labeldivclasslayui-input-block<textarea请输入订单号,,单次最多十个!br'thistips1quotblackquotcloseBtn1time9999999"textareadivdivformdivclasslayui-form-itembuttonclasslayui-btnlayui-btnlayui-btn-normallayui-btn-fluididquery_order补单查询buttondivbrhrclasslayui-border-bluedivclasslayui-form-itemdivstylemargin-top8pxprefontcolor#FF00001fontfontcolor#0000FF请输入系统订单号或商户订单号,!fontpreprefontcolor#FF00002fontfontcolor#0000FF为了避免系统超时,每次最多输入十个订単号!fontpreprefontcolor#FF00003fontfontcolor#0000FF用于:未支付漏单或未能成功通知的订単可自动进行回调!fontpreprefontcolor#FF00004fontfontcolorblue彩虹易支付默认补单提示success是成功,ERROR或Fail是补单失败!fontpredivdivfieldsetclasslayui-elem-fieldlayui-field-titlestylemargin-top20pxtext-aligncenterpadding-right35pxlegendCopyright©date"Y"$conf'sitename'legendfieldsetdividcontent_listdivdivdivdivscriptsrc//yuanxiapi.cn/assets/public/jquery/1.12.4/jquery.min.jsscriptscriptsrc//yuanxiapi.cn/assets/public/layer/3.5.1/layer.jsscriptscriptvararea$windowwidth480"500px""95%"";max-height:100%"$'#query_order'on'click'functionvarorder$"#order"valiforderlayermsg'订单号不能为空!'returnfalsevariilayerload3shade0.3'#000'successfunctionlayerolayerofind'.layui-layer-content'after'divclasslayer-loadh4iclasslayui-iconlayui-icon-loadinglayui-animlayui-anim-rotatelayui-anim-loopi努力补单中h4div'layerofind'.layer-load'csstransform'translateX(-50%)translateY(10px)'position'absolute'width'max-content'left'50%'$ajaxtype'POST'url'?act=budan'>:orderorder>:'json'cachefalsesuccessfunctiondatalayercloseiiifdatacode200layeropentype1title"本次补单查询结果"closeBtn2//关闭按钮,12和falseshade0.8areaareabtn"关闭窗口"btnAlign"c"anim6//弹出动画,6抖动moveType1//拖拽模式,0或者1content'centerh4'+data.msg+'h4center'elselayermsgdatamsgreturnfalseerrorfunctiondatalayercloseiilayermsg'服务器错误,请稍后重试!'returnfalsescriptbodyhtml
 qq个性美女头像  松针的作用  最新非主流女生头像  天麻的功效  偏方治疗打呼噜 
标签关键词:

免责声明

本站提供的一切软件、教程和内容信息仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑或手机中彻底删除上述内容。如果您喜欢该程序,请支持正版,购买注册,得到更好的正版服务。如有侵权请邮件xm520vip@gmail.com与我们联系处理。敬请谅解!

欢迎 发表评论:

请填写验证码