• ----:)欢迎访问源码网(:----
    • 首页
    • 博客
    • 学院
    • 下载
    • 论坛
    • 影视
    • 发布源码
    • RSS
    • ITPig
    • 笑话网
    • 百家姓
    • 繁體中文

源码网 - 中国第一源码门户
选择镜像:网通镜像 - 电信主站
  • 首 页
  • 新闻动态
  • 网站运营
  • 网页制作
  • WEB开发
  • 编程开发
  • 图像媒体
  • 操作系统
  • 数据库
  • 服务器
热门搜索 优化 SEO 故事 cms IIS7 MySQL 个人 AdSense 主题推广 | 文章搜索: 高级搜索
会员登录/控制面版您的位置: 学院首页 >> WEB开发 >> PHP 开发 >> PHP代码 >> 详细内容
 

推荐文章

 
 

热点文章

  • 3389远程服务器GHOST的视频教程
  • 利用纯真QQIP数据库做快速IP归属地查询
  • 天气预报小偷,根据IP自动判断地址
  • php在线文本编辑器
  • 实例(Smarty+FCKeditor新闻系统)
  • php里实现汉字转区位码
  • 对dvbbs.php 全文搜索的完全分析
  • php生成会动的gif图片代码
  • php的字符编码转换工具
  • DIV+CSS+PHP巨献——网页内容先竖排再横排
  • PHP获取网卡的MAC地址
  • 56.com视频采集接口程序(PHP)
 
 

相关文章

  • 解密2008北京奥运会开幕式高科技
  • 支付宝欲称霸支付江湖的野心
  • 支付宝进军澳洲叫板eBay旗下Paypal
  • 支付宝数据库架构师冯大辉:谈数据库架构
  • C#实现迅雷专用链的加密与解密
  • 最权威的Google排名算法解密
  • 解决IE8无法正确输入淘宝、支付宝密码的问题
  • 新浪网高层内部发生了人事“地震” 内幕人士解密
  • 解密百度IM项目组的“特种部队”
  • 原来支付宝可以这样玩。。。。
  • 谈新手如何安装discuz6.0.0正式版
  • [教程]数据库不变,把一个论坛变成N个论坛
 
 

百度搜索

 
 

解密后的discuz!6.0 支付宝接口文件

  • 阅览次数:
  • 文章来源: CodePub整理
  • 原文作者: jiugui
  • 整理日期: 2008-03-24
  • 发表评论
  • 字体大小:
  • 小
  • 中
  • 大

贴出来给大家见识见识!呵呵。。
该文件位于 api\alipayapi.php


<?php
/*********************/
/*                   */
/*  Version : 5.1.0  */
/*  Author  : RM     */
/*  Comment : 071223 */
/*                   */
/*********************/

function credit_payurl( $price, $orderid )
{
    global $bbname;
    global $discuz_userss;
    global $language;
    global $boardurl;
    global $extcredits;
    global $creditstrans;
    global $onlineip;
    global $ec_ratio;
    global $ec_account;
    global $timestamp;
    global $authkey;
    global $charset;
    $args = array(
        "subject" => $bbname." - ".$discuz_userss." - ".$language['credit_payment'],
        "body" => $language['credit_forum_payment']." ".$extcredits[$creditstrans]['title']." ".intval( $price * $ec_ratio )." ".$extcredits[$creditstrans]['unit']." (".$onlineip.")",
        "service" => "create_digital_goods_trade_p",
        "partner" => DISCUZ_PARTNER,
        "notify_url" => $boardurl."api/alipaynotify.php",
        "show_url" => $boardurl,
        "_input_charset" => $charset,
        "out_trade_no" => $orderid,
        "price" => $price,
        "quantity" => 1,
        "seller_email" => $ec_account
    );
    if ( DISCUZ_DIRECTPAY )
    {
        $args['service'] = "create_direct_pay_by_user";
        $args['payment_type'] = "1";
    }
    ksort( $args );
    $urlstr = $sign = "";
    foreach ( $args as $key => $val )
    {
        if ( $val != "" )
        {
            $sign .= "&".$key."=".$val;
        }
        $urlstr .= $key."=".rawurlencode( $val )."&";
    }
    $sign = substr( $sign, 1 );
    $sign = md5( $sign.DISCUZ_SECURITYCODE );
    return "http://www.alipay.com/redir.do?id=307&site=allbbs&target=".rawurlencode( "https://www.alipay.com/cooperate/gateway.do?".$urlstr."sign=".$sign."&sign_type=MD5" );
}

function trade_payurl( $pay, $trade, $tradelog )
{
    global $boardurl;
    global $authkey;
    global $charset;
    $args = array(
        "service" => "trade_create_by_buyer",
        "partner" => DISCUZ_PARTNER,
        "notify_url" => $boardurl."api/tradenotify.php",
        "show_url" => $boardurl."viewthread.php?do=tradeinfo&tid=".$tradelog['tid']."&pid=".$tradelog['pid'],
        "_input_charset" => $charset,
        "subject" => $trade['subject'],
        "body" => $trade['subject'],
        "out_trade_no" => $tradelog['orderid'],
        "price" => $tradelog['baseprice'],
        "quantity" => $tradelog['number'],
        "logistics_type" => $pay['logistics_type'],
        "logistics_fee" => $tradelog['transportfee'],
        "logistics_payment" => $pay['transport'],
        "payment_type" => $trade['itemtype'],
        "seller_email" => $trade['account']
    );
    if ( DISCUZ_COMMISION )
    {
        $args += array(
            "commision_fee" => $pay['commision'],
            "commision_id" => DISCUZ_PARTNER
        );
    }
    if ( $pay['logistics_type'] == "VIRTUAL" )
    {
        $args['service'] = "create_digital_goods_trade_p";
    }
    ksort( $args );
    $urlstr = $sign = "";
    foreach ( $args as $key => $val )
    {
        if ( $val != "" )
        {
            $sign .= "&".$key."=".$val;
        }
        $urlstr .= $key."=".rawurlencode( $val )."&";
    }
    $sign = substr( $sign, 1 );
    $sign = md5( $sign.DISCUZ_SECURITYCODE );
    return "http://www.alipay.com/redir.do?id=307&site=allbbs&target=".rawurlencode( "https://www.alipay.com/cooperate/gateway.do?".$urlstr."sign=".$sign."&sign_type=MD5" );
}

function trade_typestatus( $method, $status = -1 )
{
    switch ( $method )
    {
    case "buytrades" :
        $methodvalue = array( 1, 5, 11, 12 );
        break;
    case "selltrades" :
        $methodvalue = array( 2, 4, 10, 13 );
        break;
    case "successtrades" :
        $methodvalue = array( 7 );
        break;
    case "tradingtrades" :
        $methodvalue = array( 1, 2, 3, 4, 5, 6, 10, 11, 12, 13, 14, 15, 16 );
        break;
    case "closedtrades" :
        $methodvalue = array( 8, 17 );
        break;
    case "refundsuccess" :
        $methodvalue = array( 17 );
        break;
    case "refundtrades" :
        $methodvalue = array( 14, 15, 16, 17, 18 );
        break;
    case "unstarttrades" :
        $methodvalue = array( 0 );
        break;
    case "eccredittrades" :
        $methodvalue = array( 7, 17 );
    }
    return $status != 0 - 1 ? in_array( $status, $methodvalue ) : implode( "','", $methodvalue );
}

function trade_getstatus( $key, $method = 2 )
{
    global $language;
    $status[1] = array( "WAIT_BUYER_PAY" => 1, "WAIT_SELLER_CONFIRM_TRADE" => 2, "WAIT_SYS_CONFIRM_PAY" => 3, "WAIT_SELLER_SEND_GOODS" => 4, "WAIT_BUYER_CONFIRM_GOODS" => 5, "WAIT_SYS_PAY_SELLER" => 6, "TRADE_FINISHED" => 7, "TRADE_CLOSED" => 8, "WAIT_SELLER_AGREE" => 10, "SELLER_REFUSE_BUYER" => 11, "WAIT_BUYER_RETURN_GOODS" => 12, "WAIT_SELLER_CONFIRM_GOODS" => 13, "WAIT_ALIPAY_REFUND" => 14, "ALIPAY_CHECK" => 15, "OVERED_REFUND" => 16, "REFUND_SUCCESS" => 17, "REFUND_CLOSED" => 18 );
    $status[2] = array(
        0 => $language['trade_unstart'],
        1 => $language['trade_waitbuyerpay'],
        2 => $language['trade_waitsellerconfirm'],
        3 => $language['trade_sysconfirmpay'],
        4 => $language['trade_waitsellersend'],
        5 => $language['trade_waitbuyerconfirm'],
        6 => $language['trade_syspayseller'],
        7 => $language['trade_finished'],
        8 => $language['trade_closed'],
        10 => $language['trade_waitselleragree'],
        11 => $language['trade_sellerrefusebuyer'],
        12 => $language['trade_waitbuyerreturn'],
        13 => $language['trade_waitsellerconfirmgoods'],
        14 => $language['trade_waitalipayrefund'],
        15 => $language['trade_alipaycheck'],
        16 => $language['trade_overedrefund'],
        17 => $language['trade_refundsuccess'],
        18 => $language['trade_refundclosed']
    );
    return $method == 0 - 1 ? $status[2] : $status[$method][$key];
}

function trade_offline( $tradelog, $returndlang = 1 )
{
    global $discuz_uid;
    global $language;
    global $trade_message;
    $tmp = $return = array( );
    if ( $discuz_uid == $tradelog['buyerid'] )
    {
        $data = array(
            0 => array( 4, 8 ),
            1 => array( 4, 8 ),
            8 => array( 1, 4 ),
            5 => array( 7, 10 ),
            11 => array( 10, 7 ),
            12 => array( 13 )
        );
        $tmp = $data[$tradelog['status']];
    }
    else if ( $discuz_uid == $tradelog['sellerid'] )
    {
        $data = array(
            0 => array( 1, 8 ),
            8 => array( 1 ),
            4 => array( 5 ),
            10 => array( 12, 11 ),
            13 => array( 17 )
        );
        $tmp = $data[$tradelog['status']];
    }
    if ( $returndlang )
    {
        $i = 0;
        $count = count( $tmp );
        for ( ; $i < $count; ++$i )
        {
            $return[$tmp[$i]] = $language["trade_offline_".$tmp[$i]];
            $trade_message .= isset( $language["trade_message_".$tmp[$i]] ) ? $language["trade_message_".$tmp[$i]]."<br />" : "";
        }
        return $return;
    }
    else
    {
        return $tmp;
    }
}

function trade_setprice( $data, &$price, &$pay, &$transportfee )
{
    if ( $data['transport'] == 1 )
    {
        $pay['transport'] = "SELLER_PAY";
    }
    else if ( $data['transport'] == 2 )
    {
        $pay['transport'] = "BUYER_PAY";
    }
    else if ( $data['transport'] == 3 )
    {
        $pay['logistics_type'] = "VIRTUAL";
    }
    else
    {
        $pay['transport'] = "BUYER_PAY_AFTER_RECEIVE";
    }
    if ( $data['transport'] != 3 )
    {
        if ( $data['fee'] == 1 )
        {
            $pay['logistics_type'] = "POST";
            $pay['logistics_fee'] = $data['trade']['ordinaryfee'];
            if ( $data['transport'] == 2 )
            {
                $price = $price + $data['trade']['ordinaryfee'];
                $transportfee = $data['trade']['ordinaryfee'];
            }
        }
        else if ( $data['fee'] == 2 )
        {
            $pay['logistics_type'] = "EMS";
            $pay['logistics_fee'] = $data['trade']['emsfee'];
            if ( $data['transport'] == 2 )
            {
                $price = $price + $data['trade']['emsfee'];
                $transportfee = $data['trade']['emsfee'];
            }
        }
        else
        {
            $pay['logistics_type'] = "EXPRESS";
            $pay['logistics_fee'] = $data['trade']['expressfee'];
            if ( $data['transport'] == 2 )
            {
                $price = $price + $data['trade']['expressfee'];
                $transportfee = $data['trade']['expressfee'];
            }
        }
    }
}

function trade_create( $trade )
{
    global $tablepre;
    global $db;
    global $allowposttrade;
    global $mintradeprice;
    global $maxtradeprice;
    global $timestamp;
    extract( $trade );
    $special = 2;
    $expiration = $item_expiration ? strtotime( $item_expiration ) : 0;
    $closed = 0 < $expiration && strtotime( $item_expiration ) < $timestamp ? 1 : $closed;
    $item_price = floatval( $item_price );
    switch ( $transport )
    {
    case "seller" :
        $item_transport = 1;
        break;
    case "buyer" :
        $item_transport = 2;
        break;
    case "virtual" :
        $item_transport = 3;
        break;
    case "logistics" :
        $item_transport = 4;
    }
    $seller = dhtmlspecialchars( $seller );
    $item_name = dhtmlspecialchars( $item_name );
    $item_locus = dhtmlspecialchars( $item_locus );
    $item_number = intval( $item_number );
    $item_quality = intval( $item_quality );
    $item_transport = intval( $item_transport );
    $postage_mail = intval( $postage_mail );
    $postage_express = intval( $postage_express );
    $postage_ems = intval( $postage_ems );
    $item_type = intval( $item_type );
    $typeid = intval( $typeid );
    $item_costprice = floatval( $item_costprice );
    if ( empty( $pid ) )
    {
        $pid = $db->result( $db->query( "SELECT pid FROM {$tablepre}posts WHERE tid='{$tid}' AND first='1' LIMIT 1" ), 0 );
    }
    $db->query( "INSERT INTO {$tablepre}trades (tid, pid, typeid, sellerid, seller, account, subject, price, amount, quality, locus, transport, ordinaryfee, expressfee, emsfee, itemtype, dateline, expiration, lastupdate, totalitems, tradesum, closed, costprice, aid)\r\n\t\tVALUES ('{$tid}', '{$pid}', '{$typeid}', '{$discuz_uid}', '{$author}', '{$seller}', '{$item_name}', '{$item_price}', '{$item_number}', '{$item_quality}', '{$item_locus}', '{$item_transport}', '{$postage_mail}', '{$postage_express}', '{$postage_ems}', '{$item_type}', '{$timestamp}', '{$expiration}', '{$timestamp}', '0', '0', '{$closed}', '{$item_costprice}', '{$aid}')" );
}

if ( !defined( "IN_DISCUZ" ) )
{
    exit( "Access Denied" );
}
define( "DISCUZ_PARTNER", "2088002052150939" );
define( "DISCUZ_SECURITYCODE", "gh0bis45h89m5mwcoe85us4qrwispes0" );
define( "DISCUZ_COMMISION", 0 );
define( "DISCUZ_DIRECTPAY", 1 );
define( "STATUS_SELLER_SEND", 4 );
define( "STATUS_WAIT_BUYER", 5 );
define( "STATUS_TRADE_SUCCESS", 7 );
define( "STATUS_REFUND_CLOSE", 17 );
?>

上一篇:PHP使用zlib扩展实现页面GZIP压缩输出
下一篇:构建支持Master/Slave读写分离的数据库操作类
  • 网友评论:
  • 查看所有评论
  • 我要发表评论
您的网名:
留言主题:
你要发表的内容:

 

关于本站 | 广告联系 | 版权声明 | 网站地图 | 发布软件 | 帮助中心 | 源码论坛

Copyright © 2005-2007 CodePub.Com  程序支持:木翼  滇ICP备05005971号