简单聊聊PayPal与BrainTree选型经历

article/2025/8/22 22:43:13

2019年9月30日,PayPal公司被批准通过对国付宝的股权收购正式进入中国。2019年12月19日晚间,PayPal公司正式宣布,已完成对国付宝信息科技有限公司(Gopay)70%的股权收购。交易完成后,PayPal成为第一家获准在中国市场提供在线支付服务的外资支付平台。

 

所以以后即使做国内业务,也可能要和PayPal打交道了。正巧手里有个项目做的是海外市场,所以在PayPal和Braintree的技术选型中,进行了一次调研。

PayPal支付功能的选择

起初产品希望我们平台能够直接允许C端用户通过PayPal转账给B端用户,资金不通过我们平台中转,但是平台希望获取转账信息,这样平台可以给C端用户一些业务上的处理。

基于产品的需求,我们选择使用PayPal的"PayPal Commerce Platform"功能来实现这种需求。

基础知识

Payment Gateway & Processor

想要理解这金融支付服务,需要先了解下面的基础知识:

一般网上交易的流程(为了说明问题,仅为缩略版的流程) : 消费者 - 商户网站 - 消费者账户银行 - 支付网关 - 支付处理系统 - 商户收款银行

简单来说:

支付网关(Payment Gateway)是在商户的在线商城网站和商户的银行收款账户之间,搭建一个加密的支付信息通道,以便安全地将消费者通过浏览器在网站上购买时所输入的账户信息(如信用卡、姓名等)安全地传输到银行端,并将付款行的授权返回给收款行。

支付处理系统(Processor)是连接消费者账户银行和商户收款银行之间的交易系统,确保交易资金可以顺利地从消费者付款行账户进入到商户的收款行账户。

支付网关和支付处理系统是需要连接的。一个支付网关可以连接多个支付处理系统。

Authorization & Capture

另外,在信用卡支付会涉及这两种 RESOURCE 的操作:Authorization & Capture,又称“授权”和“捕获”。

在线信用卡支付流程:

  1. 商家向用户请求,一定金额的支付。

  2. 用户授权该笔交易金额; Authorization。

  3. 商家向该信用卡获取金额; Capture。 (资金并非在用户同意授权后就直接打到商家的结算账号上)

关于Authorization & Capture的解释和实现方式,可以看下面的文章: http://www.paymentsgateway.com.au/what-you-need-to-know/payments-gateway-authorization-and-capture

PayPal提供的主要功能

目前PayPal提供的主要功能:

  1. Checkout

  2. PayPal Commerce Platform

  3. Subscriptions

  4. Payouts

  5. Invoicing

  6. Payflow Gateway & PayPal Payments Pro

更多功能,请查看开发者文档地址:https://developer.paypal.com/

另外PayPal还提供了功能强大的Webhook,提供各种事件的回调通知。

Checkout

"Checkout"的开发者文档地址:https://developer.paypal.com/docs/checkout/

这项技术服务,提供的是最常规的付款功能,开发者作为收款人,付款人需要登录PayPal进行支付。

Express Checkout

"Express Checkout"服务的开发者文档:https://developer.paypal.com/docs/classic/payflow/express-checkout/

除了常规的支付方式,PayPal还提供了一种"Express Checkout"的方式。在这种方式下,付款人可以使用PayPal余额,银行帐户或信用卡付款,而无需在商家网站上共享或输入任何信息。

该服务属于下面要介绍的"Payflow Gateway"。

注意:Braintree提供支持的PayPal内置PayPal Express Checkout功能。不要打开PayPal Express Checkout,否则这两个版本会相互冲突。

PayPal Commerce Platform

"PayPal Commerce Platform"的开发者文档地址:https://developer.paypal.com/docs/commerce-platform/

"PayPal Commerce Platform"是2019年二季度新推出的服务,前身是PayPal的"PayPal for Partners"(开发者文档见于参考文档6)。

目前需要申请才能使用服务,据提交申请的同事说,第一次申请就收到了拒信。可见申请还是有一定门槛的,所以需要紧急上线的项目选择此服务要慎重。

这项技术服务,开发者作为平台,付款人与收款人的交易通过平台中转,平台可以控制发款的实际和抽成的比例。

