導航:首頁 > 軟體資訊 > app銀行介面怎麼弄

app銀行介面怎麼弄

發布時間:2023-07-29 10:10:37

㈠ ASP網站的建行網銀介面怎麼弄啊

建行的介面相對於支付寶,Q業務充值和移動,聯通,電信,繳費介面要復雜一些,介面分為兩塊,一塊是商戶到銀行,另外一塊是銀行到商戶
1) 客戶登錄商戶網站,選擇商戶網站商品。
2) 客戶將選好的商品放入購物車,並下訂單。商戶提供商戶代碼、訂單號、合計金額等信息;
3) 客戶選擇代理付款的銀行-建行,確認後,商戶代碼、訂單信息、合計金額通過瀏覽器URL傳到建行網上銀行站點; 網上銀行自動顯示支付頁面,客戶首先選擇是否使用建行證書,然後輸入龍卡號和密碼,選擇「確定」。支付信息經加密後傳送到網銀中心;
4) 網銀中心接收客戶支付信息,轉發到銀行後台業務處理系統;
5) 銀行後台業務系統處理後,返回處理結果給網銀;
6) 網銀通知客戶支付(扣帳)是否成功。如果扣帳成功,提示客戶注意接收商戶返回的送貨信息;對於不需要立即響應的商戶, 跳過步驟7、8;
7) 對於需要立即響應的商戶,如果支付成功,網銀將成功結果反饋給商戶。若支付失敗,不返回給商戶信息
8) 對於需要立即響應的商戶,收到銀行扣帳成功的通知後,發給客戶送貨信息。如客戶收到銀行支付(扣帳)成功通知(步驟6), 但未收到商戶送貨信息,則需向商戶查詢。 日終時,商戶與開設結算帳戶的建設銀行(網銀成員行)進行流水核對,對已支付但未得到商戶確認的交易進行退款處理。

商戶到銀行

--------------------------------------------------------------------------------

其實這一步是把自己卡里的錢轉到商戶的帳上,就是轉賬,

代碼實現其實很簡單,我們先來分析一上要傳的參考吧

個人客戶在商戶網站選擇商品後,商戶網站生成以下信息,傳送到建行網站:

域名
名稱
類型
備注

MERCHANTID
商戶代碼
CHAR(9)
由建行統一分配

POSID
商戶櫃台代碼
CHAR(9)
由建行統一分配,預設為000000000

BRANCHID
分行代碼
CHAR(9)
由建行統一指定

ORDERID
定單號
CHAR(30)
由商戶提供,最長30位,按實際長度給出

PAYMENT
付款金額
NUMBER(16,2)
由商戶提供,按實際金額給出

CURCODE
幣種
CHAR(2)
預設為01-人民幣

REMARK1
備注1
CHAR(30)
網銀不處理,直接傳到城綜網

REMARK2
備注2
CHAR(30)
網銀不處理,直接傳到城綜網

TXCODE
交易碼
CHAR(6)
由建行統一分配為520100

MAC
MAC校驗域
CHAR(32)
採用標准MD5演算法,由商戶實現

註:商戶要保證定單號的唯一性。

為了加快站點間介面開發,站點間介面的參數傳送採用普通的URL方式,商戶將以上信息包含在FORM中,在SUBMIT後將生成URL,如下所示:

https://ibsbjstar.ccb.com.cn/app/ccbMain?MERCHANTID=123456789&POSID=000000000&BRANCHID=110000000&ORDERID=19991101234&PAYMENT=500.00&CURCODE=01

&TXCODE=520100&REMARK1=&REMARK2=&MAC=

參與MAC運算的字元及其順序如下:

MERCHANTID=123456789&POSID=000000000&BRANCHID=110000000&ORDERID=19991101234&PAYMENT=500.00&CURCODE=01&

TXCODE=520100&REMARK1=&REMARK2=

註:字元串中變數名必須是大寫字母。

這是建行文檔說的說明,很明顯這是使用Http的方式來實現的

下面我們動手來實現 一下吧,

我是把所有的參數生成了一個實體類這樣方便,而且規范化,

來看看這個Model吧

