config = $config; $this->config['gateway_url'] = 'https://www.alipay.com/cooperate/gateway.do?'; $this->config['gateway_method'] = 'POST'; $this->config['notify_url'] = return_url('chinabank',1); $this->config['return_url'] = return_url('chinabank'); } public function setup(){ $modules['pay_name'] = L('Chinabank_pay_name'); $modules['pay_code'] = 'Chinabank'; $modules['pay_desc'] = L('Chinabank_pay_desc'); $modules['is_cod'] = '0'; $modules['is_online'] = '1'; $modules['author'] = 'Ainaphp'; $modules['website'] = 'http://www.chinabank.com.cn'; $modules['version'] = '1.0.0'; $modules['config'] = array( array('name' => 'chinabank_account', 'type' => 'text', 'value' => ''), array('name' => 'chinabank_key', 'type' => 'text', 'value' => ''), ); return $modules; } public function get_code($info,$value){ $data_vid = trim($this->config['chinabank_account']); $data_orderid = $this->config['order_sn']; $data_vamount = $this->config['order_amount']; $data_vmoneytype = 'CNY'; $data_vpaykey = trim($this->config['chinabank_key']); $data_vreturnurl = $this->config['return_url']; $remark1 = $this->config['body']; $MD5KEY =$data_vamount.$data_vmoneytype.$data_orderid.$data_vid.$data_vreturnurl.$data_vpaykey; $MD5KEY = strtoupper(md5($MD5KEY)); $def_url = '
'; $def_url .= ""; $def_url .= ""; $def_url .= ""; $def_url .= ""; $def_url .= ""; $def_url .= ""; $def_url .= ""; $def_url .= ""; $def_url .= "
"; return $def_url; } public function respond() { $v_oid = trim($_POST['v_oid']); //订单编号 $v_pmode = trim($_POST['v_pmode']); //支付方式 $v_pstatus = trim($_POST['v_pstatus']); //支付状态 20(表示支付成功)30(表示支付失败) $v_pstring = trim($_POST['v_pstring']); //支付结果信息 $v_amount = trim($_POST['v_amount']); //订单总金额 $v_moneytype = trim($_POST['v_moneytype']); //币种 $remark1 = trim($_POST['remark1' ]); //备注字段1 $remark2 = trim($_POST['remark2' ]); //备注字段2 $v_md5str = trim($_POST['v_md5str' ]); //订单MD5校验码 /** * 重新计算md5的值 */ $key = $this->config['chinabank_key']; $md5string=strtoupper(md5($v_oid.$v_pstatus.$v_amount.$v_moneytype.$key)); /* 检查秘钥是否正确 */ if ($v_md5str==$md5string) { if ($v_pstatus == '20') { order_pay_status($v_oid,'2'); return true; } } else { return false; } } } ?>