'chinabank_account', 'type' => 'text', 'value' => ''), array('name' => 'chinabank_key', 'type' => 'text', 'value' => ''), ); return; } /** * 类 */ class chinabank { /** * 构造函数 * * @access public * @param * * @return void */ function chinabank() { } function __construct() { $this->chinabank(); } /** * 生成支付代码 * @param array $order 订单信息 * @param array $payment 支付方式信息 */ function get_code($order, $payment) { $data_vid = trim($payment['chinabank_account']); $data_orderid = $order['order_sn']; $data_vamount = $order['order_amount']; $data_vmoneytype = 'CNY'; $data_vpaykey = trim($payment['chinabank_key']); $data_vreturnurl = return_url(basename(__FILE__, '.php')); if (empty($order['order_id'])) { $remark1 = "voucher"; //商户需要在支付结果通知中转发的商户参数二 } else { $remark1 = ''; } $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; } /** * 响应操作 */ function respond() { $payment = get_payment(basename(__FILE__, '.php')); $v_oid = trim($_POST['v_oid']); $v_pmode = trim($_POST['v_pmode']); $v_pstatus = trim($_POST['v_pstatus']); $v_pstring = trim($_POST['v_pstring']); $v_amount = trim($_POST['v_amount']); $v_moneytype = trim($_POST['v_moneytype']); $remark1 = trim($_POST['remark1' ]); $remark2 = trim($_POST['remark2' ]); $v_md5str = trim($_POST['v_md5str' ]); /** * 重新计算md5的值 */ $key = $payment['chinabank_key']; $md5string=strtoupper(md5($v_oid.$v_pstatus.$v_amount.$v_moneytype.$key)); /* 检查秘钥是否正确 */ if ($v_md5str==$md5string) { //验证通过后,将订单sn转换为ID 来操作ec订单表 if ($remark1 == 'voucher') { $v_oid = get_order_id_by_sn($v_oid, "true"); } else { $v_oid = get_order_id_by_sn($v_oid); } if ($v_pstatus == '20') { /* 改变订单状态 */ order_paid($v_oid); return true; } } else { return false; } } } ?>