Subscriptions

"Subscriptions"的开发者文档地址:https://developer.paypal.com/docs/subscriptions/

这项技术服务,开发者可以定期向客户收取费用。

Payouts

"Payouts"的开发者文档地址:https://developer.paypal.com/docs/payouts/

这项技术服务,开发者作为付款人,可以同时向大量的人进行汇款。

Invoicing

"Invoicing"的开发者文档地址:https://developer.paypal.com/docs/invoicing/

这项技术服务,开发者作为收款方可以向付款方提供PayPal发票。

Payflow Gateway & PayPal Payments Pro

"Payflow Gateway"的开发者文档地址:https://developer.paypal.com/docs/classic/products/payflow-gateway/

"PayPal Payments Pro"的开发者文档地址:https://developer.paypal.com/docs/classic/products/paypal-payments-pro/

两者的区别可以查看"Payflow Gateway"的开发者文档,主要是在"Processor"的区别

这两项技术服务,开发者可以作为类似电商这样的卖家,向付款方提供PayPal等各种支付,并且卖家具备资金托管的能力。

Braintree与Stripe的选择

后来需求发生变化,产品希望我们平台能够具备支付能力和资金托管能力,所以技术选型很容易的转移到了Braintree和Stripe之间的选择。

Braintree的开发者文档地址:https://developers.braintreepayments.com/

Stripe的开发者文档地址:https://stripe.com/docs

海外支付平台选择

  • Braintree是提供网站及移动装置金流整合支付的公司,PayPal在2013年收购了Braintree,所以Braintree与PayPal有深度整合可以无缝支援。如果要支持PayPal账户结算就只能使用 Braintree,可以单独接入PayPal,但是单独接入PayPal的单笔交易费率是比Braintree高很多的。

  • Stripe是一家线上金流整合服务的新创公司,主打设计简洁、容易使用、可站内(网站或APP皆可)付费的付款方式(使用PayPal结帐时需要跳到PayPal页面,商家可控性较低)。

两个平台在信用卡支付方式在两种平台费率是一样的。社区反馈来说,Stripe的集成要比Braintree简洁,集成比较方便和快捷。

Braintree以优质的客服和技术支援闻名,可靠度高,相对于PayPal和Stripe的客服在网路上都遭遇大量的负评(例如没来由的终止帐户却求助客服无门),Braintree的评价其实相对来说颇高。如果用户人群使用PayPal的比例比较高时,最好还是使用Braintree,毕竟PayPal和Braintree是一家公司,目前Stripe也并不支持PayPal。如果上面的情况没有影响到你的话,则使用Stripe。毕竟Stripe开发起来是非常快捷和舒适的,而且还支持支付宝和微信,这点对国内开发者也很有吸引力。

Braintree的工作原理

Braintree的工作原理如下图:

  1. 客户端从业务服务器请求一个client token,用来初始化客户端的SDK。

  2. 业务服务器用服务端SDK生成一个client token,发送给客户端。

  3. 客户端SDK初始化之后,顾客点击提交了支付信息,调用SDK提交支付信息,会返回一个payment method nonce(一个uuid的字符串)。

  4. 客户端把这个payment method nonce发送给业务服务器。

  5. 业务服务器接收到客户端传递过来的payment method nonce,然后用服务端的SDK创建一笔交易。

Braintree接入基础功能还是比较容易的,在此不作赘述。

参考文档:

  1. https://developer.paypal.com/docs/accept-payments/#credit-card-acceptance-on-your-website-or-mobile-app

  2. https://developers.braintreepayments.com/start/hello-server/java

  3. https://www.paypal.com/c2/smarthelp/article/什么是授权(订单)?-faq3829

  4. https://developer.paypal.com/docs/classic/express-checkout/integration-guide/ECParallelPayments/

  5. https://www.angelleye.com/paypal-split-payments-express-checkout-billing-agreements-reference-transactions/

  6. https://developer.paypal.com/docs/classic/products/adaptive-payments/?mark=Adaptive Payments

  7. https://www.angelleye.com/paypal-split-payments-express-checkout-billing-agreements-reference-transactions/

