zoukankan      html  css  js  c++  java
  • 易宝网上支付接口的实现

    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 '恭喜您,支付成功!';
    ?>

  • 相关阅读:
    EasyNVR摄像机网页无插件直播方案H5前端构建之:通道内部搜索功能的实现方案与代码
    EasyNVR摄像机网页无插件直播方案H5前端构建之:bootstrap弹窗功能的实现方案与代码
    EasyNVR摄像机网页无插件直播方案H5前端构建之:bootstrap-datepicker日历插件的实时动态展现
    EasyNVR摄像机网页无插件直播方案H5前端构建之:如何播放HLS(m3u8)直播流
    EasyNVR摄像机网页无插件直播方案H5前端构建之:区分页面是自跳转页面还是分享页面
    EasyNVR摄像机网页无插件直播方案H5前端构建之:如何区分PC端和移动端
    EasyDSS高性能流媒体服务器开发RTMP直播同步输出HLS(m3u8)录像功能实现时移回放的方案
    Stack Overflow: The Architecture
    The week in .NET
    十分钟轻松让你认识Entity Framework 7
  • 原文地址:https://www.cnblogs.com/sheevy/p/4010655.html
Copyright © 2011-2022 走看看