paypal IPN 接口小结

1.sandbox下payment status为pending,pending reason为payment review 解决办法:
这个原因是买方或卖房开启了付款审核,将付款审核关闭,payment status就会变成Completed


在http://developer.paypal.com/ 登陆
在Dashboard页面的左侧菜单中点击Sandbox的Accounts
编辑买方或者卖方的个人设置Profile 
选择settings,把payment review的设置改成off




2.有的空间不支持fsockopen函数,可以使用pfsockopen函数
$fp = pfsockopen ('www.sandbox.paypal.com', 80, $errno, $errstr, 60);
网址是www.sandbox.paypal.com,端口号是80,不是443
经过反复测试,pfsockopen应该使用ssl网址,并且端口是443
$fp = pfsockopen ('ssl://www.sandbox.paypal.com', 443, $errno, $errstr, 60); 




3.paypal身份标记获得
在paypal用户中心,点击我的销售工具-》网站习惯设定-》更新
将网站付款的自动返回设置成自动返回,并输入返回url地址
并把付款数据传输设置成开启
设置完毕,返回,再重新点击更新,可以在付款数据传输下边找到身份标记


www.daurkuu.com/paypal/return.php
商家名称: firstYh lastYh
安全的商家账号 A3UN44WEK54L4
身份标记:Qoc5A3z7roYZu_nU-LdCOPj80OTlcUST1zwrUExom1ycWuJM1l8STyTi6Hi




4.paypal验证返回值是如下情况:
    HTTP/1.0 302 Found
    Location: https://www.sandbox.paypal.com
    Server: BigIP
    Connection: close
    Content-Length: 0


    fsockopen使用ssl网址,并且端口号为443,
    $header应该如下拼接
    $header ="POST /cgi-bin/webscr HTTP/1.1\r\n";
    $header .="Content-Type: application/x-www-form-urlencoded\r\n";
    $header .="Host: www.sandbox.paypal.com\r\n";
    $header .= "Content-Length: " . strlen($req) . "\r\n";
    $header .="Connection: close\r\n\r\n";


    再次测试,成功通过
    注意:检验总价时,应该将价格乘上100变成整数,浮点数进行比较会出现错误

转载于:https://my.oschina.net/u/946060/blog/382371

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值