ホームページ  >  記事  >  バックエンド開発  >  dedecms Tenpay インターフェース

dedecms Tenpay インターフェース

WBOY
WBOYオリジナル
2016-08-08 09:32:01922ブラウズ

Redtourism を使用して旅行 Web サイトを作成しました。Web サイトのアドレスは次のとおりです: http://www.redtourism.cn/ 顧客が Tenpay 経由での支払いを要求したので、オンラインで調べたところ、購入するか、お金を要求するかのどちらかであることがわかりました、だから自分で書かなければならなかった。

コード:

if(!define('DEDEINC')) exit('リクエストエラー!');
/**
*Yibaoインターフェースクラス
*/
class tenpay
{
var $dsql;
var $mid;

var $reqURL_onLine = "http://www.tenpay.com";

var $return_url='/plus/carbuyaction.php?dopost=return' //返信処理アドレス

/**
* コンストラクター
*
* @access public
* @param
*
*; /
function tenpay()
{
global $dsql;
$this->dsql = $dsql;
}
function __construct()
{
$this->tenpay()
}

/**
*
$ returnurlはaddressを送信します * @returnvoid
*/
function SetReturnUrl($returnurl='')

/**&# '/ '.$cfg_cmspath; $body = $order['out_trade_no'];
$attach = '';
$bank_type = 'default' $ bank_type $ trade = empty ['tenpay_method']:$ painy ['tenpay_pay_method'] this->return_url."&code=".$payment['code'], //返送先住所
'return_url' => //トランザクション説明 "//トランザクションip
//通貨1rmb
。 input_charset '= & gt;', // システムエンコーディング' gbk'
'sign_index' = & gt; '1', // キーのシリアル番号
ビジネス オプションのパラメータ料金
Cost '' time_start '= を使用& gt; date ("ymdhis"), // 注文生成時刻 date ("ymdhis")
' time_expire '= & gt;' ', // 注文失敗時刻
            'buyer_id'             => '',                 //买方财付通帐号
            'goods_tag'            => '',                 //商品标记
            'trade_mode'           => $trade_mode,        //交易模式(1.即时到帐模式,2.中介担保模式,3.后台选择(卖家进入支付中心列表选择))
            'transport_desc'       => '',                 //物流说明
            'trans_type'           => $trans_type,        //交易类型
            'agentid'              => '',                 //平台ID
            'agent_type'           => '',                 //代理模式(0.无代理,1.表示卡易售模式,2.表示网店模式)
            'seller_id'            => ''                  //卖家商户号
        );
        ksort($parameter);
        reset($parameter);
        $param = '';
        $sign  = '';
        foreach ($parameter AS $key => $val)
        {
            $param .= "$key=" .urlencode($val). "&";
            if("" != $val && "sign" != $key) {
                $sign  .= "$key=$val&";
            }
        }
        $param = substr($param, 0, -1);
        $sign .= "key=".$payment['tenpay_key'];
        $sign = strtolower(md5($sign));  
        
        $button = '

$cart->MakeOrders();
return $button; 0-9a-z-]#i", "", $_GET['code'] );
」を添付してください。 ;
$trade_state = $_GET['trade_state'];
$total_fee = $_GET['total_fee'];

$out_trade_no = トリム($_GET['out_trade_no']);

if(preg_match ("/S-P[0-9]+RN[0-9]/",$order_sn)) {
("SELECT * FROM #@__shops_orders WHERE oid = n}'");
if ($row['priceCount'] != $_GET['total_fee'])
, 支払い金額が商品の合計価格と一致しません。」
}
$ this-> Mid = $ 行 [ 'ユーザーID']; | val)
if("" != $val && "sign" != $key && $key != 'code') {
.$payment['tenpay_key'] ;

if(strto lower(md5($sign))==strto lower($_GET['sign']))
({
if ($ Trade_State == 0) {
/* 注文ステータスを変更します* /
if ($ this-& gt; success_db ($ out_trade_no))
Return $ msg = "支払い成功!" & lt; a href='/'>ホームページに戻るa href='/member'>メンバーセンター";

;a href='/' >ホームページに戻る メンバー センター";


}

その他{

//return $msg = "支払いに失敗しました!
ホームページに戻る メンバー センター " ;

}
}

/*商品トランザクションの処理*/
function success_db($order_sn)
{
$time=time();
$mid=$this->mid;
//注文情報を取得し、注文を確認します有効性
$row = $this->dsql->GetOne("SELECT state,priceCount FROM #@__shops_orders WHERE oid='$order_sn' "); )
s_orders` SET `state`='1' WHERE `oid`='$order_sn' AND `userid`='".$this->mid."'"; success , 注文番号: "$ order_sn); // 検証結果をファイルに保存します
return true; }} else {
$ This- & GT; Log_result (" VERIFY_FAILED, Order Number: ". $ Order_SN) が検証されます。 結果 ファイルを保存します。 false を返します
}}
Function log_result ($ word) {
Global $ CFG_CMSPATH;
$ FP = FOPEN (__file __)", "a");
flock($fp, LOCK_EX);
;
上記は、関連するコンテンツを含む dedecms Tenpay インターフェイスを紹介しており、PHP チュートリアルに興味のある友人に役立つことを願っています。


声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。