<?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>
 * 日期：2017-12<br>
 * 版权： 中国银联<br>
 * 说明：以下代码只是为了方便商户测试而提供的样例代码，商户可以根据自己需要，按照技术文档编写。该代码仅供参考，不提供编码性能规范性等方面的保障<br>
 */
 
//TODO 填寫卡信息
$accNo = $_POST["accNo"];
$customerInfo = array();

// B136：银行卡二要素（卡号、姓名）
// B144：银行卡二要素（卡号、证件类型、证件号）
// B132：银行卡二要素（卡号、手机号）
// B152：银行卡三要素（卡号、身份证号、姓名）
// B156：银行卡四要素（卡号、手机号、身份证号、姓名）
// B254：银行卡五/六要素（卡号、姓名、证件类型、证件号、手机号） + 密码（借记卡）或cvn2、有效期（贷记卡）
$productId = $_POST["productId"];

if($productId == 'B136') {
	$customerInfo = array(
			'customerNm' => $_POST["customerNm"], //姓名
	);
} else if($productId == 'B144') {
	$customerInfo = array(
			'certifTp' => $_POST["certifTp"], //证件类型，01-身份证
			'certifId' => $_POST["certifId"], //证件号，15位身份证不校验尾号，18位会校验尾号，请务必在前端写好校验代码
	);
} else if($productId == 'B132') {
	$customerInfo = array(
			'phoneNo' => $_POST["phoneNo"], //手机号
	);
} else if($productId == 'B152') {
	$customerInfo = array(
			'certifTp' => $_POST["certifTp"], //证件类型，01-身份证
			'certifId' => $_POST["certifId"], //证件号，15位身份证不校验尾号，18位会校验尾号，请务必在前端写好校验代码
			'customerNm' => $_POST["customerNm"], //姓名
	);
} else if($productId == 'B156') {
	$customerInfo = array(
			'phoneNo' => $_POST["phoneNo"], //手机号
			'certifTp' => $_POST["certifTp"], //证件类型，01-身份证
			'certifId' => $_POST["certifId"], //证件号，15位身份证不校验尾号，18位会校验尾号，请务必在前端写好校验代码
			'customerNm' => $_POST["customerNm"], //姓名
	);
} else if($productId == 'B254') {
	$customerInfo = array(
			'phoneNo' => $_POST["phoneNo"], //手机号
			'certifTp' => $_POST["certifTp"], //证件类型，01-身份证
			'certifId' => $_POST["certifId"], //证件号，15位身份证不校验尾号，18位会校验尾号，请务必在前端写好校验代码
			'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' => '72',		               //交易类型
		'txnSubType' => '12',		           //交易子类
		'bizType' => '000803',		           //业务类型
		'encryptCertId' => com\unionpay\acp\sdk\AcpService::getEncryptCertId(), //加密证书序列号
		
		//TODO 以下信息需要填写
		'merId' => $_POST["merId"],		//商户代码，请改自己的测试商户号，此处默认取demo演示页面传递的参数
		'orderId' => $_POST["orderId"],	//商户订单号，如上送短信验证码，请填写获取验证码时一样的orderId，此处默认取demo演示页面传递的参数
		'txnTime' => $_POST["txnTime"],	//订单发送时间，如上送短信验证码，请填写获取验证码时一样的txnTime，此处默认取demo演示页面传递的参数
		'productId' => $productId,	//产品编码，看规定

// 		'accNo' => $accNo,     //卡号，不加密请按此方式填写
// 		'customerInfo' => com\unionpay\acp\sdk\AcpService::getCustomerInfo($customerInfo), //持卡人身份信息，不加密请按此方式填写
		'accNo' => com\unionpay\acp\sdk\AcpService::encryptData($accNo),     //卡号，加密请按此方式填写
		'customerInfo' => com\unionpay\acp\sdk\AcpService::getCustomerInfoWithEncrypt($customerInfo), //持卡人身份信息，加密请按此方式填写
		'backUrl'=> com\unionpay\acp\sdk\SDKConfig::getSDKConfig()->backUrl,
		'frontUrl'=> com\unionpay\acp\sdk\SDKConfig::getSDKConfig()->frontUrl,
// 		'frontFailUrl'=>com\unionpay\acp\sdk\SDKConfig::getSDKConfig()->frontFailUrl
);

com\unionpay\acp\sdk\AcpService::sign ( $params ); // 签名
$url = com\unionpay\acp\sdk\SDKConfig::getSDKConfig()-> zhrzFrontTransUrl;
$html_form = com\unionpay\acp\sdk\AcpService::createAutoFormHtml( $params, $url );
echo $html_form;