国外braintree支付手段配置以及使用

article/2025/8/22 6:20:28

第三方国外支付手段配置以及使用

1 交互逻辑介绍

1.1 app或web前端请求令牌从你的服务器来初始化客户端SDK。
1.2 服务器生成和发送端令牌回您的客户机与服务器SDK。
1.3 一旦初始化客户端SDK和客户提交支付信息,布伦特里SDK传达这一信息,返回一个临时的付款方法。
1.4 然后你发送临时的支付到你的服务器。
1.5 你的服务器程序接收临时的支付方式从客户端,然后使用SDK创建一个事务或执行详细指南的其他Braintree 函数。
这里写图片描述
图1.1
逻辑交互

2 客户端配置以及相关执行操作的代码如下

2.1 build.gradle的配置

dependencies {compile 'com.braintreepayments.api:braintree:2.+'compile 'com.braintreepayments.api:drop-in:2.+'
}

2.2 获取客户端的token
服务器负责生成客户端令牌,它包含授权和配置细节,你的客户端需要初始化客户端SDK。
从服务器请求客户端令牌,然后初始化Braintree 和现在drop-in UI(这个示例使用Android异步Http客户端从服务器请求客户端令牌-适应您自己的设置)。

AsyncHttpClient client = new AsyncHttpClient();
client.get("https://your-server/client_token", new TextHttpResponseHandler() {@Overridepublic void onSuccess(int statusCode, Header[] headers, String clientToken) {this.clientToken = clientToken;}
});

2.3 尝试执行令牌demo

你应该常获得一个新客户经令牌,至少经常重启应用程序。最好的经验,你应该在阻止用户交互之前开始这个网络操作。您必须每个用户每次结账会话(checkout session)生成一个客户端令牌在服务器上。你应该常获得一个新客户经令牌,至少经常重启应用程序。最好的经验,你应该在阻止用户交互之前开始这个网络操作。您必须每个用户每次结账会话(checkout session)生成一个客户端令牌在服务器上。我们提供的端点在本例中仅用于演示目的。

