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

微博白菜网站怎么做适应移动端网站模板

微博白菜网站怎么做,适应移动端网站模板,三网合一网站建设全包费用,印度人通过什么网站做国际贸易前言 支付宝支付—沙箱环境使用支付宝支付-支付宝PC端扫码支付「本文」支付宝支付-手机浏览器H5支付「待写」 PC端扫码支付#xff0c;其实就是就是 电脑网站支付#xff0c;本文基于支付宝沙箱环境#xff0c;不了解的可以看一下上边的链接。 废话不多说#xff0c;直接进… 前言 支付宝支付—沙箱环境使用支付宝支付-支付宝PC端扫码支付「本文」支付宝支付-手机浏览器H5支付「待写」 PC端扫码支付其实就是就是 电脑网站支付本文基于支付宝沙箱环境不了解的可以看一下上边的链接。 废话不多说直接进入主题。 下载运行测试Demo 官方Demo下载链接电脑网站支付Java 下载后导入 IDEA 中运行如下图所示 如果在导入运行过程遇到错误请参考这篇文章IDEA中导入支付宝电脑网站支付测试Demo遇到的错误 进行支付测试注意付款要用沙箱环境提供的支付宝APK。 Maven项目中使用 pom.xml中引入支付宝sdk依赖 dependencygroupIdcom.alipay.sdk/groupIdartifactIdalipay-sdk-java/artifactIdversion3.1.0/version /dependency配置可以单独创建一个类静态初始化参数 public class AlipayConfig {// [沙箱环境]应用ID,您的APPID收款账号既是您的APPID对应支付宝账号public static String app_id  ;// [沙箱环境]商户私钥您的PKCS8格式RSA2私钥public static String merchant_private_key  ;// [沙箱环境]支付宝公钥,查看地址https://openhome.alipay.com/platform/keyManage.htm 对应APPID下的支付宝公钥。public static String alipay_public_key  ;// [沙箱环境]服务器异步通知页面路径  需http://格式的完整路径不能加?id123这类自定义参数必须外网可以正常访问public static String notify_url  http://ngrok.sscai.club/alipay/aliPayNotify_url;// [沙箱环境]页面跳转同步通知页面路径 需http://格式的完整路径不能加?id123这类自定义参数必须外网可以正常访问public static String return_url  http://ngrok.sscai.club/index.html#/alipay/success;// [沙箱环境]public static String gatewayUrl  https://openapi.alipaydev.com/gateway.do; }至于接口啥的基本就是可以参考上方运行的Demo了。 简单看看生成支付宝订单「没有使用开源SDK」。 Transactional public String alipayOrder(AlipayOrderRequest alipayOrderRequest) throws AlipayApiException {//获得初始化的AlipayClientAlipayClient alipayClient  new DefaultAlipayClient(AlipayConfig.gatewayUrl,AlipayConfig.app_id,AlipayConfig.merchant_private_key,json,AlipayConfig.charset,AlipayConfig.alipay_public_key,AlipayConfig.sign_type);//设置请求参数String payType  alipayOrderRequest.getPayType();// pageAlipayTradePagePayRequest alipayPageRequest  new AlipayTradePagePayRequest();alipayPageRequest.setReturnUrl(AlipayConfig.return_url);alipayPageRequest.setNotifyUrl(AlipayConfig.notify_url);//商户订单号商户网站订单系统中唯一订单号必填String out_trade_no  alipayOrderRequest.getWidOutTradeNo();//付款金额必填String total_amount  alipayOrderRequest.getWidTotalFee();//订单名称必填String subject  alipayOrderRequest.getWidSubject();//商品描述可空String body  alipayOrderRequest.getWIDbody();//拼接参数alipayPageRequest.setBizContent({\out_trade_no\:\ out_trade_no \, \total_amount\:\ total_amount \, \subject\:\ subject \, \body\:\ body \, \product_code\:\FAST_INSTANT_TRADE_PAY\});// 发起请求return alipayClient.pageExecute(alipayPageRequest).getBody(); }网站支付接口调用后返回的是一个 Form 表单也就是 result 实际是一段 Html 代码然后把 result 传给前段调用即可下面是返回的 Form 的一个示例   form namepunchout_form methodpost actionhttps://openapi.alipaydev.com/gateway.do?charsetUTF-8amp;methodalipay.trade.wap.payamp;signxxamp;return_urlhttp%3A%2F%2Fngrok.sscai.club%2Falipay_trade_wap_pay_java_utf_8_war_exploded%2Freturn_url.jspamp;notify_urlhttp%3A%2F%2Fngrok.sscai.club%2Falipay_trade_wap_pay_java_utf_8_war_exploded%2Fnotify_url.jspamp;version1.0amp;app_id2016101700705301amp;sign_typeRSA2amp;timestamp2020-01-0814%3A09%3A58amp;alipay_sdkalipay-sdk-java-3.3.0amp;formatjson input typehidden namebiz_content value{quot;bodyquot;:quot;购买测试商品0.01元quot;,quot;out_trade_noquot;:quot;20201814955421quot;,quot;product_codequot;:quot;QUICK_WAP_WAYquot;,quot;subjectquot;:quot;电脑网站支付测试商品quot;,quot;timeout_expressquot;:quot;2mquot;,quot;total_amountquot;:quot;0.01quot;} / input typesubmit value立即支付 styledisplay:none / /form怎么调用呢下面是一段我在vue中的测试代码片段前段接收到后端返回的 Form 表单进行提交 const div  document.createElement(div); console.log(我是后端返回的数据:res.result) div.innerHTML  res.result; document.body.appendChild(div); console.log(punchout_form:document.forms.punchout_form) document.forms.punchout_form.submit();支付成功后会自动重定向到配置的跳转界面由后端的的 return_url 参数控制。 再看看支付成功后的回调接口「没有使用开源的SDK演示」 public String alipaynotify(Model model, HttpServletRequest request) {log.info(支付宝异步回调 ------------beg-----------);String result  fail;//获取支付宝POST过来反馈信息/* ** 功能支付宝服务器异步通知页面* 说明* 以下代码只是为了方便商户测试而提供的样例代码商户可以根据自己网站的需要按照技术文档编写,并非一定要使用该代码。* 该代码仅供学习和研究支付宝接口使用只是提供一个参考。*/MapString, String paramsthis.getAlipayRequest(request);if(params  null || params.size()0){BufferedReader bufferReader  null;StringBuilder sb  new StringBuilder();try {bufferReader  new BufferedReader(request.getReader());String line  null;while ((line  bufferReader.readLine()) ! null) {sb.append(new String(line.getBytes(ISO-8859-1), utf-8));}} catch (IOException e) {e.printStackTrace();}String body null;try {body  URLDecoder.decode(sb.toString(),UTF-8);} catch (UnsupportedEncodingException e) {e.printStackTrace();}paramsUriComponentsBuilder.newInstance().query(body).build().getQueryParams().toSingleValueMap();}boolean signVerified false;try {signVerified  AlipaySignature.rsaCheckV1(params, AlipayConfig.alipay_public_key, AlipayConfig.charset, AlipayConfig.sign_type);} catch (AlipayApiException e1) {// TODO Auto-generated catch blocklog.error(由于e1.getErrMsg()返回给支付宝系统的结果result:fail);model.addAttribute(result, fail);return result;} //调用SDK验证签名//——请在这里编写您的程序以下代码仅作参考——/* 实际验证过程建议商户务必添加以下校验1、需要验证该通知数据中的out_trade_no是否为商户系统中创建的订单号2、判断total_amount是否确实为该订单的实际金额即商户订单创建时的金额3、校验通知中的seller_id或者seller_email) 是否为out_trade_no这笔单据的对应的操作方有的时候一个商户可能有多个seller_id/seller_email4、验证app_id是否为该商户本身。*/log.error(支付宝验证签名---------------------------------signVerified);if(signVerified) {//验证成功//商户订单号//交易状态log.info(支付宝异步回调验签成功);String trade_status  params.get(trade_status);if(TRADE_FINISHED.equals(trade_status)){//判断该笔订单是否在商户网站中已经做过处理//如果没有做过处理根据订单号out_trade_no在商户网站的订单系统中查到该笔订单的详细并执行商户的业务程序//如果有做过处理不执行商户的业务程序//注意//退款日期超过可退款期限后如三个月可退款支付宝系统发送该交易状态通知try {// 在这里处理支付成功后的操作比如修改订单状态等等coding...result  success;} catch (Exception e) {log.error(e.getMessage());result  fail;}}else if (TRADE_SUCCESS.equals(trade_status)){//判断该笔订单是否在商户网站中已经做过处理//如果没有做过处理根据订单号out_trade_no在商户网站的订单系统中查到该笔订单的详细并执行商户的业务程序//如果有做过处理不执行商户的业务程序//注意//付款完成后支付宝系统发送该交易状态通知try {// 在这里处理支付成功后的操作比如修改订单状态等等coding...result  success;} catch (Exception e) {log.error(e.getMessage());result  fail;}}else{result  fail;}}else {//验证失败result  fail;//调试用写文本函数记录程序运行情况是否正常//String sWord  AlipaySignature.getSignCheckContentV1(params);//AlipayConfig.logResult(sWord);log.debug(支付宝异步回调验签失败);}log.debug(异步回调返回给支付宝系统的结果result:result);model.addAttribute(result, result);log.info(支付宝异步回调  -------------end ------------);return result; }该方法返回给支付宝的 result 就 success、fail 两个结果。 从以上看来其实不难发现支付宝支付是非常简单的尽管我上边贴了大量的代码其实采用开源SDK的话可以更加缩减、美化一些。 ok这篇文章就到这结束了上边并没有详细介绍接口调用、参数说明等详细介绍请查看官方文档https://docs.open.alipay.com/270/105902/ 官方测试Demo下载 上方可运行的官方支付Demohttps://www.lanzous.com/i8qjxij 求关注求推荐 博客地址https://www.cnblogs.com/niceyoo 求关注❤️求推荐如果觉得这篇文章有点东西不妨左上角关注一下我。
http://www.huolong8.cn/news/5543/

