xddpay.com 個人支付介面接入流程

来源:https://www.cnblogs.com/happy5630/archive/2018/08/01/9401400.html
-Advertisement-
Play Games

作為一個獨立開發者產品需要支付介面是挺麻煩的,支付寶微信都不對個人開放,註冊公司維護成本太高,市面上各種收款工具要麼手續費太高,要麼到賬很慢,體驗很不好。 看到 「小叮噹支付」 這個收款工具,挺有意思的。原理是監控手機微信、支付寶的二維碼掃碼支付到賬通知並回調開發者應用,通知開發者用戶的支付結果。 ...


作為一個獨立開發者產品需要支付介面是挺麻煩的,支付寶微信都不對個人開放,註冊公司維護成本太高,市面上各種收款工具要麼手續費太高,要麼到賬很慢,體驗很不好。

看到 「小叮噹支付」 這個收款工具,挺有意思的。原理是監控手機微信、支付寶的二維碼掃碼支付到賬通知並回調開發者應用,通知開發者用戶的支付結果。

「小叮噹支付」的優點是個人普通帳戶的支付寶、微信就可以收款,不用簽約,不用公司資質,並且費率非常低,回調即時,幾乎沒有等待。

   

收款即時到達您的支付寶微信賬戶,不通過第三方中轉,非常安全靠譜,費率也挺低的。下麵我們就來看怎麼把 「小叮噹支付」 接入到我們的產品中。


接入前的準備工作:

1)先註冊一個小叮噹支付帳號:https://www.xddpay.com

2)在後臺上傳支付寶和微信未設置金額的二維碼各一張,並添加一個介面

3)準備一個閑置的 Android 手機安裝叮噹寶App ,登錄帳號後參照設置步驟

 

正式接入:

1、發起支付請求,參照 介面文檔 或 Demo

介面地址: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、付款成功同步跳轉

同步跳轉跟非同步通知參數一樣,參照上面

一般同步跳轉頁面只顯示支付結果,不進行業務處理。

怎麼樣?是不是很簡單。

接下來就坐等收錢啦。啦。啦。。啦。。。

會不會太帥

有種給我付款試試

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • # mac離線安裝dockerhttps://download.docker.com/mac/stable/24312/Docker.dmg # windows離線安裝dockerhttp://mirrors.aliyun.com/docker- toolbox/windows/docker-too ...
  • 租車系統 測試類 抽象類Car 子類ren (只能載人) 子類wu (只能載貨) 子類quan (都能載) 運行截圖 ...
  • 一、背景   我們都知道http協議只能瀏覽器單方面向伺服器發起請求獲得響應,伺服器不能主動向瀏覽器推送消息。想要實現瀏覽器的主動推送有兩種主流實現方式: 輪詢:缺點很多,但是實現簡單 websocket:在瀏覽器和伺服器之間建立tcp連接,實現全雙工通信  &emsp ...
  • 協程 引子 之前我們學習了線程、進程的概念,瞭解了在操作系統中進程是資源分配的最小單位,線程是CPU調度的最小單位。按道理來說我們已經算是把cpu的利用率提高很多了。但是我們知道無論是創建多進程還是創建多線程來解決問題,都要消耗一定的時間來創建進程、創建線程、以及管理他們之間的切換。 隨著我們對於效 ...
  • ORM的優劣勢? https://www.cnblogs.com/huanhang/p/6054908.html 對象關係映射(Object Relational Mapping,簡稱ORM)模式是一種為瞭解決面向對象與關係資料庫存在的互不匹配的現象的技術。 簡單的說,ORM是通過使用描述對象和數據 ...
  • 一:有如下變數(tu是個元祖),請實現要求的功能 tu = ("alex", [11, 22, {"k1": 'v1', "k2": ["age", "name"], "k3": (11,22,33)}, 44]) a. 講述元祖的特性 b. 請問tu變數中的第一個元素 "alex" 是否可被修改? ...
  • 重載與重寫對比: 重載: 許可權修飾符(public private 預設):無關 方法名:重載的兩個方法的方法名必須相同 形參列表: 形參類型的順序不同 形參的個數不同 形參的類型不同 三者至少滿足一個 返回值類型: 重載與返回值類型無關 重寫: 許可權修飾符(public private 預設): ...
  • C 多線程編程系列(二) 線程基礎 [TOC] 1.1 簡介 線程基礎主要包括線程創建、掛起、等待和終止線程。關於更多的線程的底層實現,CPU時間片輪轉等等的知識,可以參考 一書中關於進程和線程的章節,本文不過多贅述。 1.2 創建線程 在C 語言中,創建線程是一件非常簡單的事情;它只需要用到 命名 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...