public void onBraintreeSubmit(View v) {PaymentRequest paymentRequest = new PaymentRequest().clientToken(eyJ2ZXJzaW9uIjoyLCJhdXRob3JpemF0aW9uRmluZ2VycHJpbnQiOiIyODQxYzU0MjRmZTQ4YTYzMGYxMjJjYzBhMTAyYzQyMWVlMjViN2YzYWZiYzAxYzlkZmE4MDg3OTFhY2FkODRjfGNyZWF0ZWRfYXQ9MjAxNS0xMS0yM1QwNjo1MDozNS44NzAzODAwNDUrMDAwMFx1MDAyNm1lcmNoYW50X2lkPTM0OHBrOWNnZjNiZ3l3MmJcdTAwMjZwdWJsaWNfa2V5PTJuMjQ3ZHY4OWJxOXZtcHIiLCJjb25maWdVcmwiOiJodHRwczovL2FwaS5zYW5kYm94LmJyYWludHJlZWdhdGV3YXkuY29tOjQ0My9tZXJjaGFudHMvMzQ4cGs5Y2dmM2JneXcyYi9jbGllbnRfYXBpL3YxL2NvbmZpZ3VyYXRpb24iLCJjaGFsbGVuZ2VzIjpbXSwiZW52aXJvbm1lbnQiOiJzYW5kYm94IiwiY2xpZW50QXBpVXJsIjoiaHR0cHM6Ly9hcGkuc2FuZGJveC5icmFpbnRyZWVnYXRld2F5LmNvbTo0NDMvbWVyY2hhbnRzLzM0OHBrOWNnZjNiZ3l3MmIvY2xpZW50X2FwaSIsImFzc2V0c1VybCI6Imh0dHBzOi8vYXNzZXRzLmJyYWludHJlZWdhdGV3YXkuY29tIiwiYXV0aFVybCI6Imh0dHBzOi8vYXV0aC52ZW5tby5zYW5kYm94LmJyYWludHJlZWdhdGV3YXkuY29tIiwiYW5hbHl0aWNzIjp7InVybCI6Imh0dHBzOi8vY2xpZW50LWFuYWx5dGljcy5zYW5kYm94LmJyYWludHJlZWdhdGV3YXkuY29tIn0sInRocmVlRFNlY3VyZUVuYWJsZWQiOnRydWUsInRocmVlRFNlY3VyZSI6eyJsb29rdXBVcmwiOiJodHRwczovL2FwaS5zYW5kYm94LmJyYWludHJlZWdhdGV3YXkuY29tOjQ0My9tZXJjaGFudHMvMzQ4cGs5Y2dmM2JneXcyYi90aHJlZV9kX3NlY3VyZS9sb29rdXAifSwicGF5cGFsRW5hYmxlZCI6dHJ1ZSwicGF5cGFsIjp7ImRpc3BsYXlOYW1lIjoiQWNtZSBXaWRnZXRzLCBMdGQuIChTYW5kYm94KSIsImNsaWVudElkIjpudWxsLCJwcml2YWN5VXJsIjoiaHR0cDovL2V4YW1wbGUuY29tL3BwIiwidXNlckFncmVlbWVudFVybCI6Imh0dHA6Ly9leGFtcGxlLmNvbS90b3MiLCJiYXNlVXJsIjoiaHR0cHM6Ly9hc3NldHMuYnJhaW50cmVlZ2F0ZXdheS5jb20iLCJhc3NldHNVcmwiOiJodHRwczovL2NoZWNrb3V0LnBheXBhbC5jb20iLCJkaXJlY3RCYXNlVXJsIjpudWxsLCJhbGxvd0h0dHAiOnRydWUsImVudmlyb25tZW50Tm9OZXR3b3JrIjp0cnVlLCJlbnZpcm9ubWVudCI6Im9mZmxpbmUiLCJ1bnZldHRlZE1lcmNoYW50IjpmYWxzZSwiYnJhaW50cmVlQ2xpZW50SWQiOiJtYXN0ZXJjbGllbnQzIiwiYmlsbGluZ0FncmVlbWVudHNFbmFibGVkIjp0cnVlLCJtZXJjaGFudEFjY291bnRJZCI6ImFjbWV3aWRnZXRzbHRkc2FuZGJveCIsImN1cnJlbmN5SXNvQ29kZSI6IlVTRCJ9LCJjb2luYmFzZUVuYWJsZWQiOmZhbHNlLCJtZXJjaGFudElkIjoiMzQ4cGs5Y2dmM2JneXcyYiIsInZlbm1vIjoib2ZmIn0=);startActivityForResult(paymentRequest.getIntent(this), REQUEST_CODE);
}

