支付無小事,開發支付平台前,首先要制定規則:
(1)支付接**易金額單位為[分],不能帶小數;對賬的時候,單位為[元]
(2)時間戳,標準北京時間,時區為東八區
自2023年1月1日 0點0分0秒以來的[秒數]。
注意:部分系統取到的值為毫秒級,需要轉換成秒(10位數字)。
(3)商戶訂單號,自定義生成,必須保證唯一性。
重新發起一筆支付要使用原訂單號,避免重複支付;
已支付過或已關單的訂單號不能重新發起支付
=>支付請求,必須包含這些引數(商戶編號,訂單號,金額,時間戳,隨機支付串,通知位址,簽名)
=>首先要對支付請求進行驗籤,比對請求的sign與自己計算的sign是否匹配。
第二步,在stringa最後拼接上key得到stringsigntemp字串,並對stringsigntemp進行sha256運算,再將得到的字串所有字元轉換為大寫,得到sign值signvalue。
=>簽名驗證通過,可以簽證使用者合法性(會員存在,餘額充足),訂單合法性(未支付)
然後發起[非同步扣款執行緒任務],及時返回同步支付結果。
=>在非同步扣款執行緒任務中,執行扣款邏輯,增加支付明細,傳送消費簡訊通知使用者。
最後還需要呼叫callbackurl非同步通知支付結果
=>接入方主動查詢支付結果
對於支付平台,需要注意的地方:
(1)統一接入入口
不同的接入方,提供統一的接入入口,整合方便,維護成本小
(2)支付安全
驗證簽名,支付碼消費控制,防止重複扣款等等
(3)提供狀態碼
讓接入方根據錯誤型別,做對應的業務處理
聊聊支付通道的那些事
21世紀是網際網路的時代,我們的支付方式也變的多種多樣起來,以前出門拿個鱷魚皮的錢包感覺高大上,現在就是土鱉!現在隨手掏出一部手機掃掃碼。幾百幾千幾萬秒到賬,不管你花裡胡哨,就是這麼直接呢!提起支付這個話題,相信內行的各位大佬不比我陌生,比較各位都是有需求的老闆,沒有乙個好的支付通道,賺了錢都沒地方...
iOS平台記憶體管理的那些事
ios平台的記憶體管理採用引用計數的機制。當建立乙個物件時使用alloc或者allwithzone方法時,引用計數就會 1 當釋放物件使用release方法時,引用計數就是 1 這就意味著每乙個物件都會跟蹤有多少其他物件引用它,一旦引用計數為0,該物件的記憶體就會被釋放掉 另外,ios也提供了一種延...
那些人,那些事
很久沒有整理一下自己的思緒,聽著熟悉的歌,那歌聲會讓我想起那些人,那些事.乙個標點,乙個符號,乙個個早已在歲月深處冰封的眼神,一段沒有伴侶的歸途。一直以來我都認為我的人生就是這樣,平平淡淡,安安靜靜,波瀾不驚地在歲月的 眼角劃過,不留絲毫痕跡。現在看來,原來我寫的東西在很大程度上是是在滿足自己的某種...