代碼
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ClientSystem.AliPay
{
///
/// 工行傳入參數
///
public class CBBTextModel
{

private string _MERCHANTID = "";
///
/// 商戶代碼 由建行統一分配
///
public string MERCHANTID
{
get { return _MERCHANTID; }
set { _MERCHANTID = value; }
}

private string _POSID = "";
///
/// 商戶櫃台代碼 由建行統一分配,預設為000000000
///
public string POSID
{
get { return _POSID; }
set { _POSID = value; }
}

private string _BRANCHID = "";
///
/// 分行代碼 由建行統一指定
///
public string BRANCHID
{
get { return _BRANCHID; }
set { _BRANCHID = value; }
}

private string _ORDERID = "";
///
/// 定單號 由商戶提供,最長30位,按實際長度給出
///
public string ORDERID
{
get { return _ORDERID; }
set { _ORDERID = value; }
}

private decimal _PAYMENT = 0m;
///
/// 付款金額 由商戶提供,按實際金額給出
///
public decimal PAYMENT
{
get { return _PAYMENT; }
set { _PAYMENT = value; }
}

private string _CURCODE = "";
///
/// 幣種 預設為01-人民幣
///
public string CURCODE
{
get { return _CURCODE; }
set { _CURCODE = value; }
}

private string REMARK1 = "";
///
/// 備注1 網銀不處理,直接傳到城綜網
///
public string REMARK11
{
get { return REMARK1; }
set { REMARK1 = value; }
}

private string REMARK2 = "";
///
/// 備注2 網銀不處理,直接傳到城綜網
///
public string REMARK21
{
get { return REMARK2; }
set { REMARK2 = value; }
}

private string _TXCODE = "";
///
/// 交易碼 由建行統一分配為520100
///
public string TXCODE
{
get { return _TXCODE; }
set { _TXCODE = value; }
}

private string _MAC = "";
///
/// MAC校驗域 採用標准MD5演算法,由商戶實現
///
public string MAC
{
get { return _MAC; }
set { _MAC = value; }
}

private string _url = "";
///
/// URL
///
public string Url
{
get { return _url; }
set { _url = value; }
}

}
}

我們來准備兩個方法吧,一個是Http連接來使用的一個是Md5加密,因為在文檔里寫到要使用Md5加密哦

代碼
#region //預定義方法或是變數

///
/// 請求指定 URL 資源,並獲取響應結果
///
/// 需要請求的 URL 資源
///
/// 響應結果;
/// 出現任意異常,均返回字串"Runtime Error"
///
private string RequestContent(string url)
{
string content = string.Empty;
try
{
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
request.KeepAlive = false;
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
StreamReader reader = new StreamReader(response.GetResponseStream(), Encoding.Default);
content = reader.ReadToEnd();
reader.Close();
}
catch (Exception)
{
content = "Runtime Error";
}
return content;
}

///
/// 傳入明文,返回用MD%加密後的字元串
///
/// 要加密的字元串
/// 用MD5加密後的字元串
public static string ToMD5(string str)
{
return System.Web.Security.FormsAuthentication.(str, "md5");
}

#endregion

看一下充值按鈕下面實現吧

代碼
if (textBox1.Text.Trim() == "" || textBox1.Text.Trim() == null)
{
MessageBoxForm objm = new MessageBoxForm("您輸入的金額不能為空!!!", "提示信息");
objm.ShowDialog();
return;
}
string orid = OfficeInfo.ofId.ToString().Trim() + "_" + DateTime.Now.Ticks.ToString();
Alipay objalipay = new Alipay();
objalipay.APID = orid;
objalipay.addTime = DateTime.Now;
objalipay.total_fee = Convert.ToDecimal(textBox1.Text.ToString().Trim());
objalipay.trade_status = "客戶端提交";
objalipay.Text1 = DateTime.Now.ToString();
objalipay.Text2 = "建行介面";
objalipay.Text3 = "";
objalipay.Text4 = "";
objalipay.Text5 = "";

decimal money = Convert.ToDecimal(user.GetListBy(OfficeInfo.ofPara1, 13).ToString().Trim());
if (money > Convert.ToDecimal(textBox1.Text.Trim()))
{
MessageBoxForm objm = new MessageBoxForm("你輸入的最小金額不能低於" + money + "元!!!", "提示信息");
objm.ShowDialog();
return;
}

