• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

C# 建行聚合支付

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

建行聚合支付

网上C# 的资料比较少,整理下来,欢迎沟通

1. 商户到银行

页面js可直接实现

var URL;
var tmp;
var tmp0;

CCBPaymentURL= "@ViewBag.CCBPaymentURL";  //"https://ibsbjstar.ccb.com.cn/CCBIS/ccbMain?CCB_IBSVersion=V6"  config或者appsetting信息

MERCHANTID = "@ViewBag.MERCHANTID";  
POSID = "@ViewBag.POSID";
BRANCHID = "@ViewBag.BRANCHID";
CURCODE = "@ViewBag.CURCODE";  //"01"
TXCODE = "@ViewBag.TXCODE";  //"530550"
REMARK1 = \'\';
REMARK2 = \'\';
PUB = "@ViewBag.PUB";  //商户后台下载的 商户公钥后30位


tmp = \'MERCHANTID=\' + MERCHANTID + \'&POSID=\' + POSID + \'&BRANCHID=\' + BRANCHID + \'&ORDERID=\' + ORDERID;
tmp += \'&PAYMENT=\' + PAYMENT + \'&CURCODE=\' + CURCODE + \'&TXCODE=\' + TXCODE
+ \'&REMARK1=\' + REMARK1;
tmp += \'&REMARK2=\' + REMARK2;
tmp += \'&RETURNTYPE=2\';
tmp += \'&TIMEOUT=\'
tmp0 = tmp;
tmp += \'&PUB=\' + PUB;

URL = CCBPaymentURL+ \'&\' + tmp0 + \'&MAC=\' + hex_md5(tmp) ;   

 

2. 银行回调商户地址通知支付结果

 

string requestqueryString = Request.QueryString.ToString().Replace("?",""); // 拿到回调的参数串
string remove = "";
var requestqueryStrings = requestqueryString.Split("&");
foreach (var item in requestqueryStrings)
{
  var items = item.Split("=");
  if(items[0] == "SIGN")
  {
    remove = item;
  }
}
string initString = requestqueryString.Replace("&"+remove, "");    //回调的参数串去除SIGN信息 参与验签

RSASig rsa = new RSASig();

rsa.setPublicKey(AllPUB);   //AllPUB 商户后台下载的 商户公钥全部(不要截取后30位,是全部)  config或者appsetting信息

bool result = rsa.verifySigature(Request.Query["SIGN"], initString);

string success = Request.Query["SUCCESS"];

if (result && success == "Y")
{

  //todo 处理 支付订单状态更改

}

 


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
[C#]遍历对象属性、遍历结构体字段-fqzhang发布时间:2022-07-14
下一篇:
C#调用系统API内核简单样例发布时间:2022-07-14
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap