作為一個獨立開發者產品需要支付介面是挺麻煩的,支付寶微信都不對個人開放,註冊公司維護成本太高,市面上各種收款工具要麼手續費太高,要麼到賬很慢,體驗很不好。 看到 「小叮噹支付」 這個收款工具,挺有意思的。原理是監控手機微信、支付寶的二維碼掃碼支付到賬通知並回調開發者應用,通知開發者用戶的支付結果。 ...
作為一個獨立開發者產品需要支付介面是挺麻煩的,支付寶微信都不對個人開放,註冊公司維護成本太高,市面上各種收款工具要麼手續費太高,要麼到賬很慢,體驗很不好。
看到 「小叮噹支付」 這個收款工具,挺有意思的。原理是監控手機微信、支付寶的二維碼掃碼支付到賬通知並回調開發者應用,通知開發者用戶的支付結果。
「小叮噹支付」的優點是個人普通帳戶的支付寶、微信就可以收款,不用簽約,不用公司資質,並且費率非常低,回調即時,幾乎沒有等待。
收款即時到達您的支付寶微信賬戶,不通過第三方中轉,非常安全靠譜,費率也挺低的。下麵我們就來看怎麼把 「小叮噹支付」 接入到我們的產品中。
接入前的準備工作:
1)先註冊一個小叮噹支付帳號:https://www.xddpay.com
2)在後臺上傳支付寶和微信未設置金額的二維碼各一張,並添加一個介面
3)準備一個閑置的 Android 手機安裝叮噹寶App ,登錄帳號後參照設置步驟
正式接入:
介面地址:https://api.6688pay.com:8080
調用方式:POST
調用參數:
# 參數名 含義 類型 說明 1 order_no 商戶訂單號 string 必填。商戶自己的訂單號,請確保唯一 2 subject 商品名稱 string 可為空。 3 pay_type 支付類型 int 必填。支付寶=43 微信支付=44 4 money 交易金額 float 必填。交易金額 5 app_id app_id int 必填。介面後臺獲取 6 extra 商戶自定義數據 string(50) 可為空。 7 sign 簽名 string(32) 必填,大寫。MD5(order_no=123456&subject=&pay_type=43&money=10.00&app_id=10088&extra=abc&介面密鑰)
通過如下HTML代碼即可發起支付請求:
<form id='formpay' name='formpay' method='post' action='https://api.6688pay.com:8080/?input_charset=utf-8'> <input name='order_no' id='order_no' type='text' value=''/> <input name='subject' id='subject' type='text' value='' /> <input name='pay_type' id='pay_type' type='text' value='' /> <input name='money' id='money' type='text' value=''/> <input name='app_id' id='app_id' type='text' value=''/> <input name='extra' id='extra' type='text' value=''/> <input name='sign' id='sign' type='text' value=''/> <input type='submit' id='submitdemo1'> </form>
2、付款成功非同步通知
付款成功後通知您後臺的【非同步通知網址】,並附帶如下參數
# 參數名 含義 類型 說明 1 order_no 商戶訂單號 string 商戶自己的訂單號,請確保唯一 2 subject 商品名稱 string 和請求時一樣,原樣返回 3 pay_type 支付類型 int 支付寶=43 微信支付=44 4 money 訂單金額 float 訂單金額 5 realmoney 實際支付金額 float 表示用戶實際支付的金額。一般會和money值一致,如果同時存在多個用戶支付同一金額,就會和money存在一定差額,差額一般在1-2分錢上下,越多人同時付款,差額越大。 6 result 支付結果 string 支付成功=success,其它均為失敗 7 xddpay_order 小叮噹訂單號 string 小叮噹的訂單號 8 app_id 介面APP_ID int 介面APP_ID 9 extra 商戶自定義數據 string 和請求時一樣,原樣返回 10 sign 秘鑰 string(32) 大寫。MD5(order_no=123456&subject=&pay_type=43&money=10.00&result=success&xddpay_order=654321&app_id=10088&extra=abc&介面密鑰)
【非同步通知網址】頁面的處理代碼如下:
protected void Page_Load(object sender, EventArgs e) { //創建XddpayResponse實例 XddpayResponse xddpayresponse = new XddpayResponse(Context); //判斷簽名 if (xddpayresponse.IsXddpaySign()) { string order_no = xddpayresponse.getParameter("order_no"); //商戶自己的訂單號 string subject = xddpayresponse.getParameter("subject"); //商品名稱 string pay_type = xddpayresponse.getParameter("pay_type"); //支付類型 string money = xddpayresponse.getParameter("money"); //訂單金額 string realmoney = xddpayresponse.getParameter("realmoney"); //實際支付金額 string result = xddpayresponse.getParameter("result"); //支付結果 string xddpay_order_no = xddpayresponse.getParameter("xddpay_order"); //小叮噹訂單號 string app_id = xddpayresponse.getParameter("app_id"); //介面app_id string extra = xddpayresponse.getParameter("extra"); //用戶自定義數據 if ("success".Equals(result)) { bool issuccess = true; //------------------------------ //如需要處理業務,請在本處寫代碼 //註意交易訂單不要重覆處理 //如果你的支付金額是前端傳過來的,這裡註意判斷實際支付金額 //------------------------------ if (issuccess) Response.Write("success"); else Response.Write("訂單處理失敗"); } else { //當做不成功處理 Response.Write("支付失敗"); } } else { Response.Write("認證簽名失敗"); } }
3、付款成功同步跳轉
同步跳轉跟非同步通知參數一樣,參照上面
一般同步跳轉頁面只顯示支付結果,不進行業務處理。怎麼樣?是不是很簡單。
接下來就坐等收錢啦。啦。啦。。啦。。。
會不會太帥
有種給我付款試試