虎皮椒支付系統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