当前位置:首页 > 新一代商户接入手册V2.7
http://www.ChinaPay.com Chinapay新一代商户接入手册
3.4.2.2 方法说明
类名 SecssUtil 方法名 init sign getSign verify verifyFile encryptData encryptPin getEncPin getEncValue getErrCode getErrMsg 用途 用于创建证书对象,初始化安全加密控件并初始化公私钥信息 用于对商户报文进行签名 获取商户签名后生成的字符串 验证ChinaPay返回的应答数据 验证ChinaPay返回的结算和对账文件签名 对交易过程中的敏感数据进行加密 对密码进行加密 获取加密后的密码字符串 获取加密后的密文字符串 获取商户签名、验签、加密及解密的处理结果 获取对响应码的中文描述 ?
初始化安全控件方法:init 方法说明:
public function init($securityPropFile) 作用:
用于创建证书对象,初始化安全加密控件并初始化公私钥信息。
使用此方法需要将security.properties放在PHP项目路径下,并配置如下: #交易证书路径
sign.file=D:/cert_cp/000000000000001.pfx #交易证书密码
sign.file.password=XXXXXX #交易证书的密钥容器格式 sign.cert.type=PKCS12
#报文中不参与签名的字段名称,多个字段用逗号进行分隔 sign.invalid.fields=Signature,CertId #验签证书路径
verify.file=D:/cert_cp/cp_test.cer #签名值字段名称
signature.field=Signature 参数说明:
securityPropFile:security.properties文件全路径
security.properties文件中,商户只需要修改sign.file、sign.file.password、verify.file三项。 返回值:
true :表示正确初始化证书文件,并且可以调用签名方法签名或者签名验证方法验证签名; false:表示初始化证书文件失败,不可以使用签名方法和签名验证方法。 注:该方法在类SecssUtil中。 ?
订单签名方法:sign
第 13 页 共 35 页
http://www.ChinaPay.com Chinapay新一代商户接入手册
方法说明:
public function sign($paramArray) 作用:
用于对商户报文进行签名。 参数说明:
$paramArray 为数组形式的商户交易数据。数组格式如: array(\MerOrderNo \
返回值: 无 ?
获取签名结果字符串方法:getSign 方法说明:
public function getSign() 作用:
获取商户签名后生成的字符串。 参数说明: 无 返回值:
商户签名结果字符串。
注:该方法在类SecssUtil中。 ?
验证交易应答方法:verify 方法说明:
public function verify($paramArray) 作用:
验证chinapay返回的应答数据。 参数说明:
$paramArray 返回商户报文中的所有参数。 返回值: 无
注:该方法在类SecssUtil中。 ?
验证文件方法:verifyFile 方法说明:
public function verifyFile($file) 作用:
验证结算和对账文件签名。 参数说明: $file文件路径 返回值: 无
注:该方法在类SecssUtil中。 ?
敏感数据加密方法:encryptData 方法说明:
public function encryptData($data) 作用:
第 14 页 共 35 页
http://www.ChinaPay.com Chinapay新一代商户接入手册
对交易过程中的敏感数据进行加密。 参数说明:
$data 待加密的明文字符串 返回值: 无
注:该方法在类SecssUtil中。 ?
密码加密方法:encryptPin 方法说明:
public function encryptPin($pin, $card) 作用:
对密码进行加密。 参数说明: $pin 银行卡密码 $card 卡号 返回值: 无
注:该方法在类SecssUtil中。 ?
获取加密后的密码:getEncPin 方法说明:
public function getEncPin() 作用:
获取加密后的密码字符串。 参数说明: 无 返回值:
加密后的密码字符串。
注:该方法在类SecssUtil中。 ?
获取加密后的密文字符串:getEncValue 方法说明:
public function getEncValue() 作用:
获取加密后的密文字符串。 参数说明: 无 返回值:
加密后的密文字符串。
注:该方法在类SecssUtil中。 ?
获取商户签名、验签、加密及解密的处理结果的方法:getErrCode 方法说明:
public function getErrCode() 作用:
获取商户签名、验签、加密及解密的处理结果。 参数说明:
第 15 页 共 35 页
http://www.ChinaPay.com Chinapay新一代商户接入手册
无 返回值:
00表示处理成功,其他表示处理失败。 注:该方法在类SecssUtil中。 ?
响应码描述信息:getErrMsg 方法说明:
public function getErrMsg() 作用:
获取对响应码的中文描述。 参数说明: 无 返回值:
响应码的中文描述。
注:该方法在类SecssUtil中。
3.4.2.3 使用示例代码
(以下代码未经测试,仅供参考)
?
签名示例代码
require 'SecssUtil.class.php';
$securityPropFile=\perties\
$paramArray=array(
\\\
\测试-商品信息\\\ AccessType\
\ MerBgUrl\\ MerPageUrl\\
$secssUtil = new SecssUtil();
$secssUtil->init($securityPropFile); //初始化安全控件: $secssUtil->sign($paramArray); if(\
echo\签名过程发生错误,错误信息为-->\ }
$signature==$secssUtil->getSign(); echo \签名数据为:\ ?
验证签名示例代码
第 16 页 共 35 页
return;
共分享92篇相关文档