易宝网上支付接口的实现

1 这是payment.php文件
<?php
    //载入配置文件
    require_once 'common.inc.php';
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>易宝支付接口测试</title>
<style type="text/css">
* {
    padding:0;
    margin:0;
}
body {
    font-size:12px;
    960px;
    background:#ffe;
    font-family:Arial;
    margin:0 auto;
}
ul {
    list-style-type:none;
}
body h1 {
    font-size:14px;
    padding:50px 0 20px 150px;
}
body form {
    padding:0 0 0 150px;
}
body form ul li {
    padding:5px 0 5px 0;
}
body form ul li input.text {
    border:1px solid #ccc;
    220px;
    height:22px;
}
body form ul li input.submit {
    padding:2px 3px;
    cursor:pointer;
}
</style>
</head>
<body>
    <?php if(isset($_POST['send'])){
        $p0_Cmd='Buy';//业务类型,固定值是'Buy'
        $p1_MerId='10001126856';//商户编号
        $p2_Order=$_POST['p2_Order'];//商户订单号
        $p3_Amt=$_POST['p3_Amt'];//支付金额
        $p4_Cur='CNY';//交易币种,固定值是'CNY' 人民币
        $p5_Pid='';//商品名称
        $p6_Pcat='';//商品种类
        $p7_Pdesc='';//商品描述
        $p8_Url='http://localhost:8080/test/payback.php';//回调地址
        $p9_SAF='0';//送货地址
        $pa_MP='';//商品扩展信息
        $pd_FrpId=$_POST['pd_FrpId'];//各种银行的支付通道
        $pr_NeedResponse='1';//应答机制
        switch($pd_FrpId){
            case 'CMBCHINA-NET' :
                $bank='招商银行';
                break;
            case 'ICBC-NET' :
                $bank='工商银行';
                break;
            case 'ABC-NET' :
                $bank='农业银行';
                break;
            case 'CCB-NET' :
                $bank='建设银行';
                break;
        }
        $data=$data.$p0_Cmd;
        $data=$data.$p1_MerId;
        $data=$data.$p2_Order;
        $data=$data.$p3_Amt;
        $data=$data.$p4_Cur;
        $data=$data.$p5_Pid;
        $data=$data.$p6_Pcat;
        $data=$data.$p7_Pdesc;
        $data=$data.$p8_Url;
        $data=$data.$p9_SAF;
        $data=$data.$pa_MP;
        $data=$data.$pd_FrpId;
        $data=$data.$pr_NeedResponse;
        $key='69cl522AV6q613Ii4W6u8K6XuW8vM1N6bFgyv769220IuYe9u37N4y7rI4Pl';//商户密钥
        $hmac=HmacMd5($data,$key);//mac签名用于验证
    ?>
    <h1>您的订单信息如下:</h1>
    <form action="https://www.yeepay.com/app-merchant-proxy/node" method="post">
        <input type="hidden" name="p0_Cmd" class="text" value="<?php echo $p0_Cmd;?>" />
        <input type="hidden" name="p1_MerId" class="text" value="<?php echo $p1_MerId;?>" />
        <input type="hidden" name="p2_Order" class="text" value="<?php echo $p2_Order;?>" />
        <input type="hidden" name="p3_Amt" class="text" value="<?php echo $p3_Amt;?>" />
        <input type="hidden" name="p4_Cur" class="text" value="<?php echo $p4_Cur;?>" />
        <input type="hidden" name="p5_Pid" class="text" value="<?php echo $p5_Pid;?>" />
        <input type="hidden" name="p6_Pcat" class="text" value="<?php echo $p6_Pcat;?>" />
        <input type="hidden" name="p7_Pdesc" class="text" value="<?php echo $p7_Pdesc;?>" />
        <input type="hidden" name="p8_Url" class="text" value="<?php echo $p8_Url;?>" />
        <input type="hidden" name="p9_SAF" class="text" value="<?php echo $p9_SAF;?>" />
        <input type="hidden" name="pa_MP" class="text" value="<?php echo $pa_MP;?>" />
        <input type="hidden" name="pd_FrpId" class="text" value="<?php echo $pd_FrpId;?>" />
        <input type="hidden" name="pr_NeedResponse" class="text" value="<?php echo $pr_NeedResponse;?>" />
        <input type="hidden" name="hmac" class="text" value="<?php echo $hmac;?>" />
        <ul>
            <li>您的 订单号:<input type="text" name="p2_Order" class="text" value="<?php echo $p2_Order;?>" /></li>
            <li>您支付的金额:<input type="text" name="p3_Amt" class="text" value="<?php echo $p3_Amt;?>" /> 元</li>
            <li>要支付的银行:<span><?php echo $bank;?></span></li>
            <li><input type="submit" name="send" value="确认支付" class="submit"/></li>
        </ul>
    </form>    
    <?php }else{ ?>
    <h1>欢迎来到易宝支付平台</h1>
    <form action="payment.php" method="post">
        <ul>
            <li>请输入订单号:<input type="text" name="p2_Order" class="text"/></li>
            <li>输入您的金额:<input type="text" name="p3_Amt" class="text"/> 元</li>
            <li>请选择要支付的银行:</li>
            <li>
                <input type="radio" name="pd_FrpId" value="CMBCHINA-NET"/> 招商银行 
                <input type="radio" name="pd_FrpId" value="ICBC-NET"/> 工商银行 
                <input type="radio" name="pd_FrpId" value="ABC-NET"/> 农业银行 
                <input type="radio" name="pd_FrpId" value="CCB-NET"/> 建设银行 
            </li>
            <li><input type="submit" name="send" value="确认支付" class="submit"/></li>
        </ul>
    </form>        
    <?php }?>
</body>
</html>
2 这是common.inc.php配置文件
<?php
    function HmacMd5($data,$key){
        $key=iconv('gb2312','utf-8',$key);
        $data=iconv('gb2312','utf-8',$data);
        $b=64;
        if(strlen($key)>$b){
            $key=pack('H*',md5($key));
        }
        $key=str_pad($key,$b,chr(0x00));
        $ipad=str_pad('',$b,chr(0x36));
        $opad=str_pad('',$b,chr(0x5c));
        $k_ipad=$key^$ipad;
        $k_opad=$key^$opad;
        return md5($k_opad.pack('H*',md5($k_ipad.$data)));
    }
?>
3 回调地址文件payback.php
<?php
    echo '恭喜您,支付成功!';
?>

原文地址:https://www.cnblogs.com/sheevy/p/4010655.html