2.4 UI界面环节的使用
此时,您已经准备好从你的客户那里收集付款细节。
Drop-in是最简单的方法开始。它提供了一个完全成熟的开箱即用的支付体验。你也可以选择创建一个自定义用户界面,然后标记直接支付方式的细节。
如何开始使用Drop-in:当你的用户提供的付款信息, 你需要重载onActivityResult去获得这个响应,您的应用程序代码调用将在此收到临时的支付方式,:

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {if (requestCode == REQUEST_CODE) {if (resultCode == Activity.RESULT_OK) {PaymentMethodNonce paymentMethodNonce = data.getParcelableExtra(BraintreePaymentActivity.EXTRA_PAYMENT_METHOD_NONCE);String nonce = paymentMethodNonce.getNonce();// Send the nonce to your server.}}
}

2.5 发送支付方式到你的服务端
发送临时产生的支付方式 到服务器(再一次,这个示例使用Android异步Http客户端-适应您自己的设置):

void postNonceToServer(String nonce) {AsyncHttpClient client = new AsyncHttpClient();RequestParams params = new RequestParams();params.put("payment_method_nonce", nonce);
client.post("http://your-server/payment-methods", params,new AsyncHttpResponseHandler() {// Your implementation here});
}

2.6 最后一点
你应该有一个工作中的客户端(client-side)检验流程工作。当你的用户提供支付细节,你收到临时的付款方法和发送给你的服务器。
接下来,您的服务器通过使用临时的支付方式创建一个事务来关闭循环。
3 创建服务端:
服务端的配置需要一个沙箱账号,以及java lib库或者使用maven引用等等。此外,客户端的token由服务端生成。服务器负责生成客户端令牌,其中包含客户端用来初始化客户端SDK和Braintree交互所需要的所有授权和配置信息。

Ps:如果混淆了代码请输入下面规则:

-keep class com.braintree.** {*; }
-keep class com.braintreegateway.** {*; }
-dontwarn com.google.android.gms.**
-dontwarn com.devicecollector.**

android demo部分代码示例
http://download.csdn.net/detail/u010716109/9588697

IOS部分示例:

[self createOrder:^(NSString *orderNo) {Log(@"ordorNo = %@",orderNo);self.orderNo=orderNo;self.dataCollector = [[BTDataCollector alloc]initWithEnvironment:BTDataCollectorEnvironmentProduction];BTDropInViewController *dropInViewController = [[BTDropInViewController alloc]initWithAPIClient:self.braintreeClient];BTUI *btUI = [BTUI braintreeTheme];dropInViewController.theme=btUI;dropInViewController.delegate = self;dropInViewController.paymentRequest.summaryTitle=self.address.name;dropInViewController.paymentRequest.summaryDescription=self.address.addr;dropInViewController.paymentRequest.displayAmount=[NSString stringWithFormat:@"%@ %.2f",XFLOCALIZATION(@"TOTAL:"),self.orderGroups.allPrice];dropInViewController.paymentRequest.currencyCode=[TTSettingTool getSaveCurrencyId];[self.navigationController pushViewController:dropInViewController animated:YES];}];

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

相关文章

PayPal BrainTree 是怎么运作的

如上图。 第一步 应用前端向应用后端请求一个客户端token,并且初始化客户端的SDK。 第二步 应用后端通过后端SDK生成并且返回一个客户端token。 第三步 用户(顾客)提交支付信息,客户端SDK将这个信息提交给Braintree&#xff0c…

Braintree-国外支付对接(三) 之Customer UI

前篇:Braintree-国外支付对接(二) 中的支付按钮的生成是braintree自带的样式和事件控制的,即drop-in,生成的界面我们不能过多的更改和控制。所以假如我们想要自己编写控件,自己控制样式,但又能正…

iOS接入国际支付Stripe和Braintree

黑客技术 点击右侧关注,了解黑客的世界! Java开发进阶 点击右侧关注,掌握进阶之路! Linux编程 点击右侧关注,免费入门到精通! 前言 最近在开发国际版APP时需要用到支付,由于资料比较少&#xff…

braintree api调用记录

国外的支付集成接入。 只使用基础的卡支付,跟PayPal支付。 braintree 有沙盒环境可以申请测试,有php sdk包直接下载调用,非常简单。 1,声明配置信息 private $_debug false;private $_pay_method braintree;private …

Android集成Paypal支付Braintree

最新发现Paypal的官方SDK已经不再维护了,所以需要把项目的支付做一下升级。 文档链接:点击这里 根据文档来看Paypal支付的集成相比以前简单了许多,下面我们讲一下集成步骤: 1:在 build.gradle 中添加以下内容 compil…

:braintree_Laravel和Braintree:中间件和其他高级概念

:braintree This article was peer reviewed by Viraj Khatavkar. Thanks to all of SitePoint’s peer reviewers for making SitePoint content the best it can be! 本文由Viraj Khatavkar进行了同行评审。 感谢所有SitePoint的同行评审人员使SitePoint内容达到最佳状态&…

braintree_Laravel和Braintree,坐在树上……

braintree This article was peer reviewed by Younes Rafie and Wern Ancheta. Thanks to all of SitePoint’s peer reviewers for making SitePoint content the best it can be! 这篇文章由Younes Rafie和Wern Ancheta进行了同行评审。 感谢所有SitePoint的同行评审人员使S…

braintree使用_使用Braintree v.zero SDK购买时间

braintree使用 This article was sponsored by Braintree. Thank you for supporting the sponsors who make SitePoint possible! 本文由Braintree赞助。 感谢您支持使SitePoint成为可能的赞助商! Braintree touts itself as offering “Simple, powerful payment…

简单聊聊PayPal与BrainTree选型经历

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

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;这样论文公式才不会发生…