支付寶支付:php
這是支付寶裏面的沙箱調用狀況:api
GET 響應頁面回調
alipay/?charset=utf-8&out_trade_no=201905311018080220368&method=alipay.trade.page.pay.return&total_amount=0.10&sign=WpCYcEajOO%2Bm4SkGXV8RxkGq%2BWhsqz8aNE2vtXd83qdRhWasCwEszY3p4U23QS5miOBNcO1cNqY8xAEgLFVQIhbKbRyCNPjqwKP8D8GLlCkwVTs%2FRjJfI4x39hGYsexfjqMCDn7NSajJd1zu1%2B9zDda6Lds%2BYcwyFO%2FGKASSw%2FFOwg3y7wd1QsVefkzO1Ip6xdrlGpsXChQjmXMTgSQuZeo%2F9u9T13AOtR%2FgyIXyOUebe5Lqj74TMO1Ebge2qjWX4EL1pa5c9ufnAZUCr%2BXXlx1clquYxtv1ebCQxgRvcozF3I9q7RUOj2lh17JU8R50HedGwr1VxEEUdmTyvhdkoQ%3D%3D&trade_no=2019053122001494381000047437&auth_app_id=2016092100560653&version=1.0&app_id=2016092100560653&sign_type=RSA2&seller_id=2088102176582150×tamp=2019-05-31+10%3A18%3A52 HTTP/1.1" 200 0
POST 響應服務器回調
<QueryDict: {'gmt_create': ['2019-05-31 10:18:38'], 'charset': ['utf-8'], 'gmt_payment': ['2019-05-31 10:18:45'], 'notify_time': ['2019-05-31 10:18:46'], 'subject': ['201905311018080220368'], 'sign': ['Yk/B4gbgAR+vPihHu1YxMuZkpaDKa9R7dn/LPiREHGMFUGfDxlcduXKtjo2DnEsEpxIr46/8SGL58i5ZVqVddhNrmwdujBFgCyuwypP9ywSVVOb4K2MD/R2uQdfdCVwo/1y71OFFsO/VLFzl3fQAzs1tpQomYEyZ5qB1xQkoHXNM0Tf/SeRR/+4OSR1Kb5ZwvxgYWeorgQCTg/NWF3JSda24Gq44gIOrfeIWMl/H5AtqFSG+yLlwKha5cYYrjaNpNC8j/aLOriOAJ/gJo7VNX0J+zEZEqlCFFY/5jbpoUTJTXiGtADPTDyicNR6Dxdv9+9LlXc/gU4CYzsKTVGl+Ww=='], 'buyer_id': ['2088102176894385'], 'invoice_amount': ['0.10'], 'version': ['1.0'], 'notify_id': ['2019053100222101845094381000260648'], 'fund_bill_list': ['[{"amount":"0.10","fundChannel":"ALIPAYACCOUNT"}]'], 'notify_type': ['trade_status_sync'], 'out_trade_no': ['201905311018080220368'], 'total_amount': ['0.10'], 'trade_status': ['TRADE_SUCCESS'], 'trade_no': ['2019053122001494381000047437'], 'auth_app_id': ['2016092100560653'], 'receipt_amount': ['0.10'], 'point_amount': ['0.00'], 'app_id': ['2016092100560653'], 'buyer_pay_amount': ['0.10'], 'sign_type': ['RSA2'], 'seller_id': ['2088102176582150']}>
同步返回處理(return_url):是一種可視化的返回,ie頁面跳轉通知,只要支付成功,支付寶經過get方式跳轉到這個地址,而且帶有參數給這個頁面。客戶獲取信息受到買家操做的影響。若是買家支付完成後客戶服務器響應比較慢,買家在顯示支付寶提示的「即時到帳支付成功「時關閉頁面,那麼客戶網站是獲取不到信息,咱們這邊稱爲」 掉單「。並且這個返回處理是一次性調取,即支付成功後才調取同步返回處理。服務器
異步返回處理(notify_url):它的數據交互是經過服務器間進行數據交互,必須將其放置在服務器上(公網)測試,服務器post消息到異步返回處理頁面,須要客戶技術在異步返回處理頁面處理相關的數據處理,而後每一步操做都要返回給支付寶success(不能包含其餘的HTML腳本語言,不能夠作頁面跳轉。)這個返回處理若是集成OK,那麼基本不會出現掉單,由於支付寶會在24小時以內分6~10次將訂單信息返回個給客戶網站,直到支付寶捕獲success。
微信
微信回調:app
只有一種服務器回調異步
一、一樣的通知可能會屢次發送給商戶系統。商戶系統必須可以正確處理重複的通知。post
二、後臺通知交互時,若是微信收到商戶的應答不符合規範或超時,微信會斷定本次通知失敗,從新發送通知,直到成功爲止(在通知一直不成功的狀況下,微信總共會發起10次通知,通知頻率爲15s/15s/30s/3m/10m/20m/30m/30m/30m/60m/3h/3h/3h/6h/6h - 總計 24h4m),但微信不保證通知最終必定能成功。測試
三、在訂單狀態不明或者沒有收到微信支付結果通知的狀況下,建議商戶主動調用微信支付【查詢訂單API】確認訂單狀態微信支付
<xml> <appid><![CDATA[wx2421b1c4370ec43b]]></appid> <attach><![CDATA[支付測試]]></attach> <bank_type><![CDATA[CFT]]></bank_type> <fee_type><![CDATA[CNY]]></fee_type> <is_subscribe><![CDATA[Y]]></is_subscribe> <mch_id><![CDATA[10000100]]></mch_id> <nonce_str><![CDATA[5d2b6c2a8db53831f7eda20af46e531c]]></nonce_str> <openid><![CDATA[oUpF8uMEb4qRXf22hE3X68TekukE]]></openid> <out_trade_no><![CDATA[1409811653]]></out_trade_no> <result_code><![CDATA[SUCCESS]]></result_code> <return_code><![CDATA[SUCCESS]]></return_code> <sign><![CDATA[B552ED6B279343CB493C5DD0D78AB241]]></sign> <sub_mch_id><![CDATA[10000100]]></sub_mch_id> <time_end><![CDATA[20140903131540]]></time_end> <total_fee>1</total_fee> <coupon_fee_0><![CDATA[10]]></coupon_fee_0> <coupon_count><![CDATA[1]]></coupon_count> <coupon_type><![CDATA[CASH]]></coupon_type> <coupon_id><![CDATA[10000]]></coupon_id> <trade_type><![CDATA[JSAPI]]></trade_type> <transaction_id><![CDATA[1004400740201409030005092168]]></transaction_id> </xml>
服務器捕獲這段參數校驗驗證 ,處理業務邏輯。商戶系統必須可以正確處理重複的通知。網站
對於一個小提示:
處理完成以後,必定要返回是字符串。
若是是對象或者其其它東西微信是不會處理的,會一直響應給你,必定記得是字符串。我就遇到這個坑。
響應回去給微信服務器
<xml>
<return_code><![CDATA[SUCCESS]]></return_code> <return_msg><![CDATA[OK]]></return_msg></xml>