实现跨境支付实战电商项目(摘要)(V2)

2024-05-25
来源:网络整理

实现跨境支付

实用电子商务项目()

汇总付款连接(V2)

一、商户注册账户1、注册前准备

2. 注册完成后验证

2. 登录开发者中心

使用上一步注册的账号直接登录开发者中心。

1.点击右上角“ ”按钮

单击“完成”显示

2. 在沙盒中创建两个测试账户

1.在左边的导航栏中点击 Sandbox 下的 Accounts

  • 1

2.进入Acccouts界面后,可以看到系统有两个已经生成好的测试账号,但是我们不要用系统给的测试账号,很卡的,自己创建两个

  • 1

3.点击右上角的“Create Account”,创建测试用户 创建一个北美的Personal账户

  • 1
  • 2

创建一个China 的商家账号

  • 1

商家和个人,创建,直接点击创建就自动创建完成了,默认商家/个人账号有 5000美元 再创建两个账号,分别是北美的商家、个人账号

  • 1
  • 2

4.登录创建好的沙箱账户 沙箱登录地址: https://www.sandbox.paypal.com

  • 1
  • 2

3.创建应用,首先在沙盒中创建一个应用

仍在开发者中心。

在我的应用程序中 & ----> ------> 应用程序

应用程序名称:应用程序的名称

应用程序类型:

paypal支付流程图_简述paypal的支付流程_paypal支付流程

// 商家 - 作为商家(卖方)接受付款。

- 作为一个 ()

// 平台——以平台形式(市场、众筹或电子商务平台)将资金转移给卖家

– 移至 (、 或 e- )

:选择已创建的沙盒商户账户

4. 收购及

单击“创建”

ID 是,是

5.在应用详情页底部创建

然后点击添加

单击“确定”

3. Java支付连接

付款方式:

提供标准支付、快捷支付等多种支付方式,其中标准支付被誉为最佳实践。

标准支付的主要特点是只需要一个集成按钮,所有支付流程都由接入方控制,接入方无需关心支付细节。当用户完成支付后,会通过同步PDT或者异步IPN机制通知接入方。这种方式相对轻量,对接难度最小,对借款人的侵入性也较小。

快捷支付相​​对复杂,支付流程由接入方控制,通过调用三个接口实现。从接入方网页跳转到支付页面之前,会触发第一个接口申请支付。然后用户进入支付页面,授权支付。授权接口中会提交上一步获取的支付。这个过程由接入方控制,并不会产生实际的支付。然后接入方调用第二个接口获取用户的授权信息,包括支付金额,支付产品等信息。验证完这些基础信息之后,会调用第三个接口进行实际的支付扣款。扣款成功之后,还会进行同步PDT和异步IPN通知。这种方式非常灵活,控制力强,但是编码复杂度高,侵入性比较大。考虑到实际情况,我们选择采用标准支付的方式进行接入支付。

告知方式:

支付的通知方式有两种,IPN和PDT。IPN异步通知可能会有延迟,但是可靠性高。当接入方主机不可达时,有重试机制,保证IPN通知尽可能到达接入方服务器。接入方收到IPN通知后需要进行确认,确认方式是将收到的IPN通知原封不动地作为请求体,调用IPN确认接口。PDT通知实时,但是可靠性不高,因为它只会通知一次,没有重试机制,一旦接入方主机不可达,这样的消息就会丢失。官方建议IPN通知和PDT通知结合使用,满足时效性和可靠性的保障。我们同时采用了IPN和PDT两种通知机制。

演示网址:

V1版本已过期,我们使用V2来连接支付

v1 文档:

V2 文档:

4.直接上代码

系统使用默认的美元货币来创建付款

不用多说,我们直接上代码

参数介绍

<!--paypal--> <dependency> <groupId>com.paypal.sdk</groupId> <artifactId>rest-api-sdk</artifactId> <version>1.4.2</version> </dependency> <dependency> <groupId>com.paypal.sdk</groupId> <artifactId>checkout-sdk</artifactId> <version>1.0.2</version> </dependency>

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

package com.xxxx.config; import cn.hutool.core.util.StrUtil; import com.paypal.base.rest.APIContext; import com.paypal.base.rest.OAuthTokenCredential; import com.paypal.base.rest.PayPalRESTException; import com.paypal.core.PayPalEnvironment; import com.paypa

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

分享