这里只讲查询支付状态的,获得 token 什么的比较简单,这里就不讲解了。
这里是根据按钮进行对接的,也就是这篇
官网有Show captured payment details
postman
只需要带个 token 就行了
代码如下
public static ServiceResult<String> getPaypalPaymentResult(String txnId) {
if (StringUtils.isBlank(txnId)) {
return ServiceResult.asFail("The transaction number does not exist!");
}
LogUtils.PAYPAL_LOG.info("get Paypal Payment Result txnId:" + txnId);
Request request = new Request.Builder()
.url(GET_PAYPAL_PAYMENT_STATUS_URL + txnId)
.get()
.addHeader("Authorization", "Bearer " + getPaypalToken())
.addHeader("Content-Type", "application/json")
.build();
String responseStr = "";
try {
responseStr = paypalClient.newCall(request).execute().body().string();
LogUtils.PAYPAL_LOG.info("get Paypal Payment Status request:" + request.toString() + " response String:" + responseStr);
return ServiceResult.asSuccess(responseStr, "response");
} catch (Exception e) {
LogUtils.ERROR_LOGGER.error("get Paypal Payment Status request send failed request :" + request.toString());
}
return ServiceResult.asFail("get Paypal Payment Status failed!");
}
官网有Show order details
postman
如果不知道OrderID在哪里获取,请点这里
代码如下:
public static ServiceResult<PaypalOrderModel> getPaypalOrderDetails(String orderId) {
if (StringUtils.isBlank(orderId)) {
return ServiceResult.asFail("orderId is required!");
}
LogUtils.PAYPAL_LOG.info("get Paypal order Details orderId:" + orderId);
Request request = new Request.Builder()
.url(GET_PAYPAL_ORDER_STATUS_URL + orderId)
.get()
.addHeader("Authorization", "Bearer " + getPaypalToken())
.addHeader("Content-Type", "application/json")
.build();
ServiceResult result = ServiceResult.asFail("");
try {
String responseStr = paypalClient.newCall(request).execute().body().string();
LogUtils.PAYPAL_LOG.info("get Paypal order Details request:" + request.toString() + " response String:" + responseStr);
result.success = PaypalOrderStatus.isPaymentSuccess(responseStr);
PaypalOrderModel paypalOrderModel = jsonConvertOrderModel(responseStr);
result.obj = paypalOrderModel;
} catch (Exception e) {
LogUtils.ERROR_LOGGER.error("get Paypal order Details request send failed request :" + request.toString() + ", order Details transfer PaypalOrderModel failed!");
}
return result;
}
文章浏览阅读302次。技术交流QQ群【JAVA,C++,Python,.NET,BigData,AI】:170933152然后前面我们已经把分布式微服务的,认证授权全部集成了,然后我们来测试.启动资源微服务order微服务.启动网关微服务然后启动注册中心微服务然后注意我们,这里以后访问就可以统一通过网关来访问了,我们网关的端口是53010 对吧,我们先去请求一个令牌可以看到.我们通过密码模式.获取了这个令牌以后,我们去check检查一下这个token,可以看到把token._spring security oauth2.0实现分布式系统授权(nacos注册中心+网关+认证授权服务(j
文章浏览阅读278次。Oracle一、Oracle语句关系型数据库:mysql,oracle,sqlserver非关系型数据库:mogodbSQL支持下列类别的命令:数据定义语言(DDL):create创建,alter修改,drop删除数据操作语言(DML):insert 、select、update、delete事务控制语言(TCL):commit 提交;rollback回滚数据控制语言(DCL):grant授权;revoke撤销sql:结构化查询语言数据类型;字符:char(定长度)_oracle left join 临时表
文章浏览阅读1.8w次。在基于tensorflow的keras中,其会自动检测运行的机器中是否有gpu,如果有的话,其会自动在gpu上执行运算。但是keras并没有提供像基于theano如下所示的接口来对要运行的gpu进行选择# the name 'gpu' might have to be changed depending on your device's identifier (e.g. gpu0, gpu1, et_keras 识别检测时需要用gpu吗
文章浏览阅读463次。首发于github于gulp的插件数量虽然没有grunt那么多,但也可以说是应有尽有了,下面列举一些常用的插件。_gulp插件
文章浏览阅读168次。1.es大致介绍 分布式搜索引擎,底层为lucene,核心思想多台机器启动多个es进程构成集群. index->type->mapping->document->field shard 横向扩展 提高性能 primary shard-> replica shard 高可用2.写入原理,查询...
文章浏览阅读402次。本文用 Python 实现 PS 的一种滤镜效果,称为万花筒。也是对图像做各种扭曲变换,最后图像呈现的效果就像从万花筒中看到的一样:图像的效果可以参考之前的博客:http://blog.csdn.net/matrix_space/article/details/46789783import matplotlib.pyplot as pltfrom..._opencv 万花筒
文章浏览阅读761次,点赞2次,收藏4次。本文转载自Python编程时光(ID: Python-Time)冷知识系列,直至今日,已经更新至第五篇。前四篇给你准备好了,还没阅读的可以学习一下。谈谈 Python 那..._空字符串字典序
文章浏览阅读2.4w次,点赞32次,收藏200次。upload-labs靶场的安装搭建(windows)(1)首先当然是需要phpstudy的环境,所以要先下载安装phpstudy。(2)然后到github的网址中下载源码的压缩包。github网址:https://github.com/Tj1ngwe1/upload-labs(3)下载后解压缩到phpstudy目录下的WWW子文件夹中,这里要注意吧压缩包的名字改成upload-labs,不然靶场的页面会显示得不对。(4)然后在输入url HTTPS:..._uploadlabs
文章浏览阅读280次。笔记整理 | 吴林娟,天津大学硕士来源:EMNLP2020链接:https://www.aclweb.org/anthology/2020.findings-emnlp.265.pdf动..._吴林娟 天津大学
文章浏览阅读1.3w次,点赞8次,收藏22次。代码示例:sklearn.metrics.auc函数的输入是FPR和TPR的值,即ROC曲线中的真阳性率(true positive rate)和假阳性率(false positive rate)。得到的输出结果是一个float格式的数值,代指ROC曲线下的面积(AUC的值)。python所给的代码示例中用到了metrics.roc_curve函数,这个函数主要是用来计算ROC曲线面积的;在这里的输入参数有三个:第一个参数是一个二进制数组y,代表“真”或“假”,默认为0或者1的._sklearn auc
文章浏览阅读46次。埃氏筛法const int max1=1e7;int prime[max1+1];bool visit[max1+1];int E_sieve(int n){ for(int i=0; i<=n; i++) { visit[i]=false; } for(int i=2; i*i<=n; i++) { if(!visit[i]) { for(int j=i*i; j&_素数筛
文章浏览阅读2.2w次,点赞19次,收藏48次。vue2.0可以使用this,如果配合element的form表单的话,会比较方便,至于写这次的笔记是因为,3.0使用setup()以后不存在this,里面的model以及rules校验,最后的提交都跟之前有所不同,故有此文章。vue2.0配合element的代码如下<el-form :model="ruleForm" :rules="rules" ref="ruleForm" label-width="100px" class="demo-ruleForm"> <el-fo_element-plus form submit