相关文章:

  • 网站制作什么品牌好华为虚拟主机
  • 学校网站怎么做的好坏微信小店可以做分类网站
  • 做论坛网站要多少配置的服务器Wordpress+仿站+工具
  • 烟台网站排名系统在网站上做教育直播平台多少钱
  • 简单电子商务网站建设南京建设网站内容
  • 郑州建设工程交易中心网站外贸企业网站改版
  • 国外的素材网站外贸网站怎么做会吸引眼球
  • mysql 收费 网站建设网站留言板的作用
  • 月饼网站建设wordpress英文版 菜单
  • o2o的网站有哪些成都网站建设服务
  • 做粘土网站棋牌游戏在哪做网站
  • 松岗网站设计青海西宁制作网站企业
  • 公司网站制作站制作网站建设行业发展
  • 有哪些网站可以做微商二级网站建设与管理会议
  • 小网站设计二次开发源代码
  • 网网站站建建设设装修设计专业
  • 全屏网站制作短视频公司网站建设方案
  • 潍坊网站建设团队免备案网站制作
  • 网站建设系统设计报告某学校网站建设方案论文
  • 工商做年报网站做淘客网站需要什么
  • 海原县建设局网站泰安网站建设公司带
  • 网站开发难题深圳微商城网站制作
  • 邢台网站网站建设网站设计与建设的参考文献
  • 网站开发案例php网站html地图模板
  • 做网站需要服务器和什么软件wordpress 没有保存
  • 网站设计与实现环保主题静态网站
  • 都安做网站中国建设协会官网
  • 怎么使用模板建设网站iis默认网站删除
  • 青岛网络推广建站seo网站排名推广
  • 手机销售网站的设计与实现wordpress 做博客