栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

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

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

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

一、环境准备

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 选择企业账户

1.2 开发者中心:

PayPal developerhttps://developer.paypal.com/

 1.3 进入控制面板:

2. 创建沙箱测试账号

2.1 Business为收款账号,Personal为付款账号,平台默认创建好了两个账号

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

 2.3 填写信息

类型:

Merchant-仅为自己收款

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

2.4 绑定某个沙箱账号

3. Client ID及Secret

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

二、核心代码

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 的代码复制到自己的项目中

 

3. 代码讲解

3.1 填写Client ID及Secret

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

3.2 两个模式:Authorize、Capture

查看Authorize模式的RunAll.java可看到多了一步授权步骤,将orderId转成了authId

3.3 创建订单示例代码: 

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

金额规则:

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

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

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

如不满足会报错

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

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

4. 支付代码demo流程

4.1 直接执行RunAll.java 

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

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

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

5. 退款

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

6. 支付回调

6.1 接口配置:

 

 6.2 回调信息在JSONObject参数中

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

    }

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/298178.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号