java支付原理及其工作問題總結

一般使用支付寶支付的原理:

現(xiàn)支付寶的通知基本上有兩類拘领。
A服務器通知意乓,對應的參數(shù)為notify_url,支付寶通知使用POST方式
B頁面跳轉通知约素,對應的參數(shù)為return_url届良,支付寶通知使用GET方式 (通知地址不需要像以前一樣去賬戶內(nèi)設置,而是由客戶在支付的時候通過參數(shù)傳遞給我地址圣猎。

四士葫、 通知返回
a) 返回頁
傳遞給支付寶時的return_url參數(shù)所對應的頁面文件。
具備的屬性:
1送悔、支付接口中買家的購買流程已經(jīng)走到支付寶里且支付寶提示支付成功時为障,頁面會自動跳轉回自身網(wǎng)站的這個頁面里來。
2放祟、同步的,無時差
3呻右、獲得參數(shù)的方法是用get方式獲取跪妥。
4、不論跳轉回來程序判斷是真還是假(if(sign = mysign and responseTxt = true))只跳轉回來一次声滥,不重復眉撵。
5、這個并不是支付寶服務器調(diào)用了該頁面落塑,而是通過與組合拼接各參數(shù)形成的URL鏈接原理等同纽疟,拼接出來的URL鏈接,之后程序上做自動跳轉憾赁。
6污朽、基于5的原因,該頁面的程序調(diào)試可不必在服務器上而是本機上調(diào)試龙考、運行蟆肆。
b) 通知頁
傳遞給支付寶時的notify_url參數(shù)所對應的頁面文件
具備的屬性:
1、這個通知頁就是被支付寶調(diào)用才能啟動的晦款。
2炎功、服務器間的互動,不像返回頁肉眼可以看到缓溅,這個是看不到的蛇损。
3、獲得參數(shù)的方法是用POST方式獲取。
4淤齐、支付寶中的該筆交易存在股囊,且該筆交易狀態(tài)發(fā)生了變更,就會被調(diào)用床玻。
5毁涉、被調(diào)用程序判斷(if(sign = mysign and responseTxt = true)),若我們自己在該判斷中有做程序編寫锈死,成功則不再被調(diào)用贫堰,不成功則會反復被調(diào)用。
6待牵、異步的其屏,第一次收到訂單信息(以下都稱之為“通知”)是與返回頁近乎等同或等同的同步時間,在判斷不成功的情況下缨该,會收到第二次第三次等次數(shù)的通知偎行,時間間隔從最先的一兩分鐘,到后面的幾個小時贰拿。失效時間是4
8小時蛤袒。
7、基于6的原因膨更,該頁面的程序調(diào)試必須在服務器上調(diào)試妙真、運行。
8荚守、程序編寫時必須采用程序執(zhí)行成功珍德,才寫頁面response.Write(“success”);,不成功則寫頁面response.Write(“fail”); 支付寶根據(jù)success來判定是否要重新再次發(fā)送通知矗漾。
9锈候、該頁面的Html頁面中必須是空白、無任何Html標簽敞贡、無任何空格泵琳、不允許做頁面跳轉。

異步返回結果

第一步: 在通知返回參數(shù)列表中嫡锌,除去sign虑稼、sign_type兩個參數(shù)外,凡是通知返回回來的參數(shù)皆是待驗簽的參數(shù)势木。
第二步: 將剩下參數(shù)進行url_decode, 然后進行字典排序蛛倦,組成字符串,得到待簽名字符串,
第三步: 將簽名參數(shù)(sign)使用base64解碼為字節(jié)碼串啦桌。

第四步: 使用RSA的驗簽方法溯壶,通過簽名字符串及皂、簽名參數(shù)(經(jīng)過base64解碼)及支付寶公鑰驗證簽名。

第五步:在步驟四驗證簽名正確后且改,必須再嚴格按照如下描述校驗通知數(shù)據(jù)的正確性验烧。

