Skip to content

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://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/

注意

1635913912234

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

1635914018304

intent枚举必需的
在订单创建后立即获取付款或授权订单付款的意图。

在可能的值是:

CAPTURE. 商家打算在客户付款后立即获取付款。
AUTHORIZE. 商家打算在客户付款后授权付款并搁置资金。授权付款最好在授权后三天内获取,但最多可获取 29 天。三天兑现期过后,原授权付款到期,您必须重新授权付款。您必须提出单独的请求以按需获取付款。当您的订单中有多个 `purchase_unit` 时,不支持此意图。

* 可能与中国与其他国家付费习惯不同,AUTHORIZE方便退款,但这里我们选CAPTURE

PayPalClient :  核心类,客户端

CreateOrder:   创建订单类,生成支付收银台链接,用户付款

CaptureOrder:捕获订单类,执行扣款,用户付款后没有立即打入我们账户,访问捕获订单,就能把钱打入账户

RefundOrder:退款订单类:申请退款

GetOrders:查询订单类:查询订单详情


...