Java接入PayPal教程,Spring boot Demo源码,企业账号注册,支付,回调,退款全流程,最新PayPal SDK

Java接入PayPal教程,Spring boot Demo源码,企业账号注册,支付,回调,退款全流程,最新PayPal SDK_第1张图片

一、环境准备

1. 注册

2. 创建沙箱测试账号

3. Client ID及Secret

二、核心代码

1. 官方github sdk

2. pom引用

3. 代码讲解

4. 支付代码demo流程

5. 退款

6. 支付回调


一、环境准备

1. 注册

注册:创建PayPal账户 - PayPal中国https://www.paypal.com/c2/webapps/mpp/account-selection1.1 选择企业账户

Java接入PayPal教程,Spring boot Demo源码,企业账号注册,支付,回调,退款全流程,最新PayPal SDK_第2张图片

1.2 开发者中心:

PayPal developerhttps://developer.paypal.com/

 1.3 进入控制面板:

Java接入PayPal教程,Spring boot Demo源码,企业账号注册,支付,回调,退款全流程,最新PayPal SDK_第3张图片

2. 创建沙箱测试账号

2.1 Business为收款账号,Personal为付款账号,平台默认创建好了两个账号Java接入PayPal教程,Spring boot Demo源码,企业账号注册,支付,回调,退款全流程,最新PayPal SDK_第4张图片

 2.2 在沙箱模式创建一个app,平台默认创建好了一个

Java接入PayPal教程,Spring boot Demo源码,企业账号注册,支付,回调,退款全流程,最新PayPal SDK_第5张图片

 2.3 填写信息

类型:

Merchant-仅为自己收款

Platform-作为平台收款,可分账给卖家

2.4 绑定某个沙箱账号

Java接入PayPal教程,Spring boot Demo源码,企业账号注册,支付,回调,退款全流程,最新PayPal SDK_第6张图片

3. Client ID及Secret

进入app详细页面,查看Client ID及Secret(后续需填写到代码中) 

Java接入PayPal教程,Spring boot Demo源码,企业账号注册,支付,回调,退款全流程,最新PayPal SDK_第7张图片

二、核心代码

1. 官方github sdk

  • Rest-api-sdk,已被deprecated,但可继续用,只是官方不会继续添加新功能

This SDK is deprecated. You can continue to use it, but no new features or support requests will be accepted. For alternatives, please visit the current SDK homepage on the PayPal Developer Portal

https://github.com/paypal/PayPal-Java-SDKhttps://github.com/paypal/PayPal-Java-SDK

  • Checkout SDK,推荐使用:

https://github.com/paypal/Checkout-Java-SDKhttps://github.com/paypal/Checkout-Java-SDK

此文章仅介绍Checkout SDK

2. pom引用

在自己的spring boot项目中添加sdk依赖Maven Central Repository Searchhttps://search.maven.org/artifact/com.paypal.sdk/checkout-sdk/1.0.5/jar

		
            com.paypal.sdk
            checkout-sdk
            1.0.5
        

2.1 github中checkout-sdk-sample 的代码复制到自己的项目中

 Java接入PayPal教程,Spring boot Demo源码,企业账号注册,支付,回调,退款全流程,最新PayPal SDK_第8张图片

3. 代码讲解

3.1 填写Client ID及Secret

在PayPalClient.java中,替换创建好的app详细页面的Client ID及Secret

Java接入PayPal教程,Spring boot Demo源码,企业账号注册,支付,回调,退款全流程,最新PayPal SDK_第9张图片

3.2 两个模式:Authorize、Capture

Java接入PayPal教程,Spring boot Demo源码,企业账号注册,支付,回调,退款全流程,最新PayPal SDK_第10张图片

查看Authorize模式的RunAll.java可看到多了一步授权步骤,将orderId转成了authIdJava接入PayPal教程,Spring boot Demo源码,企业账号注册,支付,回调,退款全流程,最新PayPal SDK_第11张图片

3.3 创建订单示例代码: 

已知参数(其他未标注参数未知具体作用,如知晓请告知):

金额规则:

总金额=商品总价+运费+handling+税总金额-运费折扣 

商品总价=各(商品单价x数量)的累加

税总金额=各(商品税x数量)的累加

如不满足会报错

商品类型category枚举:Ordershttps://developer.paypal.com/docs/api/orders/v2/

Java接入PayPal教程,Spring boot Demo源码,企业账号注册,支付,回调,退款全流程,最新PayPal SDK_第12张图片

 3.4 参数可简化,如我方是售卖线上课程的业务,简化后: 

4. 支付代码demo流程

4.1 直接执行RunAll.java 

4.2 创建完顶底后,复制approve的链接到浏览器

 4.3 用sandbox的personal的账号登录,并支付

Java接入PayPal教程,Spring boot Demo源码,企业账号注册,支付,回调,退款全流程,最新PayPal SDK_第13张图片

 4.4 支付成功后,会跳到returnUrl填的地址

5. 退款

可设置退款金额,金额<=总金额 

Java接入PayPal教程,Spring boot Demo源码,企业账号注册,支付,回调,退款全流程,最新PayPal SDK_第14张图片

6. 支付回调

6.1 接口配置:

Java接入PayPal教程,Spring boot Demo源码,企业账号注册,支付,回调,退款全流程,最新PayPal SDK_第15张图片

 Java接入PayPal教程,Spring boot Demo源码,企业账号注册,支付,回调,退款全流程,最新PayPal SDK_第16张图片

 6.2 回调信息在JSONObject参数中

    @PostMapping("/ipn")
    public void ipn(@RequestBody JSONObject requestParams) {

    }

你可能感兴趣的:(java,spring,paypal)