支付宝免密代扣签约SDK后台拼接(JAVA代码)

我是在做小程序时遇到的困难,在多方支持下才发现支付宝官方文档有很大的漏洞0.0,所以附上完整成功版供大家使用。开发时请结合支付宝官方免密代扣签约文档。

语言JAVA,环境SpringMVC。

此处附上正确JAVA拼接签约SDK方法。方法传入参数的是唯一标识位(我用的是用户卡号,你们随意,只要保证唯一性就可)。代码中的某些参数为你自己程序的参数,比如app_id和私钥,请自行修改。

@Overridepublic Map<String, Object> createAliContractSDK(String cardNo) throws AlipayApiException, Exception {//模型全靠手动拼,不可用支付宝通用模型Map<String, Object> ret = new HashMap<>();//一级channelJSONObject acc_p = new JSONObject();acc_p.put("channel", "ALIPAYAPP");//biz_content层级(关键参数)Map bizModel = new HashMap<>();//将一级channel传入bizModel.put("access_params", acc_p);//唯一标识位,此处传入用户卡号bizModel.put("external_agreement_no", cardNo);//固定参数bizModel.put("personal_product_code", "GENERAL_WITHHOLDING_P");bizModel.put("sign_scene", "INDUSTRY|MULTIMEDIA");//拼接通用参数Map request = new HashMap<>();request.put("app_id", config.getQrAppId());//将biz_content层级转化为JSON格式传入request.put("biz_content", JSONUtil.toJSONString(bizModel));Date date = DateUtil.getAsiaDate();DateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String dateString = formatter.format(date);request.put("timestamp",dateString);//request.put("timestamp","2019-06-12 14:39:02");request.put("sign_type", config.getSignType());request.put("charset", config.getCharset());request.put("method", "alipay.user.agreement.page.sign");request.put("notify_url", config.getContractNotiyfyUrl());//request.put("return_url", config.getContractReturnUrl());request.put("version", "1.0");//将拼好的map按ASC2码进行排序,并以key,value进行拼接String toSignStr = UrlUtil.getUrlParamsByMapAli(request);String sign = null;//将拼接好的字符串toSignStr进行RSA2自签名sign = AlipaySignature.rsa256Sign(toSignStr,config.getQrPrivateKey(), "utf-8");//将签名进行encode处理后再次拼接在toSignStr后面String orderStr = toSignStr+"&sign="+URLEncoder.encode(sign, "UTF-8");;//再对拼接好的完整字符串orderStr进行一次encode处理orderStr = URLEncoder.encode(orderStr, "UTF-8");//System.out.println("生成signStr:"+orderStr);ret.put("returnCode", "0"); ret.put("sdkParams", orderStr);  return ret;}

返回的map中sdkParams就是拼好的SDK,传回前台如何使用就看你们自行调用的接口了。

支付宝免密代扣签约SDK后台拼接(JAVA代码)相关推荐

  1. php支付宝免密支付,代扣

    请先在支付宝商家中心申请开通商家代扣接口 <?php namespace app\api\controller; use think\Controller; class Alifreepay e ...

  2. js字符串如何拼接java代码_[Java教程]js拼接字符串传值,子窗口传值

    [Java教程]js拼接字符串传值,子窗口传值 0 2015-10-26 21:00:15 避免下次再去查资料,记录一下 1.拼接字符串传值 "UpdateState?ids=" ...

  3. 海康威视 sdk 报警订阅 java代码编写

    下面是一个示例代码,展示了如何使用海康威视 SDK 订阅报警: ``` import com.hikvision.artemis.sdk.ArtemisHttpUtil; import com.hik ...

  4. js字符串如何拼接java代码_JS如何定义用字符串拼接的变量

    今天在写js的时候碰到了难题,我又一个页面需要生成很多的变量.但是变量的名称是根据参数的不同而区分的. 例如可能需要生成 date_1,date_2,datet_3... (后面的数字是根据参数来的) ...

  5. 支付宝商户代扣(免密签约,免密扣款)

    商户代扣产品介绍 - 支付宝文档中心 (alipay.com) 签约接口 由于前端使用的是钉钉小程序,无法直接跳转支付宝,所以使用pageExecute执行,将支付宝返回的链接封装成二维码返给前端,前 ...

  6. 苹果免密支付怎么关闭_滴滴出行怎么开通支付宝小额免密支付 具体内容

    用滴滴用的久了,总觉得支付车费时输入密码很麻烦.该怎么办呢?接下来就给大家探讨一下:滴滴出行怎么开启支付宝小额免密支付吧. 工具/材料 滴滴出行 支付宝 操作方法 01 打开滴滴出行,进入当前页面,然 ...

  7. 中国移动“一键免密登录”:免去注册登录的烦恼

    对于你而言,手机号码意味着什么?联系你的唯一方式,众多App的绑定号码,还是银行预留号?很多人不愿意更换手机号都是出于以上理由.在移动互联网发展如此迅速的今天,手机号几乎已经成为了个人在网上的身份证明 ...

  8. 微信支付分免密支付接口服务如何开通?

    1.支付分免密扣款的实现流程: 用户使用完服务,商户调用支付分完结接口发起扣款,微信支付将代商户进行免密代扣. 若扣款失败,商户无需再次发起扣款申请,微信支付将按一定频次,再次发起免密代扣,直到扣款成 ...

  9. JGit使用ssh免密认证

    JGit使用SSH免密认证 jgit认证有多种方式如:用户名密码,ssh认证等,为了安全起见ssh认证可为首选.官网链接 使用ssh免密认证需要自定义sshSessionFactory,完整代码如下: ...

最新文章

  1. C#读取SHAPEFILE文件总结0--大纲
  2. python中是干嘛的-python是做什么的,新手必看哦!
  3. CTF-RSA-tool 安装全过程
  4. GAN生成对抗网络-CycleGAN原理与基本实现-图像转换-10
  5. SAP 电商云 Spartacus UI product 明细页面的路由配置
  6. 超赞的“数据与算法之美”资料分享!
  7. object.\__mro__
  8. KDD Cup 2020 Debiasing比赛冠军技术方案及在美团广告的实践
  9. awr报告 解读_AWR报告分析解读
  10. cmd cd 无法切换目录_如何获取用户主目录?os/user 就可以了,为什么要 gohomedir...
  11. MQTT自定义透传_DTU连接阿里云
  12. 中兴新支点操作系统_中兴新支点桌面操作系统,一个不错的国产linux系统
  13. 怎样用美图秀秀制作一寸照片
  14. STM32 使用基本定时器实现微秒us级延时
  15. VS2008SP1的MFC测试-Ribbon风格(DJ尐舞图形画板2008)
  16. h3c 抓包么 能通过debug_H3C debugging 使用技巧
  17. 【转】 CSS透明opacity和IE各版本透明度滤镜filter的最准确用法
  18. Uncaught Error: Syntax error, unrecognized expression: |117的js错误
  19. Java面向对象之类和封装
  20. 面向对象的讨论-2022年5月4日

热门文章

  1. 印度的美女和软件咱不得不服--不服气得你就进来看
  2. Aggregated Residual Transformations for Deep Neural Networks
  3. bazel tensorflow模型压缩
  4. cics中间件考试_CICS常用命令
  5. 通过数据表的DataSet输出XML做数据比对
  6. BIM一级建模师考试试题及答案
  7. 面试官:你来设计一下抖音直播功能测试用例吧!
  8. 百度AI达人创造营|第一课、拍案叫绝的创意
  9. 如何有效地进行代码 Review
  10. 【数据挖掘】复杂网络原理入门(7月份学习笔记)