常見問題:
1.根據(jù)代碼實例和開發(fā)文檔熟悉接口,將代碼實例的相關參數(shù)信息填寫完整(可以虛擬參數(shù))又跛,在本地測試(不上傳到服務器)支付寶接口碍拆。如果沒有任何問題再將接口根據(jù)實際業(yè)務做到網(wǎng)站或者網(wǎng)站后臺。
2.測試時您們需要兩個支付寶賬戶慨蓝,其中一個必須實名認證并且保證有一定的金額感混,以便測試時使用。另外一個帳戶可以作為收款方(賣家)(針對于支付接口)
3.如果做支付寶訂單信息和您們后臺數(shù)據(jù)同步請集成時做數(shù)據(jù)返回處理礼烈,本地測試可以使用同步測試弧满,如果在服務器上測試,可以通過異步來做也可以(支付寶有兩種數(shù)據(jù)返回處理:同步返回和異步返回)此熬。
同步返回(return_url)和異步返回(notify_url)的區(qū)別【return_url和notify_url參數(shù)必須是兩個返回處理文件的絕對路徑】庭呜?
答:同步返回處理(return_url):是一種可視化的返回,ie頁面跳轉通知犀忱,只要支付成功募谎,支付寶通過get方式跳轉到這個地址,并且?guī)в袇?shù)給這個頁面阴汇〗矗客戶獲取信息受到買家操作的影響。如果買家支付完
成后客戶服務器響應比較慢鲫寄,買家在顯示支付寶提示的“即時到賬支付成功“時關閉頁面,那么客戶網(wǎng)站是獲取不到信息疯淫,我們這邊稱為” 掉單“地来。而且這個返回處理是一次性調(diào)取,即支付成功后才調(diào)取同步返回處理熙掺。
異步返回處理(notify_url):它的數(shù)據(jù)交互是通過服務器間進行數(shù)據(jù)交互,必須將其放置在服務器上(公網(wǎng))測試未斑,服務器post消息到異步返回處理頁面,需要客戶技術在異步返回處理頁面處理相關的數(shù)據(jù)處理
币绩,然后每一步操作都要返回給支付寶success(不能包含其他的HTML腳本語言蜡秽,不可以做頁面跳轉。)這個返回處理如果集成OK缆镣,那么基本不會出現(xiàn)掉單芽突,因為支付寶會在24小時之內(nèi)分6~10次將訂單信息返回
個給客戶網(wǎng)站,直到支付寶捕獲success董瞻。
備注:同步返回處理則會受到買家操作的影響:
假如買家在操作的時候寞蚌,支付寶完畢進入支付寶提示成功頁面田巴,這個時候由于服務器相應比較慢,那么買家有可能會關閉這個頁面挟秤,這個時候您們就會接受不到支付寶返回的信息壹哺,還有有些網(wǎng)銀支付后也不會調(diào)取支付寶的同步返
回處理頁面,這樣您在同步做數(shù)據(jù)處理同樣接受不到數(shù)據(jù)艘刚。
備注:
請注意:現(xiàn)在您們集成的時候先按照提供給您們的測試賬戶的ID來做管宵,至于正式賬戶的ID您們可以找等合同正式生效后再查詢(獲取方法:登陸簽約的
支付寶賬戶-?點擊“商家服務”,就可以看到)

