首先,网银接口的话,需要去申请,申请后会提供三个文件的php版本的例子。
autoReceives是表示自动对账。暂时我没有使用到。剩下的两个文件,一个是发送的模板,一个是接收到的页面的模板。
拿到接口后,需要先对这几个文件进行配置和测试,对这几个文件里面的商家号和key的值进行替换。
D:\Newjoyowo\trunk\trunk\aaaa\chinabank 放在这个目录下 然后http://local.jysocial.dev/aaaa/index.html
提供的接口只要输入对应的key和商户名就好了
把chinabank logo chinabank.html(名字改成index.php)放到那个目录即可
根据自己的网站的情况。首先找到付款页面所在的地方。
首先,在扩展里面,添加上/protected/extensions/unionpay这个文件夹。这个文件夹对应的信息,得现在main.php这个配置文件里面进行配置。首先在import那个数组里面,加上 ‘application.extensions.unionpay.*’,
这样一句话,表示将unionpay这个扩展文件夹下的所有文件都引入系统。
再然后配置unionpay这个的信息,第一个class表示new unionpay这个extension的时候,要调用的文件的目录。然后key表示密码,mid表示商家号,这两个都是要去网银那里申请的。最后那个v_url表示你支付完后跳转回来的路径,是绝对路径,注意,在本地,测试和线上的时候,一定要记得修改这个的配置。
'unionpay'=>array(
'class'=>'application.extensions.unionpay.UnionpayProxy',
'key'=> 'joyowoyaobaohuhao990',
'v_url'=>'http://test.joyowo.com/hrms/order/unionpayreturn',
'v_mid'=>'23221599',
),
然后根据从支付宝那里学到的知识,创建几个我们需要的文件。
/protected/extensions/unionpay/UnionpayProxy.php //这个类是网银支付的类,里面对我在mian.php那个文件夹里面配置的信息进行了初始化,然后还提供一个bindform的方法,用来进行表单提交,然后转移到网银支付的界面。
<?php
class UnionpayProxy extends CComponent
{
public $v_oid = "";
public $key = "";
public $v_url = "";
public $v_mid = "";
public function init() {
Yii::import('application.extensions.unionpay.class.*');
}
public function buildForm($request) {
$params = array(
'v_oid'=> $this->v_oid,
'key' => $this->key,
'v_url' => $this->v_url,
'v_mid' => $this->v_mid,
);
$params = array_merge($params, $request->getParams());
$params = $this->para_filter($params);
$service = new UnionpayService($params);
return $service->build_form();
}
/**除去数组中的空值和签名参数
*$parameter 签名参数组
*return 去掉空值与签名参数后的新签名参数组
*/
public function para_filter($parameter) {
$para = array();
while (list ($key, $val) = each ($parameter)) {
if($key == "sign" || $key == "sign_type" || $val</