建行来源码,建行代码ybla

源码大全 编辑:速达网络 日期:2024-04-01 12:19:55 2人浏览

金融行业也步入了数字化时代。作为我国金融体系的重要支柱,中国建设银行(以下简称“建行”)在数字化转型过程中,运用了大量的数字密码来保障业务安全、提升服务效率。本文将从建行来源码的角度,深入剖析其背后的科技力量,以期让读者对建行的数字化转型有更深入的了解。

一、建行来源码概述

1. 定义

建行来源码,即建行在业务流程中,为各类业务数据、用户信息等赋予的唯一标识码。这些标识码具有唯一性、安全性、稳定性等特点,在保障业务安全、提高服务效率等方面发挥着重要作用。

2. 类型

(1)客户识别码:用于识别客户的唯一标识码,如身份证号、银行**等。

(2)账户识别码:用于识别账户的唯一标识码,如账户号码、资金账号等。

建行来源码,建行代码ybla

(3)交易识别码:用于识别交易的唯一标识码,如交易流水号、订单号等。

(4)机构识别码:用于识别机构的唯一标识码,如分行代码、网点代码等。

二、建行来源码在业务中的应用

1. 保障业务安全

(1)防止欺诈:通过唯一标识码,建行可以准确识别客户身份,有效防范恶意欺诈行为。

(2)数据安全:对涉及客户隐私的数据进行加密处理,确保数据安全。

2. 提升服务效率

(1)简化业务流程:通过来源码,客户可以快速完成身份验证、账户查询等操作,提高业务办理效率。

(2)优化风险管理:借助来源码,建行可以实时监控业务风险,及时采取措施,保障业务稳健运行。

3. 深化金融服务创新

(1)金融科技:利用来源码,建行可以探索人工智能、区块链等新兴技术在金融领域的应用,提升金融服务水平。

(2)个性化服务:通过分析来源码所包含的客户信息,建行可以为不同客户提供定制化的金融产品和服务。

三、建行来源码的发展趋势

1. 技术融合:随着5G、物联网等新兴技术的不断发展,建行来源码将在更多领域得到应用,实现技术与业务的深度融合。

2. 国际化:在全球金融领域,建行来源码将发挥更大的作用,助力我国金融业走向世界。

3. 智能化:借助人工智能技术,建行来源码将实现自我学习和优化,进一步提升金融服务能力。

建行来源码作为中国建设银行数字化转型的重要工具,在保障业务安全、提升服务效率、深化金融服务创新等方面发挥着重要作用。未来,随着科技的不断发展,建行来源码将在更多领域得到应用,助力我国金融业实现高质量发展。

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,如下所示:

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

参与MAC运算的字符及其顺序如下:

MERCHANTID=123456789&POSID=000000000&BRANCHID=110000000&ORDERID=***********&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.HashPasswordForStoringInConfigFile(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 = "qwertyuioplkjhgfdsazxcvbnm901234";

//URL

objcbbText.Url = "";

//要加密的串

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))

{

这一部分代码是记录日志的,大家可以参考一下

我们现在只要运行程序就会出现如下界面所显示的内容

下面的操作就是输入你的**密码就可以了,

转账成功后我们这一步的工作就算是做完了

分享到

文章已关闭评论!