热爱工作,投身事业,在这一过程中,抑制私心,陶冶人格,同时积累经验,提高能力。这样,才能获得周围人们的信任和尊敬。
							           用织梦做了个装饰网站,客户要求财付通支付,上网找了下,不是要买就是要钱,只有自己写了。
代码如下:
| 
										1 
										2 
										3 
										4 
										5 
										6 
										7 
										8 
										9 
										10 
										11 
										12 
										13 
										14 
										15 
										16 
										17 
										18 
										19 
										20 
										21 
										22 
										23 
										24 
										25 
										26 
										27 
										28 
										29 
										30 
										31 
										32 
										33 
										34 
										35 
										36 
										37 
										38 
										39 
										40 
										41 
										42 
										43 
										44 
										45 
										46 
										47 
										48 
										49 
										50 
										51 
										52 
										53 
										54 
										55 
										56 
										57 
										58 
										59 
										60 
										61 
										62 
										63 
										64 
										65 
										66 
										67 
										68 
										69 
										70 
										71 
										72 
										73 
										74 
										75 
										76 
										77 
										78 
										79 
										80 
										81 
										82 
										83 
										84 
										85 
										86 
										87 
										88 
										89 
										90 
										91 
										92 
										93 
										94 
										95 
										96 
										97 
										98 
										99 
										100 
										101 
										102 
										103 
										104 
										105 
										106 
										107 
										108 
										109 
										110 
										111 
										112 
										113 
										114 
										115 
										116 
										117 
										118 
										119 
										120 
										121 
										122 
										123 
										124 
										125 
										126 
										127 
										128 
										129 
										130 
										131 
										132 
										133 
										134 
										135 
										136 
										137 
										138 
										139 
										140 
										141 
										142 
										143 
										144 
										145 
										146 
										147 
										148 
										149 
										150 
										151 
										152 
										153 
										154 
										155 
										156 
										157 
										158 
										159 
										160 
										161 
										162 
										163 
										164 
										165 
										166 
										167 
										168 
										169 
										170 
										171 
										172 
										173 
										174 
										175 
										176 
										177 
										178 
										179 
										180 
										181 
										182 
										183 
										184 
										185 
										186 
										187 
										188 
										189 
										190 
										191 
										192 
										193 
										194 
										195 | 
											<?php 
											if(!defined('DEDEINC'))exit('RequestError!'); 
											/** 
											*财付通接口类 
											*/ 
											classtenpay 
											{ 
											var$dsql; 
											var$mid; 
											var$reqURL_onLine="http://www.tenpay.com"; 
											var$return_url='/plus/carbuyaction.php?dopost=return';//返回处理地址 
											/** 
											*构造函数 
											* 
											*@accesspublic 
											*@param 
											* 
											*@returnvoid 
											*/ 
											functiontenpay() 
											{ 
											global$dsql; 
											$this->dsql=$dsql; 
											} 
											function__construct() 
											{ 
											$this->tenpay(); 
											} 
											/** 
											*设定接口会送地址 
											* 
											*例如:$this->SetReturnUrl($cfg_basehost."/tuangou/control/index.php?ac=pay&orderid=".$p2_Order) 
											* 
											*@paramstring$returnurl会送地址 
											*@returnvoid 
											*/ 
											functionSetReturnUrl($returnurl='') 
											{ 
											if(!empty($returnurl)) 
											{ 
											$this->return_url=$returnurl; 
											} 
											} 
											/** 
											*生成支付代码 
											*@paramarray$order订单信息 
											*@paramarray$payment支付方式信息 
											*/ 
											functionGetCode($order,$payment) 
											{ 
											global$cfg_basehost,$cfg_cmspath; 
											//对于二级目录的处理 
											if(!empty($cfg_cmspath))$cfg_basehost=$cfg_basehost.'/'.$cfg_cmspath; 
											$partner=$payment['tenpay_account']; 
											$out_trade_no=$order['out_trade_no']; 
											$total_fee=floatval($order['price'])*100; 
											$body=$order['out_trade_no']; 
											$attach=''; 
											$bank_type='DEFAULT'; 
											/*交易类型:2、虚拟交易,1、实物交易*/ 
											$trans_type=1; 
											$trade_mode=empty($payment['tenpay_pay_method'])?'1':$payment['tenpay_pay_method']; 
											$parameter=array( 
											'partner'=>$partner, 
											'out_trade_no'=>$out_trade_no,//订单号 
											'total_fee'=>$total_fee,//总金额 
											'notify_url'=>$cfg_basehost.$this->return_url."&code=".$payment['code'],//返回地址 
											'return_url'=>$cfg_basehost.$this->return_url."&code=".$payment['code'],//提醒地址 
											'body'=>$body,//交易描述 
											'bank_type'=>$bank_type,//交易类型默认财付通 
											//用户ip 
											'spbill_create_ip'=>$_SERVER['REMOTE_ADDR'],//交易ip 
											'fee_type'=>'1',//币种1人民币 
											'subject'=>$body,//商品名称 
											//系统可选参数 
											'sign_type'=>'MD5',//加密方式 
											'service_version'=>'1.0',//接口版本号默认1.0 
											'input_charset'=>'UTF-8',//系统编码'GBK' 
											'sign_key_index'=>'1',//密钥序号 
											//业务可选参数 
											'attach'=>$attach,//附加数据原样返回默认为空 
											'product_fee'=>'',//商品费用 
											'transport_fee'=>'0',//物流费用 
											'time_start'=>date("YmdHis"),//订单生成时间date("YmdHis") 
											'time_expire'=>'',//订单失效时间 
											'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($parameterAS$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='<divstyle="text-align:center"><a 
											rel="nofollow noopener noreferrer" href="https://gw.tenpay.com/gateway/pay.htm?'.$param. 
											'&sign='.$sign.'"><button>立即使用财付通支付</button></a></div>'; 
											return$button; 
											/*清空购物车*/ 
											require_onceDEDEINC.'/shopcar.class.php'; 
											$cart=newMemberShops(); 
											$cart->clearItem(); 
											$cart->MakeOrders(); 
											return$button; 
											} 
											/** 
											*响应操作 
											*/ 
											functionrespond() 
											{ 
											/*引入配置文件*/ 
											$code=preg_replace("#[^0-9a-z-]#i","",$_GET['code']); 
											require_onceDEDEDATA.'/payment/'.$code.'.php'; 
											$attach=$_GET['attach']; 
											$trade_state=$_GET['trade_state']; 
											$total_fee=$_GET['total_fee']; 
											$out_trade_no=trim($_GET['out_trade_no']); 
											if(preg_match("/S-P[0-9]+RN[0-9]/",$order_sn)){ 
											//检查支付金额是否相符 
											$row=$this->dsql->GetOne("SELECT*FROMym_shops_ordersWHEREoid='{$order_sn}'"); 
											if($row['priceCount']!=$_GET['total_fee']) 
											{ 
											return$msg="支付失败,支付金额与商品总价不相符!"; 
											} 
											$this->mid=$row['userid']; 
											/*检查数字签名是否正确*/ 
											ksort($_GET); 
											reset($_GET); 
											$sign=''; 
											foreach($_GETAS$key=>$val) 
											{ 
											if(""!=$val&&"sign"!=$key&&$key!='code'){ 
											$sign.="$key=$val&"; 
											} 
											} 
											$sign.="key=".$payment['tenpay_key']; 
											if(strtolower(md5($sign))==strtolower($_GET['sign'])) 
											{ 
											if($trade_state==0) 
											{ 
											/*改变订单状态*/ 
											if($this->success_db($out_trade_no)) 
											return$msg="支付成功!<br><arel="nofollow noopener noreferrer" href='/'>返回主页</a><arel="nofollow noopener noreferrer" href='/member'>会员中心</a>"; 
											elsereturn$msg="支付失败!<br><arel="nofollow noopener noreferrer" href='/'>返回主页</a><arel="nofollow noopener noreferrer" href='/member'>会员中心</a>"; 
											} 
											} 
											else{ 
											//return$msg="支付失败!<br><arel="nofollow noopener noreferrer" href='/'>返回主页</a><arel="nofollow noopener noreferrer" href='/member'>会员中心</a>"; 
											} 
											} 
											/*处理物品交易*/ 
											functionsuccess_db($order_sn) 
											{ 
											$time=time(); 
											$mid=$this->mid; 
											//获取订单信息,检查订单的有效性 
											$row=$this->dsql->GetOne("SELECTstate,priceCountFROMym_shops_ordersWHEREoid='$order_sn'"); 
											if($row['state']>0) 
											{ 
											returnTRUE; 
											} 
											/*改变订单状态_支付成功*/ 
											$sql="UPDATE`ym_shops_orders`SET`state`='1'WHERE`oid`='$order_sn'AND`userid`='".$this->mid."'"; 
											if($this->dsql->ExecuteNoneQuery($sql)) 
											{ 
											$this->log_result("verify_success,订单号:".$order_sn);//将验证结果存入文件 
											returnTRUE; 
											}else{ 
											$this->log_result("verify_failed,订单号:".$order_sn);//将验证结果存入文件 
											returnFALSE; 
											} 
											} 
											functionlog_result($word){ 
											global$cfg_cmspath; 
											$fp=fopen(dirname(__FILE__)."/../../data/payment/log.txt","a"); 
											flock($fp,LOCK_EX); 
											fwrite($fp,$word.",执行日期:".strftime("%Y-%m-%d%H:%I:%S",time())."\r\n"); 
											flock($fp,LOCK_UN); 
											fclose($fp); 
											} 
											} | 
本文织梦dedecms集成腾讯财付通支付接口到此结束。人生为棋,我愿为卒,行动虽慢,可谁又曾看见我后退一步。小编再次感谢大家对我们的支持!
 
										