<?php
header ( 'Content-type:text/html;charset=utf-8' );
include_once $_SERVER ['DOCUMENT_ROOT'] . '/upacp_demo_identification/sdk/acp_service.php';
include_once $_SERVER ['DOCUMENT_ROOT'] . '/upacp_demo_identification/demo/api_99_identification/DemoBase.php';
/**
 * 重要：联调测试时请仔细阅读注释！
 * 
 * 产品：综合认证服务产品<br>
 * 交易：公民身份证简项认证及返回照片 <br>
 * 日期：2018-03<br>
 * 版权： 中国银联<br>
 * 说明：以下代码只是为了方便商户测试而提供的样例代码，商户可以根据自己需要，按照技术文档编写。该代码仅供参考，不提供编码性能规范性等方面的保障<br>
 */

$customerInfo = array(
		'certifTp' => $_POST["certifTp"],
		'certifId' => $_POST["certifId"],
		'customerNm' => $_POST["customerNm"]
);

$params = array(
		//以下信息非特殊情况不需要改动
		'version' => com\unionpay\acp\sdk\SDKConfig::getSDKConfig()->version,//版本号
		'signMethod' => com\unionpay\acp\sdk\SDKConfig::getSDKConfig()->signMethod,//签名方法
		'encoding' => 'utf-8',		           //编码方式
		'txnType' => '85',		               //交易类型
		'txnSubType' => '01',		           //交易子类
		'bizType' => '000803',		           //业务类型
		'encryptCertId' => com\unionpay\acp\sdk\AcpService::getEncryptCertId(), //加密证书序列号
		'productId' => $_POST["productId"],	//产品编码//P024：仅简项认证,Q024：简项认证并返回照片
		
		//TODO 以下信息需要填写
		'merId' => $_POST["merId"],		//商户代码，请改自己的测试商户号，此处默认取demo演示页面传递的参数
		'orderId' => $_POST["orderId"],	//商户订单号，如上送短信验证码，请填写获取验证码时一样的orderId，此处默认取demo演示页面传递的参数
		'txnTime' => $_POST["txnTime"],	//订单发送时间，如上送短信验证码，请填写获取验证码时一样的txnTime，此处默认取demo演示页面传递的参数
		 
		'customerInfo' =>com\unionpay\acp\sdk\AcpService::getCustomerInfoWithEncrypt($customerInfo)
);

com\unionpay\acp\sdk\AcpService::sign ( $params ); // 签名
$url = com\unionpay\acp\sdk\SDKConfig::getSDKConfig()->zhrzFaceTransUrl;

$result_arr = com\unionpay\acp\sdk\AcpService::post ( $params, $url );
if(count($result_arr)<=0) { //没收到200应答的情况
	printResult ( $url, $params, "" );
	return;
}

printResult ($url, $params, $result_arr ); //页面打印请求应答数据

if (!com\unionpay\acp\sdk\AcpService::validate ($result_arr) ){
	echo "应答报文验签失败<br>\n";
	return;
}


echo "应答报文验签成功<br>\n";
if ($result_arr["respCode"] == "00"){
    //TODO
    echo "交易成功。<br>\n";
}else if($result_arr["respCode"] == "05"){
	//TODO
	//发交易查询确定交易状态
	echo "返05失败：" . $result_arr["respMsg"] . "。<br>\n";
}else {
    //其他应答码做以失败处理
     //TODO
     echo "失败：" . $result_arr["respMsg"] . "。<br>\n";
}