--處理支付寶返回通知失敗幾種情況:
1攀甚、SIGN與MYSIGN不等箩朴,responseTxt為invalid命令參數(shù)不對,該錯誤 是由于合作伙伴ID(parnterID)與安全校驗碼(key)未填云稚,或填錯導致
2隧饼、SIGN與MYSIGN相等,responseTxt為false静陈,是由于服務器燕雁、端口等因素導致,這時請檢查
a.防火墻是否屏蔽支付寶的IP(支付寶鎖使用的IP地址是:121.0.26.11,范圍:121.026.0~255)
b.端口80或者443端口開放沒有或者被其他服務占用
c.以上如果都沒有問題鲸拥,可能會是網(wǎng)絡驗證超時導致(支付寶驗證時間是1分鐘拐格,SIGN與MYSIGN不等會導致超時),需要等待網(wǎng)絡穩(wěn)定再確定問題
3刑赶、SIGN與MYSIGN不等捏浊,responseTxt為true,此時只有兩種情況會出現(xiàn):
其一:傳遞參數(shù)時格式不符合(例如:帶自定義參數(shù))導致簽名不一致
其二:編碼格式出現(xiàn)問題撞叨,這時候請檢查服務器編碼和網(wǎng)站編碼是否一致金踪,可以寫編碼過濾解決也可以在返回頁面強制編碼轉換

最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市牵敷,隨后出現(xiàn)的幾起案子胡岔,更是在濱河造成了極大的恐慌,老刑警劉巖枷餐,帶你破解...
    沈念sama閱讀 222,252評論 6 516
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件靶瘸,死亡現(xiàn)場離奇詭異,居然都是意外死亡毛肋,警方通過查閱死者的電腦和手機怨咪,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,886評論 3 399
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來润匙,“玉大人诗眨,你說我怎么就攤上這事≡谢洌” “怎么了辽话?”我有些...
    開封第一講書人閱讀 168,814評論 0 361
  • 文/不壞的土叔 我叫張陵肄鸽,是天一觀的道長。 經(jīng)常有香客問我油啤,道長典徘,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,869評論 1 299
  • 正文 為了忘掉前任益咬,我火速辦了婚禮逮诲,結果婚禮上,老公的妹妹穿的比我還像新娘幽告。我一直安慰自己梅鹦,他們只是感情好,可當我...
    茶點故事閱讀 68,888評論 6 398
  • 文/花漫 我一把揭開白布冗锁。 她就那樣靜靜地躺著齐唆,像睡著了一般。 火紅的嫁衣襯著肌膚如雪冻河。 梳的紋絲不亂的頭發(fā)上箍邮,一...
    開封第一講書人閱讀 52,475評論 1 312
  • 那天,我揣著相機與錄音叨叙,去河邊找鬼锭弊。 笑死,一個胖子當著我的面吹牛擂错,可吹牛的內(nèi)容都是我干的味滞。 我是一名探鬼主播,決...
    沈念sama閱讀 41,010評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼钮呀,長吁一口氣:“原來是場噩夢啊……” “哼剑鞍!你這毒婦竟也來了?” 一聲冷哼從身側響起爽醋,我...
    開封第一講書人閱讀 39,924評論 0 277
  • 序言:老撾萬榮一對情侶失蹤攒暇,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后子房,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,469評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡就轧,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,552評論 3 342
  • 正文 我和宋清朗相戀三年证杭,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片妒御。...
    茶點故事閱讀 40,680評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡解愤,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出乎莉,到底是詐尸還是另有隱情送讲,我是刑警寧澤奸笤,帶...
    沈念sama閱讀 36,362評論 5 351
  • 正文 年R本政府宣布,位于F島的核電站哼鬓,受9級特大地震影響监右,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜异希,卻給世界環(huán)境...
    茶點故事閱讀 42,037評論 3 335
  • 文/蒙蒙 一健盒、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧称簿,春花似錦扣癣、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,519評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至授药,卻和暖如春士嚎,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背烁焙。 一陣腳步聲響...
    開封第一講書人閱讀 33,621評論 1 274
  • 我被黑心中介騙來泰國打工航邢, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人骄蝇。 一個月前我還...
    沈念sama閱讀 49,099評論 3 378
  • 正文 我出身青樓膳殷,卻偏偏與公主長得像,于是被迫代替她去往敵國和親九火。 傳聞我的和親對象是個殘疾皇子赚窃,可洞房花燭夜當晚...
    茶點故事閱讀 45,691評論 2 361

推薦閱讀更多精彩內(nèi)容