当前位置: 首页 > news >正文

企业网站的建设企业福州网站外包

企业网站的建设企业,福州网站外包,wordpress 中国 替代,广东省新闻提示#xff1a;文章写完后#xff0c;目录可以自动生成#xff0c;如何生成可参考右边的帮助文档 文章目录 一、开发前准备#xff1f;二、使用步骤1、引入库2、配置在 application.yml 里面进行配置#xff1a;3、alipay的java配置#xff1a;AplipayConfig.java4、支付… 提示文章写完后目录可以自动生成如何生成可参考右边的帮助文档 文章目录 一、开发前准备二、使用步骤1、引入库2、配置在 application.yml 里面进行配置3、alipay的java配置AplipayConfig.java4、支付接口4、回调接口 一、开发前准备 easy支付官方文档https://opendocs.alipay.com/open/009ys9 通用版文档https://opendocs.alipay.com/open/02np94 支付宝沙箱的配置 注册支付宝开发者账户进入开发者控制台 沙箱快捷入口 https://open.alipay.com/develop/sandbox/app 沙箱的界面 二、使用步骤 1、引入库 dependencygroupIdcom.alipay.sdk/groupIdartifactIdalipay-easysdk/artifactIdversion2.2.2/version /dependency 2、配置在 application.yml 里面进行配置 #阿里沙箱支付配置 alipay:#签名算法signType: #应用IDappId: #应用私钥appPrivateKey:#支付宝公钥publicKey: #回调地址notifyUrl: 3、alipay的java配置AplipayConfig.java /*** author Mr.ZJW* date Created 2023/9/20 17:40* descriptionalipay沙箱环境配置*/ Slf4j Data Component ConfigurationProperties(prefix alipay) public class AlipayConfig {/*** appId*/private String appId;/*** 私钥*/private String appPrivateKey;/*** 公钥*/private String publicKey;/*** 回调地址*/private String notifyUrl;/*** 支付宝配置初始化,公钥模式*/PostConstructpublic void init() {Config config new Config();//#基础配置config.protocol https; //协议config.gatewayHost openapi.alipaydev.com; //支付宝网关config.signType RSA2; //签名方式//#业务配置config.appId this.appId; //应用idconfig.merchantPrivateKey this.appPrivateKey; 应用私钥config.alipayPublicKey this.publicKey; //支付宝公钥config.notifyUrl this.notifyUrl; //回调地址Factory.setOptions(config);log.info(支付宝配置初始化完成);}}4、支付接口 import com.alipay.easysdk.factory.Factory; import com.alipay.easysdk.payment.page.models.AlipayTradePagePayResponse; import com.google.common.collect.Maps; import com.jowell.common.exception.base.BaseException; import com.jowell.common.response.Result; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody;import javax.servlet.http.HttpServletRequest; import java.util.Map;/*** author Mr.ZJW* date Created 2023/9/20 17:53* description支付controller*/ Slf4j RequestMapping(/alipay) Controller ResponseBody public class TestAlipayController {/*** 支付接口** param subject 名称* param outTradeNo 订单号* param totalAmount 金额* return /*/GetMapping(/pay)public String pay(String subject, String outTradeNo, String totalAmount) {AlipayTradePagePayResponse response;try {response Factory.Payment.Page().pay(subject, outTradeNo, totalAmount, );} catch (Exception e) {log.error(支付宝付款调用失败原因 e.getMessage());throw new BaseException(网络异常,请刷新后重试);}return response.getBody();}接口测试 访问URL进行测试测试的url格式http://localhost:10000/alipay/pay?subject支付测试outTradeNoD239211000000totalAmount1 效果 进行用买家账号密码登录 输入支付密码进行支付 支付成功 4、回调接口 回调接口要有一个外网域名这里可以使用花生壳以及我分享过的一遍文章 文章链接https://blog.csdn.net/javaeEEse/article/details/117983797?spm1001.2014.3001.5502 把这个域名复制到配置文件里的回调地址上。 回调完整代码 /*** 支付宝回调*/PostMapping(/notify)public ResultString notify(HttpServletRequest request) {log.info(支付宝回调成功);//校验是否成功if (TRADE_SUCCESS.equals(request.getParameter(trade_status))) {//#解析回调数据MapString, String params Maps.newHashMap();MapString, String[] requestParams request.getParameterMap();for (String name : requestParams.keySet()) {params.put(name, request.getParameter(name));}//订单号String tradeNo params.get(out_trade_no);//支付金额String gmtPayment params.get(gmt_payment);//支付宝交易凭证号String alipayTradeNo params.get(trade_no);//#支付宝验签防止不法分子伪造请求try {Boolean flag Factory.Payment.Common().verifyNotify(params);if (Boolean.TRUE.equals(flag)) {log.info(交易名称: params.get(subject));log.info(交易状态: params.get(trade_status));log.info(支付宝交易凭证号: params.get(trade_no));log.info(商户订单号: params.get(out_trade_no));log.info(交易金额: params.get(total_amount));log.info(买家在支付宝唯一id: params.get(buyer_id));log.info(买家付款时间: params.get(gmt_payment));log.info(买家付款金额: params.get(buyer_pay_amount));} else {log.error(异步通知验签失败);return Result.error(fail);}} catch (Exception e) {log.error(异步发生异常{}, e.getMessage());return Result.error(fail);}//#进行一些业务逻辑,如更新订单等操作}return Result.success();}
http://www.yutouwan.com/news/315705/

相关文章:

  • 安卓做视频网站网站建设营销策略
  • 网站设计公司南京响应式布局的概念
  • 什么语言做网站最好国内大型餐饮网站建设
  • 如何学网站开发青年旅行社网站建设规划书
  • 青岛网站设计方案网站调用优酷视频去除广告的方法
  • 什么网站用vue做的网站备案好麻烦
  • app外包公司怎么找上海谷歌seo推广公司
  • 哪里有做网站设计php是做网站的吗
  • 如何做视频网站推广员潍坊知名网站建设公司
  • 溧阳网站定制教育 wordpress模板
  • 建设银行信用卡提额网站html网站建设中源代码
  • 网站建设公司开发企业北京网站北京天津网站建设公司
  • 网站建设报价单怎样看出一个网站是那个公司做的
  • 织梦网站301重定向旅游平台网站合作建设方案
  • 网站建设seo策略有哪些衡水阿里巴巴网站建设
  • 礼仪策划网站建设网站建设一二级目录
  • 建网站的程序免费河北 保定 网站建设
  • 深圳网站关键词排名查询福州企业如何建网站
  • 包装东莞网站建设0769竞价排名和seo的区别
  • 免费门户网站网络优化的意义
  • 网页设计建网站视频网站信息资源建设
  • 做网站需要学jsp做网站的难点
  • 青岛公司建设网站网站制作时间代码
  • 织梦网站程序模板wordpress没中文插件
  • 做网站一般用什么配置的电脑上海奉贤网站建设 列表网
  • 水贝做网站公司江都建设集团有限公司官方网站
  • 韩国风格网站模板江苏昆山网站建设
  • 关于对网站建设工作情况的通报内蒙古包头网站建设
  • 做720全景好的网站海城建设网站
  • 化妆品品牌网站建设新手怎么推广自己的店铺