zoukankan      html  css  js  c++  java
  • 简单集成支付宝在线支付功能的关键代码

    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、参数的排序,生产签名需要排序。
  • 相关阅读:
    变Enter键为Tab键 实现焦点转移
    .net事务使用实例
    C#多线程编程(1):线程的启动
    Sql中try{} catch{}实例
    winform刷新父窗体
    Sql批量删除/插入
    IDENTITY,SCOPE_IDENTITY和IDENT_CURRENT的辨析
    C#多线程编程(2):线程的同步
    Sql Server 网络备份
    SQL语句来获取一个表的所有列的信息,如,列名、类型、长度等
  • 原文地址:https://www.cnblogs.com/chenliang-zibo/p/4337563.html
Copyright © 2011-2022 走看看