




已阅读5页,还剩5页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
PayPal账户经理CandyPHP程序集成PayPal操作步骤PayPal账户经理Candy 很多的独立网站都有自带的PayPal集成接口(magento、zencart等),用户只需要通过技术手段把账户信息配置上去就可以进行在线收款了。但是对于一些自主设计的网站,paypal集成的时候都需要用到接口代码集成到网站。为大家分享一下PHP语言如何集成paypal。154570054CandyPayPal IPN所谓paypal ipn(Instant Payment Notification),就是Paypal开发的一种能主动通知第三方卖家系统交易状态的一种机制。IPN的原理很简单,就是当产生了一个交易之后,交易状态发生变化时,如用户已经付款、或者退款、撤销时,Paypal利用常用的HTTP POST方式,将交易的一些变量提交给网站的某个页面(称之为IPN Handler),当这个页面接受到请求时候,将这些数据原封不动加上一个指示验证的cmd=_notify-validate,POST回Paypal 的接口地址,如果数据正确,那么Paypal返回字符串VERIFIED,否则为INVALID,如果结果为VERIFIED,那么你的程序就可以使用这些数据进行操作。注册Sandbox帐号但代码的调试是一件有点麻烦的事情,因为作为第三方开发人员,不可能开两个帐号,每次测试还要之间交易一些资金,所以Paypal专门开发了Sandbox给开发人员进行测试,首先到/注册一个开发者帐号,好了之后再进入Sandbox建立测试用的Paypal虚拟帐号(至少应该建立一个Business的和一个Personal的,business账户建议手动创建),这种账号注册方法和Paypal的流程一样,信息可以是假的,包括银行帐号、信用卡(其实Paypal Sandbox会自动生成一些随机的号码)。接下来需要激活Paypal Sandbox的虚拟帐号,注意,这里不管你在Paypal Sanbox注册时填什么邮件地址,有任何发送到虚拟帐号所填邮箱的邮件都存会在开发帐号的管理界面中的Email页(导航栏上有)中。登录Sandbox的虚拟Paypal环境,还需要验证虚拟帐号的银行,这里可以随便填,然后通过Add Funds来给账户充值(随意填写)。然后,还需要激活IPN的选项,在Business的那个账户的Profile设置页面中,点击,然后点击Edit按钮,打开IPN,这里如果你使用的是固定的IPN Handle,可以直接将地址填入。接下来,我们测试的时候,应该将Paypal接口的地址设置为/cgi-bin/webscr基本的流程当客户向您付款时,PayPal将向位于指定 URL (type=”hidden” name=”notify_url” value=” “)的服务器发送一个通知。此通知中将包括您的客户的所有付款信息(例如,客户名称、金额),以及一段加密代码。当服务器收到通知时,它随后会将该信息(包括加密代码)发送回安全的PayPal URL。PayPal将通过检查加密字符串对交易进行身份验证。这种将 IPN 数据传回PayPal的操作防止了“欺骗”,因此您可以确保 IPN 来自PayPal。在进行验证时,PayPal会将其合法性的确认信息发送回您的服务器。提示:要启用即时付款通知,您将需要输入一个 URL,通过它您可以接收到来自您的用户信息的通知。启用了即时付款通知后,每次当您接收付款时您的服务器都会收到一个通知,此通知将以隐藏的 “FORM POST”的方式发送到指定的 URL,并将包括所有付款信息。此页面的底部列出了通知的 FORM 变量。每次收到来自PayPal的 IPN 时,您必须在实施订单之前完成如下所述的通知确认过程。确认列出的信息将可确保交易合法。通知确认IPN为了确保付款已进入您的PayPal账户,您必须验证用作“receiver_email”的电子邮件地址是否已在您的PayPal账户中注册并得到确认。服务器收到即时付款通知后,您将需要通过构建一个发送到PayPal的 HTTP POST 对其进行确认。您的 POST 应发送到 /cgi-bin/webscr您必须完全按照收到表单变量时的原样发送所有收到的表单变量。您还需要将一个值为 “_notify-validate”的名为“cmd”变量(例如,cmd=_notify-validate)附加到 POST 字符串。PayPal将回复该 POST,并在回复的正文中包含一个单词“VERIFIED”或“INVALID”。当您收到 VERIFIED 回复时,您需要在实施订单之前执行若干检查: 确认“payment_status”为“Completed”,因为系统也会为其他结果(如“Pending”或“Failed”)发送 IPN。 检查“txn_id”是否未重复,以防止欺诈者重复使用旧的已 完成的交易。 验证“receiver_email”是已在您的PayPal账户中注册的电子邮件地址,以防止将付款发送到欺诈者的账户。 检查其他交易详情(如物品号和价格),以确认价格未改变完成了以上检查后,您可以使用 IPN 数据更新您的数据库,并处理购物。如果收到“无效”通知,则应将其视为可疑通知,并应对其进行调查。主要参数:向PayPal提交粘贴代码时,应包括以下 4 个隐藏变量及一张图片,这就是说,您粘贴到PayPal的最短必需代码应如下: / _xclick 立即购买 /PayPal账户上的电子邮件地址 /物品名称(或购物车名称) /定义币种以标示货币变量 值可以为 USD、EUR、GBP、CAD、JPY。 /物品的价格(购物车中所有物品的总价格,因为是_Xclick模式)可用变量business 您的PayPal账户上的电子邮件地址quantity 物品数量。大于 1 时,会与金额相乘item_name 物品名称(或购物车名称)。必须是字母数字字符,最多为 127 个字符item_number 用于跟踪付款的可选传递变量。必须是字母数字字符,最多为 127 个字符amount 物品的价格(购物车中所有物品的总价格)shipping 该物品的运送成本shipping2 每增加一件物品所需的运送成本handling 手续费tax 基于交易的税额。如果使用该变量,传递值将覆盖所有用户信息税收设置(不管买家所在位置)。no_shipping 送货地址。如果设为 1,则不会要求您的客户提供送货地址。该变量为可选项;如果省略或设为 0,将提示您的客户输入送货地址cn 可选标签,会在提示栏上显示(最多 40 个字符)no_note 为付款加入提示。如果设为 1,则不会提示您的客户输入提示。该变量为可选项;如果省略或设为 0,将提示您的客户输入提示。on0 第一选项栏名称。最多 64 个字符os0 第一组选项值。最多 200 个字符。on0 必须定义,以便识别 os0。on1 第二选项栏名称。最多 64 个字符os1 第二组选项值。最多 200 个字符。on1 必须定义,以便识别 os1。custom 决不会向您的客户显示的可选转递变量。可用于跟踪存货invoice 决不会向您的客户显示的可选转递变量。可用于跟踪账单号notify_url 仅与 IPN 一起使用。发送 IPN Form Post 的互联网 URLreturn 您的客户完成付款后将返回的互联网 URLcancel_return 您的客户取消付款后将返回的互联网 URLimage_url 您要用作图标的图片的互联网 URL,图片大小为 150 X 50 像素cs 设置您的付款页面的背景色。如果设为 1,背景色将为黑色。该变量为可选项;如果省略或设为 0,背景色将为白色扩展变量PayPal 允许您粘贴扩展变量,条件是将改变以下 cmd 值,通过上述 “cmd” 值修改,您还可使用以下变量:email 客户的电子邮件地址first_name 客户的名。必须是字母数字字符,最多为 32 个字符last_name 客户的姓。必须是字母数字字符,最多为 64 个字符address1 客户地址所在国家或地区。必须是字母数字字符,最多为 100 个字符address2 客户地址第二行。必须是字母数字字符,最多为 100 个字符city 客户地址所在城市。必须是字母数字字符,最多为 100 个字符state 客户地址所在州。必须是正式的 2 个字母缩写zip 客户地址的邮政编码night_phone_a 客户夜间联系电话号码的区号night_phone_b 客户夜间联系电话号码前三位day_phone_a 客户白天联系电话号码的区号day_phone_b 客户白天联系电话号码前三位提示:若要更改”用户信息”中的默认运费和手续费设置,请转至您的用户信息,编辑您的运费计算,然后点击”允许采用基于交易的运费”复选框。将单个物品传递给PayPal如果您的第三方购物车可设置成向PayPal传递单个物品,有关物品的信息将加入买家和卖家的记录日志和系统通知中。要加入该物品的信息,您需要将 HTML 格式元素粘贴至PayPal购物车流程的新版本。该过程与 #1 节将总购物车数量传递给PayPal描述的非常相似,不同之处在于:将 cmd 变量设置到 _cart更换必要的 HTML 行与添加称为 “upload” 的新变量在 和标签之间新增以下行:定义物品明细对于以下各特定物品参数,定义与通过您的合作商购物车购买的各物品对应的一组新值。将 “_x” 附加到变量名称,其中 x 是物品号码,从 1 开始,每加入一物品增加一。item_name_x (物品 #x 需要)购物车中物品 #x 的名称。必须是字母数字字符,最多为 127 个字符item_number_x 与购物车中物品 #x 关联的可选传递变量。必须是字母数字字符,最多为 127 个字符amount_x (物品 #x 需要)物品 #x 的价格shipping_x 运送物品 #x 的第一件(数量 1)的成本shipping2_x 每增加一件运送物品 #x(数量 2 或更多)所需的运送成本handling_x 物品 #x 的处理成本on0_x 物品 #x 的第一选项栏名称。最多 64 个字符os0_x 物品 #x 的第一组选项值。最多 200 个字符。”on0_x” 必须定义,以便识别 “os0_x”。on1_x 物品 #x 的第二选项栏名称。最多 64 个字符os1_x 物品 #x 的第二组选项值。最多 200 个字符。”on1_x” 必须定义,以便识别 “os1_x”。为购物车中每件物品重复此设定为您的买家购物车中的各物品加入以上 表格中的一组必需的变量和任何选项变量。购物车中的第一物品必须用以 “_1 结束的参数定义,如 “item_name_1、”amount_1 等。同样,第二物品应用变量 “item_name_2、”amount_2 等命名。提示:”_x” 值必须以一为单位按序递增,以便识别。如果从 item #1 跳到 item #3 而不定义 item #2,则第三个物品会被忽略。要指定币种:所有货币变量(金额、运费、运费 2、手续费、税款)将以粘贴在付款上的 “currency_code” 变量指定的币种显示。因为其不是随物品不同的,无需向变量名称附加 “_x”。如果没有粘贴 “currency_code” 变量,我们将假定所有货币变量值为美元。PayPay APIPayPal提供了多个API接口供开发者使用。在使用API之前,你必须先申请一个高级个人账户或者企业账户,同时你必须获取API 凭证供每次调用API 时使用。一旦你获取了API凭证,您就可以调用相关的API接口了。目前,我们提供两种API接口方式,NVP和SOAP。一般来说我们推荐您使用 NVP 接口。Name-Value Pair(NVP)接口 请求和响应都是使用简单的HTTP。该接口简单易实现,适合于初级开发者和需要快速完成集成的人员;SOAP接口 - 请求和响应都是通过SOAP来完成。该接口适合于面向对象工程的开发;PayPal API:NVP(名称/值对)接口通过NVP API接口,您只需给PayPal发送一个HTTP请求,并通过“名称=值”的形式指定请求参数,即可充分利用PayPal的API功能。NVP API 是 PayPal 的业务功能、风险管理和业务逻辑的简单接口。NVP API 最基本的使用方法是通过到 PayPal 服务器的 HTTPS 连接发送一个 NVP 字符串,然后处理响应(也是一个 NVP 字符串)。执行 NVP API 调用的基本步骤如下:1.为特定的 API 方法构造一个请求参数字符串。2.通过 HTTPS 连接向 PayPal 服务器发送这个参数字符串。3.处理服务器响应中的 NVP。每个NVP API请求字符串包含有API用户名、API密码、所要调用API的名称及用来标识交易的令牌,如: USER=&PWD=mypassword &METHOD=GetExpressCheckoutDetails&TOKEN=EC-23T233ZP3DFB.成功的应答包含以下要素:ACK=Success ,以及一个用来标识交易的唯一令牌。 ACK=Success&TIMESTAMP=date/timeOfResponse &CORRELATIONID=debuggingToken&VERSION=2.300000&BUILD=buildNumber &TOKEN=EC-3DJ78083ES565113B&EMAIL= &PAYERID=95HR9CM6D56Q2&PAYERSTATUS=verified &
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 教育孩子的发言稿
- 法国供应商培训
- 新能源课件大班
- PDCA循环工作方法培训课件
- 二零二五年高炮广告牌制作与城市地标建设合同
- 2025版商业综合体工程劳务承包与智能化合同
- 2025版智能制造业股权转手与增资升级合同
- 二零二五年度茶叶品牌营销策划合同样本
- 2025版墓地拆迁重建安置补偿合同
- 二零二五年度科技园区运维短期劳务合同范本
- 2024年鄂尔多斯市消防救援支队招聘政府专职消防队员真题
- 2025年高级评茶员技能鉴定理论考试题库浓缩500题-含答案
- 2025年桥梁防腐涂料市场需求分析
- 印刷行业运营管理流程改善计划
- 2025-2030中国还原铁粉行业市场发展趋势与前景展望战略研究报告
- 审讯室管理制度
- 经皮肾术后护理试题及答案
- 冀教版九年级英语上册各单元练习题(全册共十单元-含答案)
- 2025-2030中国飞轮储能行业市场发展分析及前景趋势与投资研究报告
- 2025年光伏项目劳务分包合同模板
- 烤烟种植与管理技术精粹
评论
0/150
提交评论