架构师_程序员_码农网

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 6529|回复: 1

贝宝PayPal接口开发

[复制链接]
发表于 2019-4-30 21:12:12 | 显示全部楼层 |阅读模式
近日网站需要对接国际化的支付接口PayPal,折腾了几天把遇到的坑记录下以备后用。

1.第一步先到官网申请商家账户https://www.paypal.com/这里的具体步骤我不太清楚,毕竟不是我来申请的

2.因为我们这里是网站用到的,使用了最便捷的网站付款标准版,其他的还可以用快速结账的API来实现。

首先我们把需要用到的参数信息配置到config中
然后我们构建需要我们进行Post的页面代码,将必须填写的值存放到隐藏域<input type="hidden" />之中

这几个参数是比较重要的,更全面的参数介绍可以去官网查找相关文档

3.发起代码可以了,我们接下来写一下返回和通知页面的代码

在通知页面我们可以获取到下面几个关键参数

我们可以通过item_number参数跟数据库做数据对应,根据pay_order做验证防止重复使用,根据pay_status判断是否交易成功(pay_status="Completed")

这里有一点要注意,PayPal默认的是没有自动返回的,需要进行相关配置。操作步骤:用户信息-->销售通知-->网站付款习惯设定


1121723-20170314152905541-1948447827.png

将图中两处设置为开启即可。

4.返回页面一般只是用来显示充值结果,处理相关业务逻辑我们一般要放在通知页面进行操作。


ValidateSource方法主要是通过将获取到的参数+"&cmd=_notify-validate"后调用接口进行验证,查看参数传递过程中是否被篡改,如果返回VERIFIED证明参数信息一致。

注意上面标红的地方,这个一定不能少,我们访问的https接口,如果少了上面的代码会报异常:请求被中止: 未能创建 SSL/TLS 安全通道

好了,上面代码写完后我们就可以发布到服务器进行测试了,paypal的测试还是比较好的,给我们提供了专门的测试地址,可以任意添加商户和个人账户来进行测试。

首先我们用我们注册的账户来登录:https://developer.paypal.com/


登录后我们找到

1121723-20170314155325088-2006968637.png

这里会给我们默认两个账户,当然你也可以做任意的修改,然后我们就可以用我们设定的账户进行测试了

测试完成以后如果我们想登录我们的测试账户进行信息查看就需要用到这个网址:https://www.sandbox.paypal.com

我们这里用商户账号进行登录,在这里我们同样需要把步骤3上面的配置信息再次进行操作。

在这里我们还能查看我们的IPN信息



1121723-20170314155830713-593882590.png

官方介绍:https://www.paypal.com/us/cgi-bi ... cc/ipn-info-outside






上一篇:《Maven实战》许晓斌
下一篇:机器学习 原版pdf电子书 45本
码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
 楼主| 发表于 2020-5-3 17:45:14 | 显示全部楼层
使用自己封装的PayPal是因为PayPal有两种身份验证
1:使用接口获取token(由于网络不好,经常会获取不到token,获取超时)
2:使用header头部Basic验证(现在使用的方案)
码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

免责声明:
码农网所发布的一切软件、编程资料或者文章仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。

Mail To:help@itsvse.com

QQ|手机版|小黑屋|架构师 ( 鲁ICP备14021824号-2 )|网站地图

GMT+8, 2024-4-24 02:49

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表