if (user.AddAlipay(OfficeInfo.ofPara1, objalipay))
{
CBBTextModel objcbbText = new CBBTextModel();

//商戶代碼 由建行統一分配
objcbbText.MERCHANTID = "105411248160006";

//商戶櫃台代碼 由建行統一分配,預設為000000000

objcbbText.POSID = "768362719";

//分行代碼 由建行統一指定
objcbbText.BRANCHID = "410000000";

// 定單號 由商戶提供,最長30位,按實際長度給出
objcbbText.ORDERID = orid.Trim();

//付款金額 由商戶提供,按實際金額給出
objcbbText.PAYMENT = Convert.ToDecimal(textBox1.Text.Trim());

//幣種 預設為01-人民幣
objcbbText.CURCODE = "01";

//備注1 網銀不處理,直接傳到城綜網
objcbbText.REMARK11 = "";

//備注2 網銀不處理,直接傳到城綜網
objcbbText.REMARK21 = "";

//交易碼 由建行統一分配為520100
objcbbText.TXCODE = "520100";

//MAC校驗域 採用標准MD5演算法,由商戶實現
objcbbText.MAC = "";

//URL
objcbbText.Url = "https://ibsbjstar.ccb.com.cn/app/ccbMain";

//要加密的串
string canshu = "MERCHANTID=" + objcbbText.MERCHANTID.Trim() +
"&POSID=" + objcbbText.POSID.Trim() + "&BRANCHID=" + objcbbText.BRANCHID.Trim()
+ "&ORDERID=" + objcbbText.ORDERID.Trim() + "&PAYMENT=" + objcbbText.PAYMENT.ToString().Trim()
+ "&CURCODE=" + objcbbText.CURCODE + "&TXCODE=" + objcbbText.TXCODE.Trim()
+ "&REMARK1=&REMARK2=";

objcbbText.MAC = ToMD5(canshu.Trim()).ToLower().Trim();
string strURl = objcbbText.Url + "?" + canshu + "&MAC=" + objcbbText.MAC.Trim();
webBrowser1.Url = new Uri(strURl.Trim());
}
}

在這里大家一定要注意把 objcbbText.MAC = ToMD5(canshu.Trim()).ToLower().Trim();
加密後的字元串改成小寫的

上面所提到的

代碼
string orid = OfficeInfo.ofId.ToString().Trim() + "_" + DateTime.Now.Ticks.ToString();
Alipay objalipay = new Alipay();
objalipay.APID = orid;
objalipay.addTime = DateTime.Now;
objalipay.total_fee = Convert.ToDecimal(textBox1.Text.ToString().Trim());
objalipay.trade_status = "客戶端提交";
objalipay.Text1 = DateTime.Now.ToString();
objalipay.Text2 = "建行介面";
objalipay.Text3 = "";
objalipay.Text4 = "";
objalipay.Text5 = "";

decimal money = Convert.ToDecimal(user.GetListBy(OfficeInfo.ofPara1, 13).ToString().Trim());
if (money > Convert.ToDecimal(textBox1.Text.Trim()))
{
MessageBoxForm objm = new MessageBoxForm("你輸入的最小金額不能低於" + money + "元!!!", "提示信息");
objm.ShowDialog();
return;
}

if (user.AddAlipay(OfficeInfo.ofPara1, objalipay))
{

這一部分代碼是記錄日誌的,大家可以參考一下

我們現在只要運行程序就會出現如下界面所顯示的內容

下面的操作就是輸入你的卡號密碼就可以了,

轉賬成功後我們這一步的工作就算是做完了

㈡ 新開發的APP,帶有便民繳費功能,如何與銀行對接

新開發的APP,帶有便民交費功能,可以拿著身份證去銀行對接。

閱讀全文

與app銀行介面怎麼弄相關的資料

熱點內容
c語言編譯錯誤變黑 瀏覽:70
手機軟體加密了怎麼解開 瀏覽:887
linux中的ln命令例子 瀏覽:142
為什麼玩cf第一次進入伺服器很慢 瀏覽:967
工作單源碼 瀏覽:619
安卓如何關閉app自動升級 瀏覽:137
new文件夾怎麼打開 瀏覽:633
安卓51如何優化 瀏覽:177
活塞式壓縮機原理圖 瀏覽:845
水環式壓縮機工作原理 瀏覽:715
阿里雲伺服器安裝後怎麼使用 瀏覽:933
去做APP開戶有什麼危險沒得啊 瀏覽:696
8分之1乘58演算法 瀏覽:171
php提交過濾 瀏覽:358
豪斯曼檢驗stata命令 瀏覽:771
雲看地是什麼APP 瀏覽:886
數學指南pdf 瀏覽:860
phpcurldll64位 瀏覽:984
程序員脫產一年半 瀏覽:853
hr招程序員有什麼條件 瀏覽:591