虎皮椒支付系统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.khcha.com/ziyuan/view20211.htm