工行支付接口的问题

2016-07-07 15:01 来源:www.chinab4c.com 作者:ecshop专家

我在做EC的工行支付接口,
$parameters = array(
'interfaceName' => "ICBC_PERBANK_B2C", //接口名称
'interfaceVersion' => "1.0.0.3", //接口版本号
'orderid' => $order['order_sn'] . $order['log_id'],
'amount' =>$order['order_amount'],
'curType' => '001', //支付币种--目前工行只支持使用人民币(001)支付
'merID' => $payment['icbcpay_merID'], //商户代码
'merAcct' => $payment['icbcpay_merAcct'], //icbcpay_merAcct-商城账号
'verifyJoinFlag' => 0, //检验联名标志-取值0不检验客户是否与商户联名,按上送金额扣帐
'notifyType' => 'HS', //通知类型-取值HS在交易完成后实时将通知信息以HTTP协议POST方式,主动发送给商户,
'merURL' => "http://www.yysts.cn/respond.php",
'resultType' => 0, //结果发送类型-取值0:无论支付成功或者失败,银行都向商户发送交易通知信息
'merHint' => ''.$order['log_id'],
'orderDate' => local_date('YmdHis', $order['add_time'])
);

$merSignMsg_str="";
$merSignMsg_str.='<?xml version=”1.0″ encoding=”GBK” standalone=”no”?>';
$merSignMsg_str.='<B2CReq>';
$merSignMsg_str.="<interfaceName>".$parameters['interfaceName']."</interfaceName>";
$merSignMsg_str.="<interfaceVersion>".$parameters['interfaceName']."</interfaceVersion>";
$merSignMsg_str.="<orderInfo>";
$merSignMsg_str.="<orderDate>".$parameters['orderDate']."</orderDate>";
$merSignMsg_str.="<orderid>".$parameters['orderid']."</orderid>";
$merSignMsg_str.="<amount>".$parameters['amount']."</amount>";
$merSignMsg_str.="<curType>".$parameters['curType']."</curType>";
$merSignMsg_str.="<merID>".$parameters['merID']."</merID>";
$merSignMsg_str.="<merAcct>".$parameters['merAcct']."</merAcct>";
$merSignMsg_str.="</orderInfo>";
$merSignMsg_str.="<custom>";
$merSignMsg_str.="<verifyJoinFlag>".$parameters['verifyJoinFlag']."</verifyJoinFlag>";
$merSignMsg_str.="<Language></Language>";
$merSignMsg_str.="</custom>";
$merSignMsg_str.="<message>";
$merSignMsg_str.="<goodsID></goodsID>";
$merSignMsg_str.="<goodsName></goodsName>";
$merSignMsg_str.="<goodsNum></goodsNum>";
$merSignMsg_str.="<carriageAmt></carriageAmt>";
$merSignMsg_str.="<merHint>".$parameters['merHint']."</merHint>";
$merSignMsg_str.="<remark1></remark1>";
$merSignMsg_str.="<remark2></remark2>";
$merSignMsg_str.="<merURL>".$parameters['merURL']."</merURL>";
$merSignMsg_str.="<merVAR></merVAR>";
$merSignMsg_str.="</message>";
$merSignMsg_str.="</B2CReq>";

//---------------------------------------------------------
//-- 初始化工行支付对象
$cur_dir='com';
$icbcPayObj= new com('ICBCEBANKUTIL.B2CUtil');
$rc=$icbcPayObj->init($cur_dir.'/'."public.crt",$cur_dir.'/'."ceshi.crt",$cur_dir.'/'."ceshi.key",'11111111');
if($rc != 0){
$errorCode = "初始化失败 调试代码:".$rc;
return $errorCode;
}
//$bb->init(“D:\icbc\admin.crt”,”D:\icbc\my.crt”,”D:\icbc\my.key”,”88888″);
//交易数据,要进行base64编码
$trandata = base64_encode($merSignMsg_str);
//订单签名数据merSignMsg的值
$merSignMsg = $icbcPayObj->signC($merSignMsg_str,strlen($merSignMsg_str));
//获取商城**公钥merCert的值
$merCert=$icbcPayObj->getCert(1);
测试的时候提示:初始化失败,代码-110;
请高手指教。
这个鸟工行接口真麻烦,招行接口好做多了。