最后,限于笔者经验水平有限,欢迎读者就文中的观点提出宝贵的建议和意见。如果想获得更多的学习资源或者想和更多的技术爱好者一起交流,可以关注我的公众号『全菜工程师小辉』后台回复关键词领取学习资料、进入前后端技术交流群和程序员副业群。同时也可以加入程序员副业群Q群:735764906 一起交流。


http://chatgpt.dhexx.cn/article/xE6XeeD9.shtml

相关文章

Braintree PayPal 支付网关开发(二)

开发准备在上篇文章已经介绍 >>看这里 << 这篇文章说下Demo示例。 1. 开发流程图这里再贴一下&#xff08;很重要&#xff09;&#xff1a; 2. 前端页面 2.1 代码 <div class"wrapper"><div class"checkout container"><…

braintree_Braintree的透明重定向

braintree The mere mention of “PCI Compliance” usually elicits a combination of confused looks and sweaty palms from business owners who accept credit card payments online. But what does it really mean? 仅仅提到“ PCI Compliance”通常会引起混淆的外观和来…

uniapp app端 对接 braintree

背景 项目客户端是uniapp&#xff08;app端&#xff09;&#xff0c;用户是海外微信支付宝肯定不行了&#xff0c;安卓苹果端都要&#xff0c;可选的支付方式有&#xff1a;1、苹果支付谷歌支付。2、paypal。3、Stripe 我比较看好paypal&#xff0c;最后领导决定用braintree。…

braintree支付开发整合paypal

braintree支付开发 braintree介绍 流程介绍 前端从服务端请求一个客户端令牌&#xff0c;并初始化客户端SDK。 服务端SDK生成客户端令牌并将其发送回客户端 客户提交付款信息&#xff0c;客户端SDK将该信息传递给Braintree&#xff0c;并返回付款方式随机数 前端付款方式随…

uniapp|vue 中的 braintree 支付

参考文档&#xff1a; Braintree-国外支付对接&#xff08;一&#xff09; Braintree-国外支付对接&#xff08;二&#xff09; Braintree-国外支付对接&#xff08;三&#xff09; 前面的两篇文章&#xff0c;有详细介绍了 Braintress 的账号创建&#xff1b;以及 SandBox 测…

Braintree PayPal 支付网关开发(一)

一般网上消费流程&#xff1a; 消费者 > 商户网站 > 消费者账户银行 > 支付网关 > 支付处理系统 > 商户收款银行 Braintree 就是一种支付方式。 Braintree 支付网关开发的准备&#xff1a; Braintree 支付网关开发流程&#xff1a; 第1步&#xff1a;前端请求自…

Braintree-国外支付对接(二)

在前文 国外支付对接&#xff1a;Braintree&#xff08;一&#xff09;的基础上 已经拿到了相关配置信息&#xff0c;接下来就是码代码了&#xff0c;这里完成的主要功能是支付与退款。 在此之前&#xff0c;先说一下Briantree的支付流程&#xff1a; 第一步先生成clientToke…

app接入 Paypal BrainTree

BrainTree 是什么 braintree 一开始是一个独立支付网关&#xff08;gateway&#xff09;&#xff0c;后来在2013年左右&#xff08;没记错的话&#xff09;被 Paypal收购。收购之后基本可以看作与paypal是一家。 paypal 收购 braintree 之后 sdk 也转向重点接入 braintree&…

多种方式99.9%解决从PDF复制文字后乱码问题

背景 需要从PDF复制文字出来做笔记&#xff0c;可是谁知道PDF通过adobe打开后复制出来后是乱码&#xff0c;如下图所示&#xff1a; &#xff08;再次感谢guide哥整理的文档&#xff09; 解决 尝试过安装字体&#xff0c;可惜没卵用。 方法1-CAJViewer打开 用该软件打开后…

java word转pdf 在linux转pdf乱码解决方法

