C# 建行聚合支付


建行聚合支付

網上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 處理 支付訂單狀態更改

}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM