2024年3月9日发(作者:)

银行开发 代码分析

一、农业银行

Action: ayAction

方法 :result_agricultural_bank_payment

页面:直接response到农业

提交到银行方法 解析

//在后台显示支付银行

Bank(_AGRICULTURAL);

TransBank(tradePay, memberId);

// TODO:不同的银行有不通的封装方式

AgriculturalBankData agriculturalBankData = new

//2、生成农业银行的订单对象

Order tOrder = new Order();

erNo (erNo()); //设定

erDesc (erDesc()); //

erDate (erDate()); //

AgriculturalBankData(order);

订单编号 (必要信息)

设定订单说明

设定订单日期 (必要信息 - YYYY/MM/DD)

erTime (erTime()); //

设定订单时间 (必要信息 - HH:MM:SS)

erAmount(ouble(

erURL (erURL()); //设

//4、生成支付请求对象

PaymentRequest tPaymentRequest = new PaymentRequest();

er (tOrder); //设定支付请求的订单 (必要

OrderAmount())); //设定订单金额 (必要信息)

//

ductType(ductTyp

e()); //设定商品种类 (必要信息)

//_TYPE_ONE:非实体商品,如服务、IP卡、下载MP3、...

mentType(mentTyp

//_TYPE_TWO:实体商品

定订单网址

信息)

e()); //设定支付类型

//_TYPE_ABC:农行卡支付

//_TYPE_INT:国际卡支付

ultNotifyURL(ket(request,

k));//ultNotify

URL()); //设定支付结果回传网址 (必要信息)

//

}

银行返回关键代码解析:

Action: . EBankPayReturnAction

方法 :agriculturalReturn

页面:/home/bank/paySuccess

// 1、取得MSG参数,并利用此参数值生成支付结果对象

//5、传送支付请求并取得支付网址

//TrxResponse tTrxResponse = quest();

TrxResponse tTrxResponse =

if (ess()) {

//6、支付请求提交成功,将客户端导向支付页面

direct(ue("PaymentURL"));

}

else {

//7、支付请求提交失败,商户自定后续动作

}

return null;

return new

mentLinkType(men

tLinkType());//设定支付接入方式

chantRemarks(cha

ntRemarks()); //设定商户备注信息

ifyType(ifyType(

//0:URL页面通知

//1:服务器通知

)); //设定商户通知方式

PostRequest(1);

ModelAndView("/home/bank/agriculturalBankPayment");