广州传奇网络

地址:广州市天河区东圃大马路富华楼C座

电话:13808825895

邮箱:gz020wbs@163.com

QQ:1564443073

网址:http://www.020wbs.com/

首页 > 二次开发Ecshop二次开发 > 网银支付直通插件实现方法

二次开发Ecshop二次开发

二次开发Ecshop二次开发

网银支付直通插件实现方法

因为客户要求做了这个插件后 征求网友意见 大家也有这需求,今天把做法贴上来。

原理:选择这些银行是另外传递一个值 这个值被网银获取到后直接跳转到对应银行支付页面。

网银直通支付:

1、后台开通网银支付 ,在 后台执行sql语句里 输入 select * from ecs_payment 查看网银对应的pay_id

2、打开flow.dwt 找到显示支付列表的地方 咱为了吧网页支付单独显示 所以需要做判断 <!-- {foreach from=$payment_list name=no item=payment} --> 这个循环里进行判断 比如我们知道网银是pay_id 是3 我们这写{if $payment.pay_id neq 3}把不是网银的在这显示 {/if}<!-- {/foreach} 循环支付方式 -->

3、网银部分写到循环外包,
<table width="80%" border="0" cellspacing="0" cellpadding="0" class="ordertable" >
<tr>
<td>网上银行</td>
</tr>
<tr>
<td>
<input type="radio" name="payment" id="chinabak" value="3" style="display:none;"/>
<div class="pay_car">
<ul>
<li><input name="bank" type="radio" value="308" id="chinabaklist" onclick="selectpayment_chanpay(3)" class="bank_put" /> <img src="images/banklogo/icon_zsyh_s.gif
" alt="招商银行" align="middle" /></li>
<li><input name="bank" type="radio" value="105" id="chinabaklist" onclick="selectpayment_chanpay(3)" class="bank_put" /> <img src="images/banklogo/icon_ccb_s.gif" alt="中国建设银行" align="middle" /></li>
<li><input name="bank" type="radio" value="103" id="chinabaklist" onclick="selectpayment_chanpay(3)" class="bank_put"/> <img src="images/banklogo/icon_abc_s.gif" alt="中国农业银行" align="middle" /></li>

<li><input name="bank" type="radio" value="104" id="chinabaklist" onclick="selectpayment_chanpay(3)" class="bank_put" /> <img src="images/banklogo/icon_bofc_s.gif" alt="中国银行" align="middle" /></li>
<li><input name="bank" type="radio" value="301" id="chinabaklist" onclick="selectpayment_chanpay(3)" class="bank_put"/> <img src="images/banklogo/icon_comm_s.gif" alt="交通银行" align="middle" /></li>

<li><input name="bank" type="radio" value="311" id="chinabaklist" onclick="selectpayment_chanpay(3)" class="bank_put"/> <img src="images/banklogo/icon_pingan_s.gif" alt="平安银行" align="middle" /></li>
<li><input name="bank" type="radio" value="309" id="chinabaklist" onclick="selectpayment_chanpay(3)" class="bank_put" /> <img src="images/banklogo/icon_cib_s.gif" alt="兴业银行" align="middle" /></li>
<li><input name="bank" type="radio" value="305" id="chinabaklist" onclick="selectpayment_chanpay(3)" class="bank_put" /> <img src="images/banklogo/icon_cmbc_s.gif" alt="中国民生银行" align="middle" />
<div id="msyh" style="display:none;background:url(https://pay3.chinabank.com.cn/i/line.gif) no-repeat top left;padding-left:13px;margin:10px 0 0 30px;" ctrldisp="true">
<input type="radio" name="minsheng" value="305" id="chinabaklist" onclick="selectpayment_chanpay(3)" class="bank_put"/>民生卡支付<br />
<input type="radio" name="minsheng" value="3051" id="chinabaklist" onclick="selectpayment_chanpay(3)" class="bank_put"/>民生网银支付</div></li>
<li><input name="bank" type="radio" value="306" id="chinabaklist" onclick="selectpayment_chanpay(3)" class="bank_put"/> <img src="images/banklogo/icon_gdb_s.gif" alt="广东发展银行" align="middle" /></li>
<li><input name="bank" type="radio" value="307" id="chinabaklist" onclick="selectpayment_chanpay(3)" class="bank_put"/> <img src="images/banklogo/icon_sdb_s.gif" alt="深圳发展银行" align="middle" /></li>
<li><input name="bank" type="radio" value="314" id="chinabaklist" onclick="selectpayment_chanpay(3)" class="bank_put"/> <img src="images/banklogo/icon_spdb_s.gif" alt="海浦发展银行" align="middle" /></li>
<li><input name="bank" type="radio" value="313" id="chinabaklist" onclick="selectpayment_chanpay(3)" class="bank_put" /> <img src="images/banklogo/icon_itic_s.gif" alt="中信银行" align="middle" /></li>
<li><input name="bank" type="radio" value="312" id="chinabaklist" onclick="selectpayment_chanpay(3)" class="bank_put" /> <img src="images/banklogo/icon_cebb_s.gif" alt="光大银行" align="middle" /></li>
<li><input name="bank" type="radio" value="316" id="chinabaklist" onclick="selectpayment_chanpay(3)" class="bank_put" /> <img src="images/banklogo/icon_nbbank_s.gif" alt="宁波银行" align="middle" /></li>

<li><input name="bank" type="radio" value="3279" id="chinabaklist" onclick="selectpayment_chanpay(3)" class="bank_put"/> <img src="images/banklogo/icon_zggsyh_s.gif" alt="中国工商银行" align="middle" /></li>

</ul>
</div>
</td>
</tr></table>
4、打开shopping_flow.js 添加selectpayment_chanpay这个函数
function selectpayment_chanpay(id)
{
document.getElementById("chinabak").checked=true;
Ajax.call('flow.php?step=select_payment', 'payment=' + id, orderSelectedResp**e, 'GET', 'JSON');
}
因为我们银行input 的name值 和默认支付方式的name值不一样 所以 当选了银行支付后 再去选 支付宝 银行支付的选择不能去掉 所以 我们需要 修改 selectPayment 这个函数 在这个函数里添加 getRadioValue('chinabaklist');

同时 我们复制
function getRadioValue(name){
var radioes = document.getElementsByName(name);

for(var i=0;i<radioes.length;i++)
{
radioes[i].checked = false;
}
}
到shopping_flow.js

5、打开flow.php 在2031行左右 加入
if($order['pay_id'] =='3')
{
$order['pmode_id'] = $_POST['bank'];
}如果pay_id 是3
6、打开include/modules/paymet/chinabank.php 118行左右加入$def_url .= "<input type=HIDDEN name='pmode_id' value='".$order['pmode_id']."'>";