支付寶接入教程以及服務(wù)端給app寫支付接口入門_第1頁
支付寶接入教程以及服務(wù)端給app寫支付接口入門_第2頁
支付寶接入教程以及服務(wù)端給app寫支付接口入門_第3頁
支付寶接入教程以及服務(wù)端給app寫支付接口入門_第4頁
支付寶接入教程以及服務(wù)端給app寫支付接口入門_第5頁
已閱讀5頁,還剩8頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

關(guān)于支付寶接入的幾點說明和解釋在實際的開發(fā)中,我們看到開放平臺密鑰和合作伙伴密鑰的時候,有沒有直接就懵逼了的趕腳?反正我是的有。因為不是每個人都經(jīng)常去開發(fā)支付功能,更不會有事兒沒事兒去調(diào)這些個密鑰,畢竟跟錢相關(guān)的東西,誰都會冷靜三分!鑒于此,我簡略說兩點。官方答復(fù)說,合作伙伴密鑰適用于合作伙伴密鑰常被適用于API1.0版本的支付和移動支付(手機網(wǎng)頁支付),而開放平臺密鑰是作為APP支付設(shè)定的。經(jīng)實際測試:合作伙伴密鑰和開放平臺密鑰在移動支付(手機網(wǎng)頁支付)和APP支付中都是沒有問題的!支付分為兩種形式:一是demo接入方式(API1.0的接入方式),一種是sdk調(diào)用API(此為API2.0的接入方式)下面是分別對兩種接入的解釋說明:一.demo接入方式(API1.0的接入方式中(官方答復(fù))1.0的支付apiservice為:$alipay_config['service']="alipay.wap.create.direct.pay.by.user";服務(wù)端程序demo地址為:/doc2/detail?treeld=60&articleld=103564&docType=1本產(chǎn)品涵蓋収下按口功能:手機網(wǎng)站支何接匚⑻i卩日吃前(DEMO下載)即時到賬批;量退欽有密接口(refund_fastpay_by_pIatfornn_pwd](DEkO~載)文檔地址為:/docs/doc.htm?spm=a219a.7629140.0.0.Wp8Ll3&treeId=60&articleId=104424&docType=1打開demo當(dāng)中的配置文件alipay.config.php能看到//合作身份者工D,簽釣賬號,^2088開頭由丄&位純數(shù)字組成的字符串,查看地址$311payconfn[1partrier1] 二11!,■收款支付寶賬號,^2088開頭空空空誥成的字符串』一般情;空雪占■$311payconfngr1sellernd11 $311payccsnfHe[1partrer11JParenter是合作身份PID。這個只要進行了支付寶簽約就能看到,簽約流程可以在/中找到,不再進行說明。值得注意的是seller_id在官方的demo中可以看出seller_id是partner,實際上seller_id也可以是商家的支付寶賬號。$alipa^_cofifig[l'pr1vare_lkey*] -r1;//支仃寶的益鑰」童看地址-https;//operiliofw?/platform/keyManageBlitn?keylype=partner規(guī)l)凹的鬥fit"魚kiP.£_PubUc_key1]-'MIGfHAMCSqGSIblDJEBAQLWiA^GNAO匚日"iQK品諛直史j/今qwyfgjUhf 陌BkF^F.l 呂Pcfiy 品口LPXniHK問/Vs^OoWSfxn67UD¥ijiyBiTqA23MNL^ql+-ilIZwBC2^Q2U6l-iarFXfF175p6/BMG5zjpjgnLCU¥uLkx(.LQIDAQAB';從上面的配置中能看到私鑰和支付寶公鑰是直接寫進去的。這有個要注意的地方,就是私鑰

和支付寶公鑰必須一行存放,不能復(fù)制工具里面生成的文件中的begin和end注釋行。當(dāng)然此處也是可以寫私鑰和公鑰的文件路徑的,那么這個時候去掉注釋和帶著注釋不影響總體結(jié)果,但是這個時候要注意的是支付寶的公鑰必須是64個字符為一行,需要手動換行。建議大家用官方demo給的配置方式。直接復(fù)制私鑰內(nèi)容進行手動刪除回車,直接復(fù)制支付寶公鑰。(注意:支付寶的公鑰需要換取的,也就是說用openssl工具生成的有兩個密鑰,一個是私鑰,一個是公鑰。這個公鑰是要上傳到合作伙伴密鑰來換取支付寶公鑰的。換言之,配置中的支付寶公鑰是用生成的公鑰換的。不是本身有的。)■■合柞伙伴密鑰亙專密審說明無蛙產(chǎn)品瞞協(xié)作協(xié)議營理無蛙產(chǎn)品瞞協(xié)作協(xié)議營理訥作協(xié)徴信息MD5密鑰:eWRSHSHA1虺鑰:杳薊f發(fā)者公鑰|言看支忖寶金鑰D5A密鑰:占匡幵七昔刁淒生成的公鑰自己手動刪除回車然后點擊“查看開發(fā)者公鑰”進行設(shè)置修改。設(shè)置成功后,點擊查看支付寶公鑰,并且復(fù)制到配置中(如果要復(fù)制到文件中就要自己手動每64個字符一行進行回車換行)一定要注意:公私鑰是成對的,私鑰存放本地,公鑰要上傳換取支付寶公鑰!二.SDK調(diào)用API(此為API2.0的接入方式)此時用到的密鑰為開放平臺密鑰,官方答復(fù)說此為APP支付而設(shè)定。實際上并不是。(在第1條中有說明)SDK的下載地址為:/docs/doc.htm?spm=a219a.7629140.0.0.MG6YFx&treeId=54&articleld=103419&docType=1#s4文檔地址為:/docs/doc.htm?spm=a219a.7386797.0.0.dNeARD&treeId=203&articleId=105285&docTvpe=1#s3手機支付API地址為:/docs/doc.htm?spm=a219a.7629140.0.0.n5wlGc&treeId=203&articleld=105287&docType=1API中文容』ip&y.trade.wap.p也y三tl網(wǎng)込仕安匚首先看到sdk接入就要考慮到集成(請略過官方的集成說明)了。先看官方文檔中的前兩條說明的EL用中徒用査何=開e£產(chǎn)品諭口能tr8焙SH05E翔IW細(xì)開眩豐占Iopenaiipa^-c?m).在■壬中吃中ffliljfri己您的.旺用.刑550=播.SHfiliSEL百蘭J:臨生五底用電一拓P|:4PHD1.卉且可心年懂?HS開弦產(chǎn)磊佢用覆底ilElAPPOS旳啦用才瞪冠掰曲寧品EHi£10?;M?岸咄了IS開庖年白ti就應(yīng)電f3:Ht審辛E開註豐臺五I用也也=冃>?筆二步:配買那弁!iS*月用折□丹寥鈕期汕刑,殆山運1祖甘合睡用葩禍掘PP_PRMtVTE_KEV)應(yīng)5fl;i目胃PP_PUE4ICJ<E¥)T生同空詞后在呂紋牢總■ST?中『注訐更找比楚..比斗成后可口藥磚忖主肚曲(ALIPM.PUEU£_住¥\諄曲舸遇昨€■?旳用K矗.準(zhǔn)備工作做好,APP_ID(支付時候為基礎(chǔ)應(yīng)用的APPID),公私鑰(用工具再次生成一個,當(dāng)然也可以用demo過程中生成的公鑰私鑰,然后用公鑰上傳到開放平臺密鑰的基礎(chǔ)應(yīng)用下面的查看應(yīng)用公鑰,進行換取此處的支付寶公鑰)應(yīng)戸占稱:茹幣APriD: "'APRSECRET:祜A(SH負(fù)1罔羽:設(shè)置壷冃蛍鋌AE5密詢:宜百應(yīng)戸弓稱:應(yīng)主2.0釜買 :基鎖應(yīng)用)APPID:RSAfSHAl}^鑰:亙百應(yīng)用公鋁 宜百盍忖圭公鑰AES^=S:刪回嗟址工:說逍集成的步驟是在你付款時候提交的action的php中include_once(SDK入口文件AopSdk.php);接下來就是接收付款的form信息具體寫法看/doc2/detail.htm?treeId=203&articleId=105463&docType=1中寫法卩HPSaop=ntwAop匚Ii亡ntQ;Saop->gatev^ayUril='littpsT/openapl.al/gateway.do';5aap->iappld='^urapp」/;$aap->rsaPrivateKeyFilePath=merchant_pmate.kejLfi1^;Saop->allpayPublicKey=?Iipay_public_key_file';Saop->apiVef§ton=1.0':£aop->postCharwt=,GBK!;Saop->form^t-=j-son'jSrequesl=newAlipaylradeWapPayREqu詼t.樸;Srequest->setBiz€ont?nt(:'?VMdyV鮎對一垂堂易的具體簡茴SJB.如卑慈種同品f話將同質(zhì)茴述護5串黠丈nobody.V;■化葩批IV乂大樂透譏■.*Vout_trade_nioV:\-70M)lllllllS(X)1111119\';■■\"timeout_ei{pre^&XW'SOm^',"."VtotaLarnount\';9-0O/B:VprDducL<ode\iAiQUICK_WAP_PA¥\fcr,.Sresult=Saop->pageExecute(^request]:echo$result,!示例中給的私鑰和支付寶公鑰都是文件存放的方式。(文件存放的格式說明請按照對demo中對文件中存放私鑰和支付寶公鑰的格式說明。)此時需要注意的是$aop=newAopCIient();$aop->gatewayUrl='/gateway.d';$aop->appld='yourapp_id';$aop->rsaPrivateKeyFilePath='merchant_private_key_file:$aop->alipayPublicKey二'alipay_public_key_file';$aop->apiVersion二’1.0';$aop->postCharset='GBK';$aop->format='json';上面的參數(shù)也可以這么寫$aop=newAopClient();$aop->gatewayUrl="/gateway.do";$aop->appId=APP_ID;$aop->rsaPrivateKey=APP_PRIVATE_KEY;$aop->format="json";$aop->charset=CHARSET;$aop->alipayPublicKey=ALIPAY_PUBLIC_KEY;$reqwest=newAlipayTradeWapPayRequiest0;$(equesi->sectizLonteiii(「nTboclyVf對一筆交易的貝依描述信息*如果是霧種商品r請將商品借述宇符串鑒加傳給body."VsLibject\nV±^V/."Vout_trade_no\n:V70501111111S001111119V;.timeout_express\*90mVr'."tal_amount\¥:9.00r"."VppciLKtdCKieV'WQUICICWaP-P/WV".:八;+ ”$result=$aop->pageExecute($request);echo^result;標(biāo)紅地方的格式必須是這樣類型的。對雙引號進行轉(zhuǎn)義。如果有變量的話這樣寫://SDK已經(jīng)封裝掉了公共姿魏,這里只需要傳人業(yè)務(wù)參數(shù)$body"對一筆交易的具休描述信息.扣果是夢種商品』請將商品描述字符串累加傳給body.$out_no"705Q1LL1111SOD1111119";^requestsetRizCorten-(ir{TT|" Y'bQdy\":\"$bodv\"s"■" X^subjectA^A0大樂"-" \1lQut_trade_na\1:\1'^aut_no\,11,1111 \1'to-tal_amoun-zV:9*Q0,"*" \1lproduct_codeVA1lQUTCK_WAP_PAY\l1ri此格式固定寫法?。∮幸稽c要說明,sdk傳參是只要參入業(yè)務(wù)參數(shù)即可!如果想修改returnUrl或者notifyUrl的時候直接$aop->returnUrl=”正式的同步通知網(wǎng)址”或者$aop->notifyUrl=”正式的異步通知網(wǎng)址",兩者選擇一個即可??;對參數(shù)的修改可以看AlipayTradeWapPayRequest類中的方法。ze$apiParas=array();■$term~inallnfo;|"ivate$prodCode;ze$apiVersian:fll*Q";Hvate$notnfyUr1Jite$returrUrl_;以上是對demo和sdk調(diào)試的基本用法,不盡或者有誤的地方,大家可以測試雅正!、下面講講如何給APP寫支付接口!服務(wù)端給客戶端寫接口須知:要明確服務(wù)端要做的事情:私鑰和支付寶公鑰必須放在服務(wù)端■簽名過程必須放在服務(wù)端。在請求參數(shù)列表中,除去sign、sign_type兩個參數(shù)外,其他需要使用到的參數(shù)皆是要簽名的參數(shù)。3?在同步通知、服務(wù)器異步通知參數(shù)列表中,除去sign、sign_type兩個參數(shù)外,凡是通知返回回來的參數(shù)皆是要驗簽的參數(shù)。4.sign值要做utf-8URLencode。正式接入開始:文檔地址:/doc2/detaiPtreeldn59&articleld=103563&docType=1;產(chǎn)昂潤益以下按口功能:移丸立廿(SDK&DEMO—}十g, 即時至imtti星退款有裔接口(DEMOTE)移動支付的demo中有服務(wù)端demo代碼(以php為例)首先看服務(wù)器demo示例的配置文件alipay.config.php"4444444444請在這里配置您的基本信息444444444444443"合作身份者ID,簽約賬號,以20昶開頭由止位純數(shù)字組成的字符串,查看地址:httpsalipay_co門+丸[partner1] = ;//商戶的私鑰,此處填寫原始私鑰去頭去尾,RS凸公利鑰主成:https://doc.open.alipayalipay_con-Fi(['prlvat:e_keyr] = ;//支村寶的公鑰,查看地址:/platform/keyManage.htm?alipay_confi^[ralipay_public_keyr]=■MIGfMA0GCSqGSIb3DQEBAQUAA4GMADCBiQKBEQCnxj/9qwVfgoUh/y2W89L6BkRAFljtiNhgPdyPu//異步通知接口alipay_config]rservice1]=rmobile.secupitypay.payr;//ttfttfttftif在這里配置您的基本信息ftfffffffffffft"簽名方式不需修改alipay_config["sign_typE"] =strtoijppep(rRSAr);"字符編碼格式目前支持gbk或utf-8a1ipay_config[rinput_charsetr]=strtolowen(rutf-8');//"證書路徑地址,用于curl中汕丄校.驗//請保證cacert.pern文件在當(dāng)前文件夾目錄中alipay_config[rcacert"] =getcwd().r/cacert.pem';"訪問模式,tB據(jù)自己的服務(wù)器是否支持£51訪問,若支持請選擇Irt邙若不支持請選擇alipay_confij['transport'] ='http';?>好,我們此時看下請求參數(shù)文檔會發(fā)現(xiàn)一個配置項是demo中缺少的!請求參數(shù)文檔地址:/doc2/detaiPtreeldn59&articleld=103663&docType=1我們對比配置文件,發(fā)現(xiàn)selkrjd 至示立忖三賬弓 String(15} 至示京忖雖賬號 不三三 心曲pa/.com{芒朗£壬磯號忘梧式|或期二蟲的盍廿三陀一用=■號{U2Q08S^m164^1孚〕.也就說,demo的示例中少了seller_id這個必要參數(shù)!大家自己加上。seller_id的值是商家的支付寶賬號!在配置文件中,有兩個參數(shù)需要注意private_key和alipay_public_key這個應(yīng)該是最近修正的寫法。你會發(fā)現(xiàn)在之前的寫法中是"商戶的私鑰(后綴杲文件相對路徑$3|1_1[Da_y_conf~ig[1pr~ivate_key_path1]二11rs3_pr~ivate_key?pem";用更付寶公鑰(后綴杲?pom)文件相對路徑$aL~ipay_conf~ig[1aln_publ~ic_key_path1] pay_publ~ic_key+pem":也就是說,這個地方可以寫公私鑰的路徑也可以寫具體的公私鑰內(nèi)容,再次要注意的是:公私鑰的格式?。∮霉俜教峁┑膐penssl工具進行生成的私鑰是保存到本地的,公鑰用于上傳并換取支付寶公鑰,且存到本地,上傳修改的位置是合作伙伴密鑰(之前有講過!?。┤绻?jīng)在網(wǎng)頁上有支付寶支付,那么當(dāng)時的私鑰和支付寶公鑰是可以再次使用的!無需修改!配置項要說明的基本也就是這些,其他的都無需變動!接下來就是服務(wù)端要集成demo的重頭戲了,那就是生成簽名操作之前官方并沒有給出明確的文檔,說的也是相當(dāng)模糊,寫此文時候官方已經(jīng)有文檔解釋附錄文檔地址:/doc2/detail.htm2treeldn59&articleld=103927&docType=1看過它的文檔還有些迷糊的話,請看如下我真實程序下的步驟過程:在傳遞的接口文件中需要引入/l~ib在傳遞的接口文件中需要引入/l~ib/alnpay/allpay?corf~ig*php11:1^AAAAAA4^AAAJC\\AAAAAAAWvW w1 1 『/Hb/alnpav/Hb/aHpaycore?funct~ior+php1-/YYYYYVVYWYVS YYVYWWYYY^^— "1/l~ibpalnpay/Hb/alnpaynotnfy?class*php"/Hb/al-jpay/l-jb/aJLipay_rs3_?furct~ior+php"寫過接口的人都應(yīng)該很清楚,只要給接口傳遞一個orderid就可以知道此訂單的購物情況。那么接下來要進行的簽名過程,和要給客戶端發(fā)送的數(shù)據(jù)請嚴(yán)格按照下列代碼進行??!"先根據(jù)部分蠢數(shù)(訂單信啟獲取簽名SsignParameter■arrayf"partner"=> "4aIFpay.conflgfpartried.“sellecJd"#%”.$alipay_config[(seller_id(]."\,,,,J"out-trade-no"=>11\'n^orderArrfonier_sn,].,,\,*,,JHsubjecth=>"\ll\$orderArr(,gpods_nameTll\Mrtl"bodY^^"".$orderArT[t£pods_nanietJ.叫“冷"tctalWR^"".^rderArrt'pay.fee'J-'A*""noW-Urr'^X"",$alipay_eonf|g['iwtifLuiT]."servioe-=>"Vn-$alipav_€onfig['service,].,l\B,,J"paymentJtype"=>*Xl\$allp?y_confIgl^payment_t¥pe'JJ1\"","_input_chareet"畤?yán)怼敖韪蔍ipayjconfigf'input_char3et].M\"":獲取預(yù)簽名字符串$strSign=createLinkstring{$signParameter);"調(diào)用RAS加密函數(shù)義取加密串$resultvr5aSign($strSignl$alipayjconfig[*private_k)ey_patht]);〃將完整的信息發(fā)給客戶觸_ ~$parameter=arrayf

看到exit里面的result會發(fā)現(xiàn)json_encode_ex這個函數(shù),此函數(shù)為我自己為轉(zhuǎn)換json_encode函數(shù)中文轉(zhuǎn)碼所寫,實際上的寫法是json_encode($payinfo膽是里面的中文全部被轉(zhuǎn)換了。而支付寶的參數(shù)要求,明確要求,原碼傳遞中文,文字是什么樣的就是什么樣的!

上面說到了流程,下面稍微說一下對支付結(jié)果的處理:支付的結(jié)果處理有兩種方式:一個是同步通知,一個是異步通知(一定要明確自己用的是異步請求還是同步請求!Return_url是同步,notify_url是異步,選擇其中之一?。┪覀€人建議使用異步通知(習(xí)慣而已)異步通知的url,無論是在APP支付還是網(wǎng)站支付中都形如notify_url,大家可以自己定位查詢下,下面以為app寫接口為例說明下notify_url。打開下載的服務(wù)端demo,我們會看到一個文件,notify_url.php,此文件就是異步通知的文件,異步通知回來后,服務(wù)端就要根據(jù)異步的結(jié)果,去處理自己的程序邏輯,比如修改訂單狀態(tài)。業(yè)務(wù)邏輯的處理,我見過有人寫在0的位置,也有人寫在1的位置,我個人是寫在了1的位置。當(dāng)此時,一個完整的支付基本就寫完了,關(guān)于支付的調(diào)試,其實支付寶是提供了一個方法的。異步回來的結(jié)果是要再次進行驗簽的,基本上支付是否成功,就在驗簽的方法中得以體現(xiàn),也就是說一些異步回來的信息,在驗簽的方法中是可以調(diào)試打印的!!

//計算得出通知驗證結(jié)果$al~i[^ayNotify=:i.A~L~ip日($日l~i口旳8口鬥旦):$verify_result=$ali£ayNotnfy-:vernfyNotnfy();if($vernfy_result) ■驗證成功//logResult(T走到這里J;///////////////////////////////////////////////////////j//請在這里加上商戶的業(yè)務(wù)邏輯程序代//—請根據(jù)您的業(yè)務(wù)邏輯來編寫程序(以.下代碼僅作彗考)—//獲取支付寶的通知返回參數(shù),可參考技術(shù)文檔中服務(wù)器異歩通知參數(shù)列表//商戶訂單號$out_tr3cle_no=$_P0STE1out_trade_no1];//支府寶交易號$trade_no=$_POST[1trade_no1];//交易妖態(tài)$tr3de_status=$_P0ST[1trade_status1];if($_POSTE11rade_status1]==1TRADE_FINISHED1){//判斷該筆訂單是否在商戶網(wǎng)站中已經(jīng)做過處理//如果沒有做過處理,根據(jù)訂單號(out_tr3de_rio)在商戶網(wǎng)站的訂單系自//如果有做過處理,不執(zhí)行商戶的業(yè)務(wù)程序77注意://退款日期超過可退款期限后(如三個月可退款),支付寶系統(tǒng)發(fā)送該交易狀態(tài)通"請務(wù)必判斷請求時的total_feeseller_id與通知時獲取的total_fee//調(diào)試用,寫文本函數(shù)記錄程序運行情況是否正常//LogResult("退款成功林);}el.seif($_P0STE1trade_status1]==1TRADE_SUCCESS1){//判斷該壘訂單是否在商冃網(wǎng)站中已經(jīng)做過處理"如果沒有做過處理,根據(jù)訂單號(out—tzdE—nci)在商戶網(wǎng)站的訂單系啟/丿如果有做過處理,不執(zhí)行商戶的業(yè)務(wù)程序//注意://付款完成后,支付寶系統(tǒng)發(fā)送該交易狀態(tài)通知//請務(wù)必判斷請求時的total_feeseller_id與通知時獲取的total_fee-sse//調(diào)試用,寫文本函數(shù)記錄程諄運行情況是否正常//logResult("交易成功林);orderpaid($outtradeno,1allpav1):進到verifyNotify方法(如果用的是同步通知這個方法是verifyReturn())中我們可以看到"生戍筌客皓黑$-4s^-ignthis-getSignVnryfy{$_GETa寺_石FT]性*即"]);"庶取支忖寶遠(yuǎn)程駅務(wù)醤AT瞬果£竝證是咅崔支1T瑩炭丟的帯總)&responseTxt■!f■?!.&?'£-(I-MPty($_GET[!,>otify_id,!J)}^responwlKt$thi&?聲的歸持J5ET「grifyj"寫日志遲錄//ifCiHsS-ign)-{hsSignStr='false15//$log_rext二,SrEBponBETjtthsSignStr='false15//$log_rext二,SrEBponBETjtt」%irtreturn_url_log:isSign=,r?廣?"卩#/$1口客_七亡彈七二 1:廠亡^上亡Link5tring(S_GET);//logReaul七($lng_tej(七);"噓證f/5resgojjsetTwt結(jié)果不是tnui與眼^hISSpI.S合作勢怡者15notify_id_失蝕有關(guān)//isSigri的姑黒不是tw帶與點全拎搶環(huán)ii末時的戰(zhàn)歆IS貳、細(xì)瑪捋貳肖壬沒錯??!logResult就是支付寶提供的打印返回異步通知參數(shù)的方

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論