個人收款源碼方案個人收款SDK源碼集成方案


個人收款即:用戶支付費用直接到個人,並可完成支付成功回調,即支付流程自動化。

 主要的思路就是根據金額區分支付的訂單號:

  1. 創建一個訂單,將二維碼 展示給用戶

  2. 用戶掃描后,商家手機上安裝了支付寶,那么會受到 付款推送通知

  3. 實現一個安卓App,能讀取通知,並將通知解析通知給 系統。

  4. 根據系統匹配到具體的訂單號,修改訂單狀態既可以實現實時收款。

那么這里有2個問題,作為一個小白,如何玩轉服務器和app, 一般開發者只會開發后台或者app。通過上面分析用到技術有: html+js , java(后台服務器),sql(后台數據庫), java(安卓);

如果上面技術都會開發了幾乎是全棧,一般工程師只會一部分。比如我只會安卓和html,不會后台咋辦,看似乎無法完成。這里我就分享出一個結合自己的技術水平實現一個 個人收款方案源碼。該方案是 靜態網頁+app掛機實現。

靜態網頁負責展示收款碼 ,支付成功給客戶反饋。

APP掛機負責獲取通知,修改訂單成功狀態。

雲數據是試用第三方數據庫,免費額度完全夠用,可登錄上去查看數據內容。

免費的雲數據庫

 

 

這里走了捷徑: 試用雲數據庫,那么我開發過程只需要是雲數據庫的sdk即可,這樣省我開發服務器的成本,同時也省了租用服務器搭建動態語言服務器的成本。

貼出主要的代碼過程:

app:

獲取支付寶通知,如何獲取安卓系統的通知,技術比較成熟網上代碼也比較多,不是本文介紹重點。

這里只貼出如何解析出支付寶收款的通知 金額。(可匹配商家收款和個人轉賬通知)

protected  String extractMoney(String content){
                Pattern pattern = Pattern.compile("(收款|收款¥|向你付款|向您付款|入賬)(([1-9]{1}\\d*)|([0]{1}))(\\.(\\d){0,2})?元");
                Matcher matcher = pattern.matcher(content);
                if(matcher.find()){
                        String tmp=matcher.group();
                        Pattern patternnum = Pattern.compile("(([1-9]{1}\\d*)|([0]{1}))(\\.(\\d){0,2})?");
                        Matcher matchernum = patternnum.matcher(tmp);
                        if(matchernum.find())
                                return matchernum.group();
                        return null;
                }else
                        return null;


        }
 

靜態網頁的實現:

這里也只是核心流程代碼:創建訂單,更新收款二維碼,收款成功回調。

 var key =getUrlParameter('key');
	var conferid =getUrlParameter('content');

	if(key==null || key=="" || key=='undefined'){	
		if(localStorage.mpdeviceid){
		    key = localStorage.mpdeviceid;
		}
	}else{
		conferid = decodeURI(conferid);
		document.getElementById('user-info').innerHTML = '設備信息:'+key;
		localStorage.mpdeviceid  = key;
	}
		
    
	document.getElementById('user-info').innerHTML += "  <br>選擇金額: <a href=\"javascript:changeMoney(0.10); \">體驗支付</a>/ <a href=\"javascript:changeMoney(199.10);\">199元 購買源碼</a>"; localStorage.mptimecount = offsetTime; timeOutCount(); checkStateTimedCount(callbackPayed); creatOrder(key,oderMoney,conferid); function callbackPayed(money){ document.getElementById('timeshow').innerHTML=" <font color=\"99ffff\">支付成功 </font><br><font size=\"3\" color=\"99ffff\">訂單:"+localStorage.mporderid+"</font>"; document.getElementById("page-url").src = ""; document.getElementById('moneyshow').innerHTML = "<font color=\"99ffff\">¥"+money+"</font> " document.getElementById('user-info').innerHTML = " <br><a href=\"javascript:recreateOrderID(); \">重新體驗</a>"; getRewarded(function callback(rewarded){ if(rewarded){ document.getElementById('user-info').innerHTML = "下載地址:"+rewarded; } }); } 
 其中 callbackPayed就是表示支付成功回調。系統會2秒檢測后台訂單狀態。如果成功則會回調。在這里可以實現支付成功的邏輯。

完整代碼:autoxpay代碼下載地址和演示:pan.baidu.com/s/1FiRuia2HQo7qBgTfQkgZGQ 提取碼:5k1n


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM