我晕
最近这个用paypal付款的功能搞了我
天
还没搞完
郁闷死了
先做个笔记把已经搞定的部分写下来省的以后忘了
注册SandBox账号并且建立两个虚拟账号可以选择自动建立的那一项一个buyer一个seller以供 开发的时候测试使用
实现快速购买的代码链接暂时指向SandBox便于开发时的测试以后再改成正式的
复制代码 代码如下:
if(!defined(_f_afficherButtonPayPal))
{ define(_f_afficherButtonPayPal);
function afficherButtonPayPal($nbr_point$montant)
{
echo<td width=\\></td>;
echo <td>
<form action=\\ method=\post\ target=\_blank\>
<input type=\hidden\ name=\cmd\ value=\_xclick\>
<input type=\hidden\ name=\business\ value=\emai\> //这个是刚才建立的seller的账号
<input type=\hidden\ name=\item_name\ value=\$nbr_point points\>
<input type=\hidden\ name=\currency_code\ value=\EUR\> //付款的币种我写的是欧元
<input type=\hidden\ name=\amount\ value=\$montant\> // 快速付款的总金额
<input type=\image\ src=\/src/img/xclickbutgif\ name=\submit\ alt=\Veuillez vous payer par PayPal\> //显示的paypal图片
</form>
</td>;
}
}
将已经付款的信息传回去应该是要用IPN还没搞定再接再励
补充资料 从参考文档得知:
Paypal专门开发了Sandbox给开发人员进行开发测试
首先到注册一个开发帐号
再进入Sandbox建立测试用的Paypal虚拟帐号(至少应该建立一个Business的和一个Personal的)
这种账号注册方法和Paypal的流程一样信息可以是假的包括银行帐号信用卡(其实Paypal Sandbox会自动生成
一些随机的号码)接着激活Paypal Sandbox的虚拟帐号注意这里不管你在Paypal Sanbox注册时填什么邮件地
址有任何发送到虚拟帐号所填邮箱的邮件都存会在开发帐号的管理界面中的Email页(导航栏上有)中登录Sandbox
的虚拟Paypal环境还需要验证虚拟帐号的银行这里可以随便填然后通过Add Funds来给账户充值(想填多少填多
少)然后还需要激活IPN的选项在Business的那个账户的Profile设置页面中点击然后点击Edit按钮打开
IPN这里如果你使用的是固定的IPN Handle可以直接将地址填入
接下来我们测试的时候应该将Paypal接口的地址设置为
最后基本的流程为
用户在我们的网站上选择商品放入购物车然后检查准备支付
网站根据购物车中的商品生成Paypal的支付表单(也是提交到上面IPN用的Paypal接口地址)包含了此次交易的一
些信息(下次会专门找机会解释一下)并在自己的数据库中生成一张订单记录
Paypal在Session中记录下这些交易信息
用户用Paypal账户登录Paypal(Sandbox用Sandbox的虚拟帐号)复查明细点击Pay按钮
Paypal进行交易处理如果我们的Paypal收款帐号在接受帐款上没有什么问题(没有特别的需要Accept的地方)交易
完成那么Paypal会发送一个IPN并发送提示邮件
我们IPN Handler接受到信息首先向Paypal进行校验如果信息正确然后根据信息和自己数据库中进行比对如果
无误可以将支付信息保存并修改订单状态
然后Paypal会显示一个界面表示交易完成此时如果用户点击Return按钮Paypal会将用户送回我们网站指定地点
我们网站迎接用户回来向用户表示感谢并进行提醒给出订单号等等
应为我最后需求的只是要一个总价的结算并不需要和网店接合所以简单了很多只要把总价生成放进paypal里就基本算
完成了如果网店的话还需要在paypal里设置一大堆的参数比较麻烦
复制代码 代码如下:
<form name=paypay_form action= method=post><!提交的地址>
<input type=image src=Styles/Compact/Images/payiconjpg></p><!按钮的图片>
<input type=hidden value=vihaoo_ name=business></p><!收款账户>
<input type=hidden value=Products name=item_name></p><!付款详细内容>
<input type=hidden value=dweeww name=item_number></p><!付款详细内容>
<input type=hidden value= name=return></p><!返回地址>
<input type=hidden value= name=amount></p><!金额>
<input type=hidden name=currency_code value=USD><!货币>
</form>