• 支付接口小记


    支付系统网关地址:http://xxx.com/api/core.php 

    请求方式:POST提交(或者GET) 

    编码格式 :统一使用UTF-8 

    返回数据格式:JSON格式 

    签名方法:(各类支付签名方法都大同小异) 

    1、所有发送或者接收到的数据为集合M,将集合M内非空参数值的参数按照参数名从小到大排序(字典序),使用URL键值对的格式(即key1=value1&key2=value2…)拼接成字符串stringA

    2、在stringA最后拼接上key得到stringSignTemp字符串,并对stringSignTemp进行MD5运算得到sign值。

    例如微信主扫签名:

    MD5(“account_no=账户编号&body=测试&interface_no=12&money=金额&nonce_str=123456&notify=www:baidu.com&order_sn=订单号”+密钥)

    Md5 结果32位小写

     

    验签方法:

    验证调用返回或主动通知签名时,传送的signature参数不参与签名,将生成的签名与该signature值作校验

    key :生成商户账号时自动生成

    后端拼凑隐藏的form用ajax return前台自动提交:

    <script>document.forms['paysubmit'].submit();</script>这个就是自动提交js代码

            /// <summary>
            /// 建立请求,以表单HTML形式构造(默认)
            /// </summary>
            /// <param name="sParaTemp">请求参数数组</param>
            /// <param name="key">加密密钥</param>
            /// <returns>提交表单HTML文本</returns>
            public static string buildQueryHtml(SortedDictionary<string, string> sParaTemp, string key)
            {
                //签名结果
                string mysign = qeurySign(sParaTemp, key);
    
                //签名结果与签名方式加入请求提交参数组中
                sParaTemp.Add("sign", mysign);
    
                StringBuilder sbHtml = new StringBuilder();
    
                sbHtml.Append("<form id='paysubmit' name='paysubmit' action='https://api.xxx.com/api/query.htm' method='post'>");
    
                foreach (KeyValuePair<string, string> temp in sParaTemp)
                {
                    sbHtml.Append("<input type='hidden' name='" + temp.Key + "' value='" + temp.Value + "'/>");
                }
    
                //submit按钮控件请不要含有name属性
                sbHtml.Append("<input type='submit' value='pay' style='display:none;'></form>");
    
                sbHtml.Append("<script>document.forms['paysubmit'].submit();</script>");
    
                return sbHtml.ToString();
            }
  • 相关阅读:
    洛谷 P1401 城市(二分+网络流)
    洛谷 P2057 善意的投票(网络流最小割)
    洛谷 P1402 酒店之王
    二分图最大匹配的一些证明
    P2764 最小路径覆盖问题(网络流24题之一)
    洛谷 P2055 [ZJOI2009]假期的宿舍
    P2891 [USACO07OPEN]吃饭Dining(最大流+拆点)
    洛谷P1345 [USACO5.4]奶牛的电信(最小割)
    网络流24题之星际转移问题(洛谷P2754)
    LeetCode Unique Binary Search Trees
  • 原文地址:https://www.cnblogs.com/AlbertSmith/p/7417929.html
Copyright © 2020-2023  润新知