Paypal 支付粗糙集成

2023-10-21 19:20
文章标签 支付 集成 paypal 粗糙

本文主要是介绍Paypal 支付粗糙集成,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

前言

因为paypal的官方文档上说明paypal的支付sdk其实已经被废弃了,所以我用了 官方的解释~ 所以我这里就直接参考了braintree sdk sample
这个例子可以直接运行 braintree集成的官网地址

支付前准备

准备palpay的账号和braintree的账号 他们两个是从属关系但又不是一样的,sandbox环境可以关联起来 但是生产环境又不一样 很烦

  • 首先进入braintree的沙箱平台 创建的自己的apk,在setting->processing 关联paypal的账号 因为公司以前的用paypal的 如下图地址

  • 在paypal 的控制台中创建自己的apk 文件并关联沙箱测试账号

  • 在sandbox->account 中以facilitor结尾的是商家账号 以buyer结尾的是买卖账号 测试时候使用买家账号就可以了

代码编写

我用的是drop-in 集成方便 同时还能集成信用卡付款、google pay、apple pay

整体的流程图如下地址 要知道的是客户端不处理付款 主要的付款操作都是在服务器执行的

  • 首先在module目录中依赖com.braintreepayments.api:drop-in:3.2.1注意依赖这个 项目的 compileSdkVersion要在26以上
  • 流程解释下 首先要从服务器端获取token,然后客户端像braintree服务器请求nonce 然后发送给自己的服务器 服务器接收后生成transaction 在向braintree服务器做支付处理
  • 然后根据官方的参考文档执行就行了 地址

具体集成还是比较简单的关键是账号的准备太麻烦了

如果你在集成的时候服务端还没做好 这里有个服务端的例子可以临时充当下后台~地址 这个例子直接在as中运行就可以了 不过要简单的修改下 增加教程中的两个接口 client_token 和check 具体代码如下
private String token="";
@RequestMapping(value = "/client_token", method = RequestMethod.GET)
public @ResponseBody String clientToken() {
JSONObject object=new JSONObject();
token=gateway.clientToken().generate();
object.put("token",token);
return object.toString();
}

`
@RequestMapping(value = “/checkout”, method = RequestMethod.POST)
@ResponseBody
public String checkoutHere( @RequestBody String json) {

    JSONObject ob=new JSONObject(json);String nonceFromTheClient = ob.optString("payment_method_nonce");System.out.println("nonce:"+nonceFromTheClient);TransactionRequest request = new TransactionRequest().amount(new BigDecimal("18.00")).paymentMethodNonce(nonceFromTheClient)

// .paymentMethodToken(token)
// .paypalAccount().done()
.options()
.submitForSettlement(true)
.done();

    Result<Transaction> result = gateway.transaction().sale(request);JSONObject jsonObject=new JSONObject();if (result.isSuccess()) {Transaction transaction = result.getTarget();jsonObject.put("message",transaction.getId());System.out.println("transaction1:"+transaction.getId());} else if (result.getTransaction() != null) {Transaction transaction = result.getTransaction();System.out.println("transaction2:"+transaction.getId());jsonObject.put("message1",transaction.getId());} else {StringBuilder errorString = new StringBuilder();for (ValidationError error : result.getErrors().getAllDeepValidationErrors()) {errorString.append("Error: ").append(error.getCode()).append(": ").append(error.getMessage()).append("\n");}jsonObject.put("error",errorString.toString());System.out.println("error:"+errorString.toString());}return jsonObject.toString()+"\nnonceFromTheClient: "+nonceFromTheClient+"\ntoken:"+token;
}`

这篇关于Paypal 支付粗糙集成的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/256428

相关文章

springboot集成easypoi导出word换行处理过程

《springboot集成easypoi导出word换行处理过程》SpringBoot集成Easypoi导出Word时,换行符n失效显示为空格,解决方法包括生成段落或替换模板中n为回车,同时需确... 目录项目场景问题描述解决方案第一种:生成段落的方式第二种:替换模板的情况,换行符替换成回车总结项目场景s

SpringBoot集成redisson实现延时队列教程

《SpringBoot集成redisson实现延时队列教程》文章介绍了使用Redisson实现延迟队列的完整步骤,包括依赖导入、Redis配置、工具类封装、业务枚举定义、执行器实现、Bean创建、消费... 目录1、先给项目导入Redisson依赖2、配置redis3、创建 RedissonConfig 配

SpringBoot集成XXL-JOB实现任务管理全流程

《SpringBoot集成XXL-JOB实现任务管理全流程》XXL-JOB是一款轻量级分布式任务调度平台,功能丰富、界面简洁、易于扩展,本文介绍如何通过SpringBoot项目,使用RestTempl... 目录一、前言二、项目结构简述三、Maven 依赖四、Controller 代码详解五、Service

springboot2.1.3 hystrix集成及hystrix-dashboard监控详解

《springboot2.1.3hystrix集成及hystrix-dashboard监控详解》Hystrix是Netflix开源的微服务容错工具,通过线程池隔离和熔断机制防止服务崩溃,支持降级、监... 目录Hystrix是Netflix开源技术www.chinasem.cn栈中的又一员猛将Hystrix熔

MyBatis-Plus 与 Spring Boot 集成原理实战示例

《MyBatis-Plus与SpringBoot集成原理实战示例》MyBatis-Plus通过自动配置与核心组件集成SpringBoot实现零配置,提供分页、逻辑删除等插件化功能,增强MyBa... 目录 一、MyBATis-Plus 简介 二、集成方式(Spring Boot)1. 引入依赖 三、核心机制

SpringBoot集成P6Spy的实现示例

《SpringBoot集成P6Spy的实现示例》本文主要介绍了SpringBoot集成P6Spy的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面... 目录本节目标P6Spy简介抛出问题集成P6Spy1. SpringBoot三板斧之加入依赖2. 修改

springboot项目中集成shiro+jwt完整实例代码

《springboot项目中集成shiro+jwt完整实例代码》本文详细介绍如何在项目中集成Shiro和JWT,实现用户登录校验、token携带及接口权限管理,涉及自定义Realm、ModularRe... 目录简介目的需要的jar集成过程1.配置shiro2.创建自定义Realm2.1 LoginReal

SpringBoot集成Shiro+JWT(Hutool)完整代码示例

《SpringBoot集成Shiro+JWT(Hutool)完整代码示例》ApacheShiro是一个强大且易用的Java安全框架,提供了认证、授权、加密和会话管理功能,在现代应用开发中,Shiro因... 目录一、背景介绍1.1 为什么使用Shiro?1.2 为什么需要双Token?二、技术栈组成三、环境

Java 与 LibreOffice 集成开发指南(环境搭建及代码示例)

《Java与LibreOffice集成开发指南(环境搭建及代码示例)》本文介绍Java与LibreOffice的集成方法,涵盖环境配置、API调用、文档转换、UNO桥接及REST接口等技术,提供... 目录1. 引言2. 环境搭建2.1 安装 LibreOffice2.2 配置 Java 开发环境2.3 配

SpringBoot集成EasyExcel实现百万级别的数据导入导出实践指南

《SpringBoot集成EasyExcel实现百万级别的数据导入导出实践指南》本文将基于开源项目springboot-easyexcel-batch进行解析与扩展,手把手教大家如何在SpringBo... 目录项目结构概览核心依赖百万级导出实战场景核心代码效果百万级导入实战场景监听器和Service(核心