• xddpay.com 个人支付接口接入流程


    作为一个独立开发者产品需要支付接口是挺麻烦的,支付宝微信都不对个人开放,注册公司维护成本太高,市面上各种收款工具要么手续费太高,要么到账很慢,体验很不好。

    看到 「小叮当支付」 这个收款工具,挺有意思的。原理是监控手机微信、支付宝的二维码扫码支付到账通知并回调开发者应用,通知开发者用户的支付结果。

    「小叮当支付」的优点是个人普通帐户的支付宝、微信就可以收款,不用签约,不用公司资质,并且费率非常低,回调即时,几乎没有等待。

     
     

    收款即时到达您的支付宝微信账户,不通过第三方中转,非常安全靠谱,费率也挺低的。下面我们就来看怎么把 「小叮当支付」 接入到我们的产品中。


    接入前的准备工作:

    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、付款成功同步跳转

    同步跳转跟异步通知参数一样,参照上面

    一般同步跳转页面只显示支付结果,不进行业务处理。

    怎么样?是不是很简单。

    接下来就坐等收钱啦。啦。啦。。啦。。。

    会不会太帅

    有种给我付款试试

     

  • 相关阅读:
    (Java实现) 有重复元素排列问题
    玩转Google开源C++单元测试框架Google Test系列(转载)
    C++11之后,对源代码增加了UTF8和UCS4的支持(Windows内部使用Unicode,因为nt内核用的是ucs2,那是89年,utf8到了92年才发明出来)
    当年写的俄罗斯方块(现在更喜欢研究别人的代码)
    Stack的三种含义(数据超过栈的大小,就发生stack overflow)
    64位平台C/C++开发注意事项(转载)
    Redis集群方案
    Hadoop处理大量小文件的问题和解决方法
    Lazy Scheduler
    Solr与MongoDB集成,实时增量索引
  • 原文地址:https://www.cnblogs.com/happy5630/p/9401400.html
Copyright © 2020-2023  润新知