在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/HTML/ 微信支付記錄訂單號便于查詢的思考

微信支付記錄訂單號便于查詢的思考

一個打賞系統(tǒng),被打賞者有openid和 ID(1-999999)用戶點擊付款后的notify中獲取到out_trade_no,
我想把誰給誰打賞的信息寫到數(shù)據(jù)庫,那么openid(28位) + 隨機4位 正好占滿 32位的長度。但是隨機4位串很容易造成訂單號重復(fù)的情況,所以一般會用年月日+隨幾串,但是如果用ID的話,一旦ID發(fā)生改變,或者因為其他原因?qū)е伦儎?會造成支付數(shù)據(jù)無法對應(yīng)。
還有一個方式是生成支付信息的時候,把所有需要的信息insert到數(shù)據(jù)庫,成功后來通知的時候再update這條記錄,但是這又造成服務(wù)器資源的浪費。
還有一種辦法,就是用ID(6) + 對方的openid.substring(0,14)+年月日(180910)+隨機(6)
6+14+6+6=32 ,但是如果一天中支付信息多的話,仍然可能有重復(fù)現(xiàn)象。
請問各位高手一般怎么做?參與者本人愿小小打賞。:)

回答
編輯回答
淡墨
還有一個方式是生成支付信息的時候,把所有需要的信息insert到數(shù)據(jù)庫,成功后來通知的時候再update這條記錄,但是這又造成服務(wù)器資源的浪費。

你以為微信為啥要你提供一個商戶訂單號呀?
openid 對應(yīng)單個服務(wù)主體。or 你既然提到了是「打賞性質(zhì)」就至少來說 不會產(chǎn)生過多的數(shù)據(jù)。支付寶的訂單號也才40位?!

2017年3月8日 22:55