(aspnet)PayPal案例的关键源码代码 PayPal集成 API接口.doc_第1页
(aspnet)PayPal案例的关键源码代码 PayPal集成 API接口.doc_第2页
(aspnet)PayPal案例的关键源码代码 PayPal集成 API接口.doc_第3页
(aspnet)PayPal案例的关键源码代码 PayPal集成 API接口.doc_第4页
(aspnet)PayPal案例的关键源码代码 PayPal集成 API接口.doc_第5页
已阅读5页,还剩34页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

轻轻松松集成轻轻松松集成 PayPal 标准版标准版 Paypal 国际版网站集成简易教程 一 序言 前段时间接到一个外贸网站的项目 集成 paypal 支付接口的 对象是海外用户 全 部用 US 的信用卡结算 国内有个 paypal 的中文版 叫贝宝 不过只支持人民币之间的结 算 而且提供的功能不多 所以只能使用 paypal 国际版 也就是 习惯性的 google 了一下相关资料 发现关于 接口的中文文档并不多 也不详细 只好自 己上 研究 还好 paypal 上的资料非常齐全 而且还提供了开发者沙盒 sandbox 相比之下 国内流行的支付宝还有很长的路要走啊 项目结束的时候就有想法写一篇网站集成 paypal 的简易教程 方便以后的各位开发 者 毕竟看长篇英文资料是很头痛的事情 一直到昨天期末考才结束 所以今天开始写 这个教程 其实内容也不多 可能还算不上教程 只能算经验吧 主要分为序言 支付按钮 返回信息方式 IPN string strNewValue string strResponse string serverURL HttpWebRequest req HttpWebRequest WebRequest Create serverURL req Method POST req ContentType application x www form urlencoded strNewValue strFormValues req ContentLength strNewValue Length StreamWriter stOut new StreamWriter req GetRequestStream System Text Encoding ASCII stOut Write strNewValue stOut Close StreamReader stIn new StreamReader req GetResponse GetResponseStream strResponse stIn ReadToEnd stIn Close return strResponse VERIFIED 这段代码的作用是判断 IPN 信息是否来自 Pyapal 如果不进行判断 那么恶意用 户完全可以模拟一个信息 post 到你的网站上 让你认为订单已经完成支付 所以 必须首 先对接受到的信息进行验证 代码的基本原理 serverURL 定义了验证地址 sandbox 为 就是 bin webscr 将 paypal 发送过来的所有信息加上一个 轻轻松松集成 PayPal 7 string ppStatus Request Form payment status ToString string ppDate Request Form payment date ToString string ppItem Request Form item name ToString string ppPrice Request Form mc gross ToString 每个变量的解释可以参考 Paypal 网站上的说明 我这里就不再重复 cs 代码结构如下 程序代码 public partial class paypal ipn System Web UI Page protected void Page Load object sender EventArgs e if VerifyIPN 验证成功 string ppTx Request Form txn id ToString 获取 post 中的各项变量值 执行将数据写入数据库等操作 bool VerifyIPN 具体代码见上 这样 就实现了将支付信息传回网站的功能 注 当交易状态发生改变时 paypal 也会返回一个 ipn 比如完成支付 退款等等 介绍一下 sandbox 中 IPN 测试工具 登陆 sandbox 主帐号 就是你在 sandbox 上注 册的那个 不是那些卖家 买家帐号 选择 Test Tools Instant Payment Notification IPN Simulator 输入你的 ipn 接受文件地址 选择 ipn 信息的方式 然后会让你填具体信息内容 再 点击 Send IPN 就能模拟一个 ipn 到你网站的页面 可以用来测试 IPN 是否正常工作 轻轻松松集成 PayPal 8 不过这个工具有个小 BUG 就是发送的 IPN 里不包括 contact phone 这个变量 但 是实际的 IPN 里是有的 这里要注意一下 注 可以在商家帐号的 Profile Selling Preferences Website Payment Preferences 中 选择 Contact Telephone Number 这一栏 来确定是否需要发送买家联系电话 通过 IPN 你的网站就开始从真正意义上的集成了 Paypal 这篇文章写得有些仓促 如有疑问可以发送邮件到 chenchen at 用 替换 at 下一次我会讲 PDT 方式 这个比 IPN 简单很多 Paypal 国际版网站集成简易教程 四 PDT 的使用 引用内容 什么是 PDT PDT 是一个安全获取付款明细的方式 在买家付完款后 卖家可以通过此方式即时获取付 款明细并显示给买家看 暑假时候写了前面三篇文章 后来去电视台打工了 帮他们上了一个人居博览会 再接着就开学了 又在杭州 温州 宁波跑来跑去 一直不能静下来继续写 现在工作又 没啥着落哈 轻轻松松集成 PayPal 9 今天难得有感觉想写了 不知道是不是中午牛排的威力 趁机会就快点写吧 上图是 PDT 的流程示意 1 首先买家付款后通过事先设定好的返回 url return 回到您的网站 2 接着 paypal 在返回 url 后面加上 tx 变量 即交易号 3 然后网站将收到的 tx 和您的令牌 paypal 账户里申请 发回 paypal 4 paypal 验证令牌通过后 将交易明细发回网站 5 最后网站将交易明细显示给客户 目目 录录 1 注册您的注册您的 PAYPAL 帐号帐号 2 2 创建创建 BUY NOW 按钮按钮 2 3 创建创建 SHOPPING CART 按钮按钮 4 3 1 创建 ADD TO CART 按钮 4 3 2 创建 UPLOAD CART 按钮 6 4 加密网站付款加密网站付款 EWP 9 4 1 使用加密网站付款的先决条件 9 4 2 创建加密按钮 12 5 附录附录 1 参考文档及网站参考文档及网站 19 6 附录附录 2 PAYPAL 目前支持的货币列表目前支持的货币列表 20 7 附录附录 3 常见问题 常见问题 21 8 附录附录 4 标准变量列表 标准变量列表 22 9 附录附录 6 国家或地区 国家或地区 ISO3166 代码代码 29 轻轻松松集成 PayPal 10 1 注册您的注册您的 PayPal 帐帐号号 如果您已经有 PayPal 账户了 那恭喜您 您可以直接跳过这部分 如果还没有 PayPal 账户 那您可以通过 访问主页 如图 1 1 所示 点击 Sign Up 或 Sign Up Now 按钮立即注册一个 PayPal 账户 如需帮助 您可以点击主页上方的 帮助 按钮或在您的浏览器中输入 string sResult 获取所有证书存放的路径获取所有证书存放的路径 string VPath Page Server MapPath HttpContext Current Request ApplicationPath cert string sCmdTxt cmd xclick cert id XXXX buiness paypal string sCertFile VPath your pubcert pem string sPrivKeyFile VPath your prvkey pem string sPPCertFile VPath paypal cert pem txt 生成加密字符串到生成加密字符串到 sEncryption string sEncryption buttonenc SignAndEncrypt sCmdTxt sCertFile sPrivKeyFile sPPCertFile ref sResult string outString outString outString outString outString outString outString outString outString outString 输出的就是加密付款按钮的输出的就是加密付款按钮的 HTML 代码代码 4 2 2 用 JAVA 生成加密按钮 在开始使用 JAVA 生成加密按钮之前 您必须做以下几个准备工作 1 下载并安装 JDK 请参考 2 根据 JDK 的版本下载相对应的 crypto 下载地址为 http www bouncycastle org latest releases html 下载后解压到某一个目 录备用 记住此目录名 如 c crypto 124 用于后面的 CRYPTO HOME 3 从 或 下载 Java TM Cryptography Extension JCE 解压 JCE rar zip 并将其中 local policy jar 及 US export policy jar 覆盖至 JAVA HOME jre lib security 目录中 1 用用 PayPal 提供的示例代码生成单个按钮提供的示例代码生成单个按钮 从 下载 java zip 解压 生成单个加密按钮步骤如下 A 编辑其中的文件 build window bat 设置 CRYPTO HOME 为上面中 CRYPTO 解压的目录 如图 4 2 所示 修改好后保存并运行 运行后将自动编译该目 录下的类 ButtonEncryption 以及 com paypal crypto sample 目录下所有 java 类 B 将您的私钥 公共证书 PKCS12 文件和 PayPal 的公共证书拷贝到一个指定 的目录中 这里我们将这些文件拷贝到与 ButtonEncryption class 同一目录 C 运行下面的命令即可生成加密内容 Java ButtonEncryption 轻轻松松集成 PayPal 26 Sandbox 其中 您的公共证书文件名 您的私钥文件名 PayPal 的公共证书文件名 生成 PKCS12 文件时输入的密码 加密的字符串命令行 输出 HTML 代码的文件名 Sandbox 在 PayPal 测试环境中生成 比如 Java ButtonEncryption my pubcert pem my prvkey p12 paypal pubcert pem pwd cmd xclick business paypal return u htm item name itemname currency code CNY amount 1 00 invoice I20050101004 cancel return java bn html D 打开生成文件 这里为 java bn html 将里面加密的 FORM 内容复制到您需要付款的页面中即可 的样本如下 2 集成集成 PayPal 加密按钮到您的加密按钮到您的 JAVA 工程环境中工程环境中 A 复制 java zip 包中的整个 com 目录到您的工程中 轻轻松松集成 PayPal 27 B 在您需要生成加密按钮的类里添加引用 import com paypal crypto sample import java io import java security InvalidAlgorithmParameterException import java security KeyStoreException import java security NoSuchAlgorithmException import java security NoSuchProviderException import java security Security import java security UnrecoverableKeyException import java security cert CertStoreException import java security cert CertificateException import org bouncycastle cms CMSException C 然后通过下面的示例代码即可生成加密数据 Security addProvider new org bouncycastle jce provider BouncyCastleProvider try 先申明变量先申明变量 PrivkeyFile CertFile PPCertPath Password CmdText 这些变量的定义可以参考上面这些变量的定义可以参考上面 private static String PrivkeyFile null private static String CertFile null private static String PPCertPath null private static String Password password private static String CmdText null cmd xclick business paypal amount 1 00 TODO 初始化变量初始化变量 PrivkeyFile CertFile PPCertPath Password CmdText 申明一个申明一个 ClientSide 其中 其中 PrivkeyFile CertFile PPCertPath Password CmdText ClientSide client side new ClientSide PrivkeyFile CertFile PPCertPath Password 生成加密数据生成加密数据 String result client side getButtonEncryptionValue CmdText PrivkeyFile CertFile PPCertPath Password 生成加密付款按钮的生成加密付款按钮的 HTML 代码代码 StringBuffer sbResult new StringBuffer sbResult append sbResult append sbResult append sbResult append 通过调用通过调用 sbResult toString 即可输出加密付款按钮的即可输出加密付款按钮的 HTML 代码代码 以下为捕获意外事件以下为捕获意外事件 catch NoSuchAlgorithmException e e printStackTrace catch NoSuchProviderException e e printStackTrace catch IOException e e printStackTrace catch CMSException e e printStackTrace catch CertificateException e e printStackTrace catch KeyStoreException e e printStackTrace catch UnrecoverableKeyException e e printStackTrace catch InvalidAlgorithmParameterException e e printStackTrace catch CertStoreException e e printStackTrace 5 附附录录 1 参考文档及网站参考文档及网站 PayPal 网站付款标准版交易方式确认集成指南 中文版 英文版 订单管理集成指南 中文版 英文版 轻轻松松集成 PayPal 29 PayPal 集成中心 标准标量列表 IPN 和 PDT 变量列表 加密按钮 英文论坛搜索 按钮示例网站 IPN 代码生成器 Itemid 49 EWP for PHP PEM 和 P12 的转换器 Itemid 42 6 附附录录 2 PayPal 目前支持的目前支持的货币货币列表列表 货币代号货币名称 USDU S Dollars AUDAustralian Dallars CADCanaidan Dollars CZKCzech Korunna DKKDanish Kroner EUREuros HKDHong Kong Dollars HUFHungarian Forint NZDNew Zealand Dollars NOKNorwegian Kroner 轻轻松松集成 PayPal 30 PLNPolish Zlotych GBPPounds Sterling SGDSingapore Dollars SEKSwedish Kronor CHFSwiss Frances JPYJapan Yen 7 附附录录 3 常 常见问题见问题 若在您的 Buy Now 按钮中添加了变量 invoice 订单标识号 则应保证每次付 款中的 invoice 号码唯一 若重复付款 PayPal 将提示您 如下图所示 在所有涉及到价格的变量中 其数值都只精确到小数点后面两位 若其中一个数值精 确到两位以上或者格式不对时 PayPal 将提示您发生错误 如下图所示 如果您为您的网站付款流程页面定义了 LOGO 则该 LOGO 图片必须存放在一个 HTTPS 服务器上 以避免出现一些安全警告 如下图所示 轻轻松松集成 PayPal 31 8 附附录录 4 标标准准变变量列表量列表 变量变量 cmd 的值的值 cmd 的值的值说明说明 xclick 立即购买 和 捐赠 按钮 cart 购物车 按钮 ext enter 预填充您的客户的 PayPal 注册表单 需要一个 redirect cmd 变量 其值应为 xclick 用于用于 IPN 的变量 的变量 notify url 变变量名量名说说明明必填必填 选选填填 字段字段 长长度度 notify url 用于接受PayPal发送的关于即时付款通知的交易信息的URL 必须是有效的 URL 选填 255 轻轻松松集成 PayPal 32 表单变量表单变量 物品信息物品信息 变量名变量名说明说明 必填必填 选填选填 字段字段 长度长度 amount购物价格或金额 不包括运费 手续费或税费 如果在 立即购买 或者 捐赠 交易情况下省略 则由客户在购买时填写此值 立即 购买 或者 捐赠 交易情况下是选填 购物车 交易情况下是必填 请参 考本 行说 明 item name物品描述 如果在 立即购买 或者 捐赠 交易情况下省略 则客户将 看到一个可以选择输入物品名称的栏目 立即 购买 或者 捐赠 交易情况下是选填 购物车 交易情况下是必填 请参 考本 行说 明 127 item numb er 可用于跟踪购买或捐赠的传递变量 在付款完成时传回给您 如果在 立 即购买 或者 捐赠 交易情况下省略 则将没有变量传回给您 选填127 quantity物品数量 将金额 运费和税费乘以数量将得出付款总额 如果这是购物 车交易 PayPal将附加物品数量 例如 quantity1 quantity2 提示 提示 数量的值必须是正整数 不允许为空 零或负数 选填 undefined quantity 如果设置为 1 则允许买家修改数量 提示 提示 这个变量只允许在 立即购买 或者 捐赠 交易情况下使用 购 物车交易不允许使用 选填1 on0第一选项栏名称 如果省略 则将没有变量传回给您 选填64 on1第二选项栏名称 如果省略 则将没有变量传回给您 选填64 os0第一组选项值 如果此选项通过文本框或单选按钮选中 则每个值均应不 超过 64 个字符 如果该值由客户通过文本框输入 则上限为 200 个字 符 如果省略 则不会传回给您任何变量 提示 提示 必须对 on0 进行定义 才能识别 os0 选填 请参 考本 行说 明 64 or 200 os1第二组选项值 如果此选项通过文本框或单选按钮选中 则每个值均应不 超过 64 个字符 如果该值由客户通过文本框输入 则上限为 200 个字 符 如果省略 则不会传回给您任何变量 提示 提示 必须对 on1 进行定义 才能识别 os1 选填 请参 考本 行说 明 64 or 200 表单变量表单变量 显示信息显示信息 名字名字说说明明 必填必填 选选填填 字段字段 长长度度 add 添加一个物品到 PayPal 购物车 若 add 和 display 两个变量同时设置 则只显示当前购物车信息 必填1 cancel retu rn 指在付款取消的情况下 客户浏览器返回到的 URL 例如 您的网站上 显示 付款已取消 页面的 URL 如果省略 则用户将被带到PayPal网站 选填 cbt 设置 PayPal付款完成 页面上的 继续 按钮的文本 提示 提示 return 变量也需要被设置 选填 60 cn 提示栏上的标签 该值不保存 而且不会出现在任何给您的通告中 如果选填 40 轻轻松松集成 PayPal 33 省略 则将没有变量传回给您 cpp heade r image 将您选择的图片设置为显示在付款页面的左上角 该图片的最大尺寸为 750 像素宽 90 像素高 有效的字符集为 URL 安全字符 由于图片不存 储在我们的数据库上 所以 cpp header image 变量没有字符限制 建议 您只提供存储在安全 https 服务器上的图片 选填无限 制 cpp heade rback color 为付款页面标题设置背景色 有效的字符集为 6 字符 HTML 十六进制 ASCII代码 此变量不区分大小写 选填 cpp heade rborder col or 设置付款页面标题四周的边框颜色 边框是位于标题空间四周 粗细为 2 像素的方框 方框最大尺寸为 750 像素宽 90 像素高 有效的字符集为 6 字符HTML 十六进制 ASCII 代码 此变量不区分大小写 选填 cpp payflo w color 为付款页面的标题以下区域设置背景色 有效的字符集为 6 字符 HTML 十六进制 ASCII 代码 此变量不区分大小写 提示 提示 不允许使用与贝宝错误信息相冲突的背景色 默认颜色为白色 选填 cs 设置您的付款页面的背景色 如果设为 1 背景色将为黑色 如果省略 或设为 0 背景色则为白色 选填 display 显示当前 PayPal 购物车的物品信息 若 add 和 display 两个变量同时设置 则只显示当前购物车信息 选填 1 image url 您希望在PayPal付款页面左上角的用作标识的 150 x50 像素图片的 URL 必须是有效的URL 如果省略 则客户看到的是您的商家名称 如果您有企业账户 或您的电 子邮件地址 如果您有高级账户 选填 no note 为付款加入说明 如果省略或设为 0 则会提示您的客户输入说明 如果 设为 1 则不会提示您的客户输入说明 选填 1 no shippin g 买家的送货地址 省略或设为 0 提示客户输入收货地址 1 不要求客户提供收货地址 2 客户必须提供收货地址 选填 1 page style 为与此按钮 链接相关的付款页面设置 自定义付款页面的样式 page style 的值与添加或编辑页面样式时您选择的页面样式名称相同 page style 变量的最大长度为 30 个字符 有效的字符集只能为小写 7 位字母数字 ASCII 字符 加下划线 不能包 含空格 如果您希望按钮 链接始终引用您设置为首选的样式 请将该变量设置为 primary 如果您希望该按钮 链接始终引用默认的贝宝页面样式 请将该变量设置 为 paypal 选填 30 return 指完成付款后客户的浏览器返回到的 URL 例如 在您的站点上显示 感谢您的付款 的页面的 URL 如果省略 则您的买家将被带到PayPal网站 选填 rm 付款完成后的返回 URL 的行为 返回方法 提示 提示 rm变量只有在return变量被设置后才能生效 如果省略或为 0 则 GET 方法用于没有启用即时付款通知的所有购物车 交易 而 POST 方法用于所有其他交易 如果为 1 并设置了 return 则客户的浏览器由 GET 方法返回至返回 选填 轻轻松松集成 PayPal 34 URL 并且不提交任何交易变量 如果为 2 并设置了 return 则客户的浏览器由 POST 方法返回至返回 URL 同时将所有可用交易变量发送至该 URL 表单变量表单变量 交易信息交易信息 名字名字说说明明 必填必填 选选填填 字段字段 长长度度 address ov erride 如果设置为 1 通过预填充栏传送的地址将会覆盖用户的已存储地址 用 户可以看到传送的地址 但是无法进行编辑 如果地址无效 例如 缺少 必需的栏 包括国家或地区 或者没有包括地址 则不会显示地址 选填 1 currency c ode 付款货币 定义币种以标示货币变量 amount shipping shipping2 handling tax 如果省略 则所有货 币字段将解释为美元 选填 custom 永远不会向您的客户显示的传递变量 如果省略 则不会传回给您任何变 量 选填 256 handling 手续费 并非根据数量而定 无论所购物品数量多少 均收取相同手续费 如果省略 则不收取手续费 选填 invoice 您可以用于识别此次购物的帐单号码的传递变量 如果省略 则不会传回 给您任何变量 选填 127 redirect c md 只有在cmd的值为 ext enter 即账户注册的预填充时才有效 redirect cmd 的唯一有效值是 xclick 选填 40 shipping 在您启用了特定于物品的运费时 运送此物品的成本 如果使用了 shipping 而未定义 shipping2 则无论所购物品数量多少 都将收取该固 定金额 提示 提示 如果您使用的是基于物品的运费 请确保选中您的用户信息中的覆 盖复选框 如果省略 并启用了基于用户信息的运费 则将向您的客户收取您的用户 信息中定义的金额或百分比 选填 shipping2 每增加一件物品所需的运送成本 如果省略 并启用了基于用户信息的运 费 则将向您的客户收取您的用户信息中定义的金额或百分比 选填 tax 基于交易的税费覆盖变量 将该变量设置为您希望应用于交易的固定税额 而不论买家所处的位置 如果存在 该值将覆盖可能已在您的用户信息中 设定的任何税费设置 如果省略 则适用用户信息税费设置 如有 选填 tax cart 整个购物车的税费 而不是单个物品的税额 选填 表单变量表单变量 购物车特有购物车特有 名字名字 必填必填 选选填填 说说明明允允许许的的值值 amount必填 物品的价格 购物车中所有物品的总价格 任何有效货币金额 business必填 您PayPal账户上的电子邮件地址 您 PayPal 账户上的电 轻轻松松集成 PayPal 35 子邮件地址 handling ca rt 选填对整个购物车收取的单笔手续费 如果在多个 添加到 购物车 按钮中使用handling cart 将使用第一件物品 的handling cart 值 任何有效货币金额 item name必填 物品名称 或购物车名称 paymentacti on 选填指明交易是否是稍后在 上通 过PayPal授权与捕获进行捕获的授权 upload必填 上传第三方购物车 1 表单变量表单变量 第三方购物车中单个物品的变量第三方购物车中单个物品的变量 名字名字说明说明 必填必填 选填选填 字段字段 长度长度 amount x物品 x 的价格 必填 handling x物品 x 的手续费 选填 item name x 购物车中的物品 x 的名称 必须为字母数字字符 必填127 item numbe r x 可用于跟踪购买 或捐赠的传递变量 在付款完成时传回给您 如果省略 则将没有变量传回给您 选填127 on0 x物品 x 的第一选项栏名称 选填64 on1 x物品 x 的第二选项栏名称 选填64 os0 x物品 x 的第一组选项值 必须对 on0 x 进行定义 才能识别 os0 x 选填200 os1 x物品 x 的第二组选项值 必须对 on1 x 进行定义 才能识别 os1 x 选填200 quantity x物品 x 的数量 quantity x 的值必须是正整数 不允许为空 零或负 数 选填 shipping x运送物品 x 的第一件 数量 1 的成本 选填 shipping2 x每增加一件运送物品 x 数量 2 或更多 所需的运送成本 选填 tax x物品 x 的税额 选填 表单变量表单变量 网站付款的预填充变量网站付款的预填充变量 变量名变量名说明说明要求要求 字段字段 长度长度 address1街道 第 1 栏 共 2 栏 字母数字字符100 address2街道 第 2 栏 共 2 栏 字母数字字符100 city市 县字母数字字符40 country设置运送和开单国家或地区 请查看附录 6 以了解允许的国家 或地区代码 字母 2 email客户的电子邮件地址字母数字字符127 first name名字母32 last name姓字母32 轻轻松松集成 PayPal 36 lc定义买家的交易方式确认流程的语言字母2 night phone a 美国电话号码的区号 或非美国电话号码的国家或地区代码 它会预填充买家的家庭电话 数字3 night phone b 美国电话号码的 3 位数前缀 或非美国电话号码的完整电话号 码 不包括国家或地区代码 它会预填充买家的家庭电话 数字3 night phone c 美国电话号码的 4 位数电话号码 它会预填充买家的家庭电话 数字4 state省 直辖市 自治区必须为两个字 符的正式缩写 2 zip邮编数字32 表单变量表单变量 账户注册的预填充变量账户注册的预填充变量 变量名变量名说明说明要求要求 字段字段 长度长度 business addres s1 客户所在的街道字母数字字符128 business addres s2 客户所在的街道字母数字字符128 business

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论