如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
HYPERLINK"http://www.payoss.com"www.payoss.comPayPal账户经理CandyPHP程序集成PayPal操作步骤@PayPal账户经理Candy很多的独立网站都有自带的PayPal集成接口(magento、zencart等),用户只需要通过技术手段把账户信息配置上去就可以进行在线收款了。但是对于一些自主设计的网站,paypal集成的时候都需要用到接口代码集成到网站。为大家分享一下PHP语言如何集成paypal。154570054—CandyPayPalIPN所谓paypalipn(InstantPaymentNotification),就是Paypal开发的一种能主动通知第三方卖家系统交易状态的一种机制。IPN的原理很简单,就是当产生了一个交易之后,交易状态发生变化时,如用户已经付款、或者退款、撤销时,Paypal利用常用的HTTPPOST方式,将交易的一些变量提交给网站的某个页面(称之为IPNHandler),当这个页面接受到请求时候,将这些数据原封不动加上一个指示验证的cmd=_notify-validate,POST回Paypal的接口地址,如果数据正确,那么Paypal返回字符串VERIFIED,否则为INVALID,如果结果为VERIFIED,那么你的程序就可以使用这些数据进行操作。注册Sandbox帐号但代码的调试是一件有点麻烦的事情,因为作为第三方开发人员,不可能开两个帐号,每次测试还要之间交易一些资金,所以Paypal专门开发了Sandbox给开发人员进行测试,首先到https://developer.paypal.com/注册一个开发者帐号,好了之后再进入Sandbox建立测试用的Paypal虚拟帐号(至少应该建立一个Business的和一个Personal的,business账户建议手动创建),这种账号注册方法和Paypal的流程一样,信息可以是假的,包括银行帐号、信用卡(其实PaypalSandbox会自动生成一些随机的号码)。接下来需要激活PaypalSandbox的虚拟帐号,注意,这里不管你在PaypalSanbox注册时填什么邮件地址,有任何发送到虚拟帐号所填邮箱的邮件都存会在开发帐号的管理界面中的Email页(导航栏上有)中。登录Sandbox的虚拟Paypal环境,还需要验证虚拟帐号的银行,这里可以随便填,然后通过AddFunds来给账户充值(随意填写)。然后,还需要激活IPN的选项,在Business的那个账户的Profile设置页面中,点击,然后点击Edit按钮,打开IPN,这里如果你使用的是固定的IPNHandle,可以直接将地址填入。接下来,我们测试的时候,应该将Paypal接口的地址设置为HYPERLINK"https://www.sandbox.paypal.com/cgi-bin/webscr"https://www.sandbox.paypal.com/cgi-bin/webscr基本的流程当客户向您付款时,PayPal将向位于指定URL(type=”hidden”name=”notify_url”value=”“)的服务器发送一个通知。此通知中将包括您的客户的所有付款信息(例如,客户名称、金额),以及一段加密代码。当服务器收到通知时,它随后会将该信息(包括加密代码)发送回安全的PayPalURL。PayPal将通过检查加密字符串对交易进行身份验证。这种将IPN数据传回PayPal的操作防止了“欺骗”,因此您可以确保IPN来自PayPal。在进行验证时,PayPal会将其合法性的确认信息发送回您的服务器。提示:要启用即时付款通知,您将需要输入一个URL,通过它您可以接收到来自您的用户信息的通知。启用了即时付款通知后,每次当您接收付款时您的服务器都会收到一个通知,此通知将以隐藏的“FORMPOST”的方式发送到指定的URL,并将包括所有付款信息。此页面的底部列出了通知的FORM变量。每次收到来自PayPal的IPN时,您必须在实施订单之前完成如下所述的通知确认过程。确认列出的信息将可确保交易合法。通知确认IPN为了确保付款已进入您的PayPal账户,您必须验证用作“receiver_email”的电子邮件地址是否已在您的PayPal账户中注册并得到确认。服务器收到即时付款通知后,您将需要通过构建一个发送到PayPal的HTTPPOST对其进行确认。您的POST应发送到https://www.paypal.com/cgi-bin/webscr您必须完全按照收到表单变量时的原样发送所有收到的表单变量。您还需要将一个值为“_notify-validate”的名为“cmd”变量(例如,cmd=_no