• 简单集成支付宝在线支付功能的关键代码


    1、首先把DEMO中APP_CODE的5个类加入到项目中。可根据实际情况自己修改。

    AlipayConfig.cs
    AlipayCore.cs
    AlipayNotify.cs
    AlipaySubmit.cs
    MD5.cs
     
    2、如无其他需求,只需修改AlipayConfig.cs中的两个参数。
    partner  //合作身份者ID
    key  //交易安全检验码 ,这个必须填写。刚开始做DEMO里没有以为不用填,总是报签名错误。
    sign_type //签名方式,一般默认MD5。有需求自行修改
    input_charset //字符编码,一般是UTF8或GBK。会影响生成签名,如果提示签名错误,可从这里入手查找问题。
     
    3、生成签名的方法文档里都有。
     
    4、添加商品信息之类的DEMO中都有,这里记录下添加的参数。
     
     1 //把请求参数打包成数组
     2 SortedDictionary<string, string> sParaTemp = new SortedDictionary<string, string>();
     3 sParaTemp.Add("partner", Com.Alipay.Config.Partner);
     4 sParaTemp.Add("_input_charset", Com.Alipay.Config.Input_charset.ToLower());
     5 sParaTemp.Add("service", "create_direct_pay_by_user");
     6 sParaTemp.Add("payment_type", payment_type);
     7 sParaTemp.Add("notify_url", notify_url);
     8 sParaTemp.Add("return_url", return_url);
     9 sParaTemp.Add("seller_email", seller_email);
    10 sParaTemp.Add("out_trade_no", out_trade_no);
    11 sParaTemp.Add("subject", subject);
    12 sParaTemp.Add("total_fee", total_fee);
    13 sParaTemp.Add("body", body);
    14 sParaTemp.Add("show_url", show_url);
    15 sParaTemp.Add("anti_phishing_key", anti_phishing_key);
    16 sParaTemp.Add("exter_invoke_ip", exter_invoke_ip);
    17 
    18 //建立请求
    19 string sHtmlText = Submit.BuildRequest(sParaTemp, "get", "确认");
    20 Response.Write(sHtmlText);
    这里需要注意的是使用了SortedDictionary,这个可以自动排序。如果使用Dictionary需要在生产签名的代码处自己排下序。会导致生成签名无效。
     
    总体来说,即时到帐的集成比较简单。大问题没有。主要是生成签名无效的问题,总结一下,可以从几点去查找原因:1、Key是否正确,是由数字和字母组成的32位字符串;2、input_charset 主要看一下当前网站的编码;3、参数的排序,生产签名需要排序。
  • 相关阅读:
    Python IDE
    Codeforces Beta Round #69 Div1
    HDU1595 find the longest of the shortest[最短路]
    MFC/OpenGL下的调色板
    ApacheCN 编程/大数据/数据科学/人工智能学习资源 2019.12
    计算机电子书 2016 BiliDrive 备份
    计算机电子书 2017 BiliDrive 备份
    Java项目中常见的异常处理
    从小工到专家第三次读后感
    《梦断代码》读后感1
  • 原文地址:https://www.cnblogs.com/chenliang-zibo/p/4337563.html
Copyright © 2020-2023  润新知