asp.net網站接入虎皮椒支付系統
搜收錄網整理 發布日期:2022/3/17 16:28:52
虎皮椒支付系統asp.net網站接入方法和步驟
完成簽約獲取APPID和SECRET。
下載對應開發語言的 SDK
C#版的sdk是mvc框架的,非MVC框架的asp.net網站需要做一些修改,主要修改的是提交支付信息返回跳轉鏈接打開支付二維碼
主要參數 
paymentType 支付類型支付接口標識:wechat(微信接口)|alipay(支付寶接口)
money 支付金額
title 支付標題
還可以加入自定義attach參數傳遞訂單信息
public ActionResult Index(string paymentType, string money, string title)
        {
            var json = new JObject();
 
            try
            {
                var dic = new Dictionary<string, string>
                {
                    {"version", "1.1"},
                    {"lang", "zh-cn"},
                    {"plugins", "test-001"},
                    {"appid", "2147483647"},//appid
                    {"appsecret", "160130736b1ac0d54ed7abe51e44840b"},//appsecret
                    {"trade_order_id", Generate.GenerateOutTradeNo()},//訂單號
                    {"payment", "wechat"},//支付類型
                    {"total_fee", money},//金額
                    {"title", "iphone"},//標題,只能數據字或英文(中文亂碼,找不到原因)
                    {"time", Date.GetTimeStamp()},//時間戳
                    {"notify_url", "https://www.baidu.com/"},//通知鏈接
                    {"return_url", "https://www.baidu.com/"},//跳轉鏈接
                    {"nonce_str", Generate.RndNum(32)},//隨機字符串
                };
 
                dic.Add("hash", Sign(dic));
 
                var sr = JsonConvert.DeserializeObject<SamplesResult>(PostHttp(dic));
 
                json.Add(new JProperty("openid", sr.Openid));
                json.Add(new JProperty("url", sr.Url));
                json.Add(new JProperty("errcode", sr.Errcode));
                json.Add(new JProperty("errmsg", sr.Errmsg));
                json.Add(new JProperty("hash", sr.Hash));
            }
            catch (Exception e)
            {
                throw e;
            }
 
            return Content(json.ToString());
        }
通過返回的JSON值中的url跳轉打開付款二維碼頁面,付款后會回調付款成功頁面更新網站付款信息。
回調頁面重點程序如下
獲取回調參數
    public Dictionary<string, string> request2Dic(HttpRequest request)
    {
        Dictionary<string, string> returnDic = new Dictionary<string, string>();
        string[] keys = request.Form.AllKeys;
        if (keys.Length == 0)
        {
            keys = request.QueryString.AllKeys;
        }
        foreach (string name in keys)
        {
            if (name == "hash") continue;
            string value = request.Params[name].ToString().Trim();
            returnDic.Add(name, value);
        }
        return returnDic;
    }
獲取回傳哈希值
string hash = context.Request.Form["hash"];
Dictionary<string, string> dicArray = new Dictionary<string, string>();
dicArray = request2Dic(context.Request);
根據回傳參數生成新的哈希值
var newhash = hpjalipay.Sign(dicArray);
判斷兩個哈希值知否相同,如果相同則執行更新用戶支付訂單信息
注意,一般支付成功后會發起多次回調,所以要做重復判斷。
 

信息網址:http://www.respectj.cn/ziyuan/view20211.htm
相關信息
都挺好在线观看