银联电子支付ChinaPay支付回调验证问题

注意是ChinaPay,银联电子支付,不是UnionPay,不是银联支付,详情请参考这篇文章

 https://www.cnblogs.com/qidian10/p/4885038.html

支付回调验签时,返回的参数一定要经过urldecode进行解码,文档说明是这样的

示例

<?php
if ($_POST) {
    if (count($_POST) > 0) {
        
        include 'util/common.php';
        include 'util/SecssUtil.class.php';
        
        $secssUtil = new SecssUtil();
        $securityPropFile = $_SERVER['DOCUMENT_ROOT'] . "/chinapay_demo/config/security.properties";
        $secssUtil->init($securityPropFile);
        
        $text = array();
        foreach($_POST as $key=>$value){
            $text[$key] = urldecode($value); //urldecode解码
        }
        
        if ($secssUtil->verify($text)) {
            $_SESSION["VERIFY_KEY"] = "success";
        } else {
            $_SESSION["VERIFY_KEY"] = "fail";
        }
    }
}

如果有什么问题及不懂的可以于关注公众号 回复999加我微信交流下

 

 

 

Guess you like

Origin blog.csdn.net/loveyoulouyou/article/details/119965317