10.26Paypal预研
官网:https://paypal.com
开发者网站:https://developer.paypal.com
开发者文档:https://developer.paypal.com/docs/api/overview/
https://developer.paypal.com/docs/
沙盒地址:https://www.sandbox.paypal.com/
Demo地址:https://demo.paypal.com
https://www.cnblogs.com/eggqing/p/5429983.html
https://cloud.tencent.com/developer/news/333558
v1版本官方已启弃用,不再维护,我们使用官方推荐的v2版本##一、注册个人账号
在官网注册一个自己的PayPal账号,由于一开始只是为了测试,所以我们只能先注册一个个人账户。
只需要真实的邮箱
1210737588@qq.com
通用##二、沙箱测试环境
https://developer.paypal.com/developer/applications
登录刚注册的账号
1.创建沙箱应用

可以自己新创建,也可以使用系统的默认应用
得到 client ID 和 secret 信息###2.沙箱账号

有两个系统帮我们创建了买家(Personal)和卖家(Business),也可以自己新创建
付款的时候,我们就需要personal个人账户付款,然后去business商家账户查看余额变动。
目前我们不需要登陆这两个账户,如果想去登陆看一下账户信息,可以通过这个沙箱地址登陆。
https://www.sandbox.paypal.com开发者网站:https://developer.paypal.com
开发者文档:https://developer.paypal.com/docs/api/overview/
沙盒地址:https://www.sandbox.paypal.com/
Demo地址:https://demo.paypal.com
一、注册个人账号
在官网https://paypal.com注册一个自己的PayPal账号,由于一开始只是为了测试,所以我们只能先注册一个个人账户。
只需要真实的邮箱
二、创建沙箱环境
仔细阅读官方文档:https://developer.paypal.com/docs/api/overview/
1.创建沙箱应用
登录刚注册的账号,可以自己新创建应用,也可以使用系统的默认应用
得到 client ID 和 secret 信息
2.沙箱账号
系统帮我们创建了买家(Personal)和卖家(Business),也可以自己新创建
付款的时候,我们就需要personal个人账户付款,然后去business商家账户查看余额变动。 如果想去登陆看一下账户信息,可以通过这个沙箱地址登陆。
https://www.sandbox.paypal.com
##三、demo实例演示
github实例地址SDK: https://github.com/paypal/PayPal-Java-SDK
https://github.com/paypal/Checkout-Java-SDK/releases
网上资料:https://blog.csdn.net/lolgigeo/article/details/88883832
https://blog.csdn.net/qq_36341832/article/details/106334844说明:
官方有v1和v2,v1版本官方已启弃用,不再维护,我们使用官方推荐的v2版本

付款接入流程:
目前通过研究发现,大致流程基本上是三步,一创建订单,create order (生成支付页链接,用户付款),二、用户授权后capture订单(把款项打入我们账户),三、验证订单execute并获取详细信息写入数据库。(回调)
接入方式:
A、前端实现:create和capture全都通过js sdk实现,然后后端只需要execute并入库即可。
B、后端实现:不走前端,全部后端执行,先create,然后跳转网址授权,返回后capture,接着execute。
这里我们用方法B,全后端对接形式
###1.下载demo
v2版:github实例地址SDK: https://github.com/paypal/Checkout-Java-SDK/releases (最好是最新版)
官方api说明:https://developer.paypal.com/docs/api/orders/v2/
注意:

这里有两种付款方式:看官网文档说明,如图:

intent枚举必需的
在订单创建后立即获取付款或授权订单付款的意图。
在可能的值是:
CAPTURE. 商家打算在客户付款后立即获取付款。
AUTHORIZE. 商家打算在客户付款后授权付款并搁置资金。授权付款最好在授权后三天内获取,但最多可获取 29 天。三天兑现期过后,原授权付款到期,您必须重新授权付款。您必须提出单独的请求以按需获取付款。当您的订单中有多个 `purchase_unit` 时,不支持此意图。
* 可能与中国与其他国家付费习惯不同,AUTHORIZE方便退款,但这里我们选CAPTURE

PayPalClient : 核心类,客户端
CreateOrder: 创建订单类,生成支付收银台链接,用户付款
CaptureOrder:捕获订单类,执行扣款,用户付款后没有立即打入我们账户,访问捕获订单,就能把钱打入账户
RefundOrder:退款订单类:申请退款
GetOrders:查询订单类:查询订单详情
...