word转pdf word转pdf,完美转换 引入依赖 (maven仓库是没有的&#xff0c;需要在项目中引用) 链接: 下载地址. 然后在pom里面引入下面这段&#xff0c;依赖我们就搭建好了 <dependency><groupId>com.aspose</groupId><artifactId>aspose-words</a…

word转pdf公式乱码_MathType转换成pdf符号丢失或乱码怎么办

一般写论文的时候是在Word中编写&#xff0c;在Word中写公式时一般是使用MathType&#xff0c;MathType编辑出来的公式非常标准与美观&#xff0c;很多国际期刊杂志都有这种要求。但是在将编写好的论文进行投稿时需要将Word文档转换成PDF文档&#xff0c;这样论文公式才不会发生…

itextpdf生成pdf中文乱码 (乱码中挣扎的自述)

生成pdf文件的方法有很多&#xff0c;网上也有很多的介绍&#xff0c;本文主要主要是讲生成pdf乱码的问题&#xff0c;而且还十分诡异&#xff0c;具体生成pdf的步骤同学们可以自己百度&#xff0c;也可以参考如下链接&#xff1a; https://www.cnblogs.com/LUA123/p/5108007.…

pdf转换html乱码怎么办,pdf转word后乱码怎么办?

pdf转word后乱码怎么办&#xff1f;网络上面有一些PDF资料你可以对其内容复制&#xff0c;但是粘贴到word或者文本中就是一堆乱码&#xff0c;你用转换软件转换出来&#xff0c;有一些文件不会是乱码&#xff0c;但是还有一些文件依旧是乱码&#xff0c;怎么办呢&#xff1f;今…

表格生成pdf 中字乱码

表格生成pdf及解决中字乱码 npm库表格生成pdf的超简洁小例子(用的是npm导入字体)两种解决乱码方法直接引入npm引入在项目中导入stsong-font在所需的页面上引用最后在生成pdf函数中使用(同上) npm库 两个必备包 jspdf npm i jspdfjspdf-autotable npm i jspdf-autotable在所需…

php生成pdf乱码_ierport 生成pdf出现乱码问题

iReport导出pdf中文乱码问题解决 使用iReport的过程经常遇到一些乱码的问题&#xff0c;最近用iReport导出pdf的时候就遇到中文不能显示的问题。 要使导出的pdf能够显示中文&#xff0c;需要用到iTextAsian.jar包。 1.将显示中文的地方Text属性设置成支持中文的字体。 Pdf font…

PDF文件复制文本为乱码

PDF文件可能会出现复制文本粘贴成乱码的现象。原因是PDF中所用的字体无法在电脑中找到&#xff0c;点击编辑器的”文件-属性“&#xff0c;查看字体&#xff0c;如果字体可以下载&#xff0c;可以在网上下载安装&#xff0c;就可以进行复制粘贴。 但有的PDF为保护内容&#xff…

pdf复制乱码_网站推荐 | 从未见过你这么不单纯的PDF转换器!

点击蓝字 关注我们 之前给大家分享过几期PDF转换器 但是仍然觉得部分线上转换器会出现 格式乱码、甚至字乱码的现象 (字乱码是由于外文网址识别误差) 这次挥挥找到了一个PDF转word 近乎完美保留原格式的在线转换网站&#xff01; 一起来看看叭 Today PDF转换器 http://www.pdfd…

Pdf 解密后复制文字乱码

1、安装cajviewer 这个工具 2、用CAJviewer打开pdf文档 3、选择图像4、点文字识别&#xff0c;这时候就弹窗一个框&#xff0c;里面是可复制的文本&#xff0c;而且准确率比较高 转载于:https://www.cnblogs.com/wangyuelang0526/p/3735398.html

使用latex撰写中文科技论文时,生成的PDF复制中文时乱码(不能查重),解决办法如下

在投稿中文期刊《控制理论与应用》时&#xff0c;期刊要求必须用latex&#xff0c;官方给的编辑器是WinEdt7.0&#xff0c;但是如果用常用的编译方式生成PDF的话&#xff0c;也就是第一个选项PDFTeXify 打开生成的PDF表面上看是没有任何问题的&#xff0c;可以正常阅读。但是如…

Tex导出PDF乱码问题

目录 工作环境错误pdf导出方式正确的pdf导出方式 工作环境 我用的是CTex TexStudio。CTex是为了方便中文字体。 错误pdf导出方式 一般我们都是点上方菜单栏的双箭头的按钮进行Tex文件编译&#xff0c;右边就会实时显示pdf内容。当然此时文件夹内也会产生相应的pdf文件。 我…