JavaEE 支付宝支付

开发文档大全

支付宝已经更新添封装好的签名方法,可以在自己的项目中直接调用进行签名,减少了自己手动签名产生的问题,主要是在进行方法调用时注意传参的要求,尤其是公钥使用的是支付宝的公钥,而不是APP的公钥。

支付宝支付使用SDK进行对接API,会比微信好很多,已经封装好了,不同请求对象对应不同响应对象。

1. 支付宝—双对称加密

支付宝与微信的不同之处:

  1. 微信是通过xml以及签名进行数据保护
  2. 支付宝是通过双对称加密进行数据保护

支付宝双对称加密:

  1. 用户先使用 RSA密钥工具 生成自身一对用户的对称秘钥(公钥和秘钥)
  2. 将公钥上传到支付宝(在创建应用时便会让用户提供)
  3. 支付宝会根据上传到公钥生成一对 支付宝的对称秘钥(公钥和秘钥)

支付宝双对称加密使用方式:

  1. 用户加签 的时候是用 用户的私钥
  2. 用户解密 的时候是用 支付宝的公钥
  3. 支付宝加签 的时候是用 支付宝的私钥
  4. 支付宝解密 的时候是用 用户的公钥

详情图解:

2. 支付宝常用API接口

支付API:

  • app支付接口2.0
  • 手机网站支付接口2.0
  • 统一收单交易退款查询
  • 统一收单交易结算接口
  • 统一收单交易关闭接口
  • 统一收单交易撤销接口
  • 统一收单交易退款接口
  • 统一收单线下交易预创建
  • 统一收单交易创建接口
  • 统一收单交易支付接口
  • 统一收单线下交易查询

3. Java Instance

普通调用示例

//实例化客户端
AlipayClient alipayClient = new DefaultAlipayClient("https://openapi.alipay.com/gateway.do", APP_ID, APP_PRIVATE_KEY, "json", CHARSET, ALIPAY_PUBLIC_KEY, "RSA2");
//实例化具体API对应的request类,类名称和接口名称对应,当前调用接口名称:alipay.open.public.template.message.industry.modify
AlipayOpenPublicTemplateMessageIndustryModifyRequest request = new AlipayOpenPublicTemplateMessageIndustryModifyRequest();
//SDK已经封装掉了公共参数,这里只需要传入业务参数
//此次只是参数展示,未进行字符串转义,实际情况下请转义
request.setBizContent("  {" +
"    \"primary_industry_name\":\"IT科技/IT软件与服务\"," +
"    \"primary_industry_code\":\"10001/20102\"," +
"    \"secondary_industry_code\":\"10001/20102\"," +
"    \"secondary_industry_name\":\"IT科技/IT软件与服务\"" +
" }");
AlipayOpenPublicTemplateMessageIndustryModifyResponse response = alipayClient.execute(request);
//调用成功,则处理业务逻辑
if(response.isSuccess()){//.....
}
复制代码

app支付接口2.0

AlipayClient alipayClient = new DefaultAlipayClient("https://openapi.alipay.com/gateway.do","app_id","your private_key","json","GBK","alipay_public_key","RSA2");
AlipayTradeAppPayRequest request = new AlipayTradeAppPayRequest();
request.setBizContent("{" +
"\"timeout_express\":\"90m\"," +
"\"total_amount\":\"9.00\"," +
"\"seller_id\":\"2088102147948060\"," +
"\"product_code\":\"QUICK_MSECURITY_PAY\"," +
"\"body\":\"Iphone6 16G\"," +
"\"subject\":\"大乐透\"," +
"\"out_trade_no\":\"70501111111S001111119\"," +
"\"time_expire\":\"2016-12-31 10:05\"," +
"\"goods_type\":\"0\"," +
"\"promo_params\":\"{\\\"storeIdType\\\":\\\"1\\\"}\"," +
"\"passback_params\":\"merchantBizType%3d3C%26merchantBizNo%3d2016010101111\"," +
"\"royalty_info\":{" +
"\"royalty_type\":\"ROYALTY\"," +
"        \"royalty_detail_infos\":[{" +
"          \"serial_no\":1," +
"\"trans_in_type\":\"userId\"," +
"\"batch_no\":\"123\"," +
"\"out_relation_id\":\"20131124001\"," +
"\"trans_out_type\":\"userId\"," +
"\"trans_out\":\"2088101126765726\"," +
"\"trans_in\":\"2088101126708402\"," +
"\"amount\":0.1," +
"\"desc\":\"分账测试1\"," +
"\"amount_percentage\":\"100\"" +
"          }]" +
"    }," +
"\"extend_params\":{" +
"\"sys_service_provider_id\":\"2088511833207846\"," +
"\"hb_fq_num\":\"3\"," +
"\"hb_fq_seller_percent\":\"100\"," +
"\"industry_reflux_info\":\"{\\\\\\\"scene_code\\\\\\\":\\\\\\\"metro_tradeorder\\\\\\\",\\\\\\\"channel\\\\\\\":\\\\\\\"xxxx\\\\\\\",\\\\\\\"scene_data\\\\\\\":{\\\\\\\"asset_name\\\\\\\":\\\\\\\"ALIPAY\\\\\\\"}}\"," +
"\"card_type\":\"S0JP0000\"" +
"    }," +
"\"sub_merchant\":{" +
"\"merchant_id\":\"19023454\"," +
"\"merchant_type\":\"alipay: 支付宝分配的间连商户编号, merchant: 商户端的间连商户编号\"" +
"    }," +
"\"enable_pay_channels\":\"pcredit,moneyFund,debitCardExpress\"," +
"\"store_id\":\"NJ_001\"," +
"\"specified_channel\":\"pcredit\"," +
"\"disable_pay_channels\":\"pcredit,moneyFund,debitCardExpress\"," +
"\"settle_info\":{" +
"        \"settle_detail_infos\":[{" +
"          \"trans_in_type\":\"cardSerialNo\"," +
"\"trans_in\":\"A0001\"," +
"\"summary_dimension\":\"A0001\"," +
"\"amount\":0.1" +
"          }]" +
"    }," +
"\"invoice_info\":{" +
"\"key_info\":{" +
"\"is_support_invoice\":true," +
"\"invoice_merchant_name\":\"ABC|003\"," +
"\"tax_num\":\"1464888883494\"" +
"      }," +
"\"details\":\"[{\\\"code\\\":\\\"100294400\\\",\\\"name\\\":\\\"服饰\\\",\\\"num\\\":\\\"2\\\",\\\"sumPrice\\\":\\\"200.00\\\",\\\"taxRate\\\":\\\"6%\\\"}]\"" +
"    }," +
"\"ext_user_info\":{" +
"\"name\":\"李明\"," +
"\"mobile\":\"16587658765\"," +
"\"cert_type\":\"IDENTITY_CARD\"," +
"\"cert_no\":\"362334768769238881\"," +
"\"min_age\":\"18\"," +
"\"fix_buyer\":\"F\"," +
"\"need_check_info\":\"F\"" +
"    }," +
"\"business_params\":\"{\\\"data\\\":\\\"123\\\"}\"" +
"  }");
AlipayTradeAppPayResponse response = alipayClient.pageExecute(request);
if(response.isSuccess()){
System.out.println("调用成功");
} else {
System.out.println("调用失败");
}
复制代码

JavaEE 支付宝支付相关推荐

  1. AndroidSDK结合SpringBoot实现支付宝支付功能

    开发者注册: 1. 创建应用,获取AppID:开发者可在沙箱中完成. 沙箱应用网址:https://openhome.alipay.com/platform/appDaily.htm 2. 在支付宝助 ...

  2. php yii2支付宝开发,yii2 支付宝支付教程 [ 2.0 版本 ]

    yii2 支付宝支付教程 [ 2.0 版本 ] 支付宝支付流程个人理解大致就这三步 1.前台页面将支付信息数据通过立即支付按钮 ajax提交到订单处理层 2.在订单处理层引用支付宝的接口 将支付数据写 ...

  3. Spring MVC+Spring+Mybatis实现支付宝支付功能(附完整代码)

    点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试文章 来源:https://urlify.cn/aYrmIr 前言 本教 ...

  4. Spring MVC+Spring+Mybatis实现支付宝支付功能(图文详解+完整代码)

    点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试资料 来源:欧阳思海 github.com/OUYANGSIHAI/si ...

  5. 刚刚!美团取消支付宝支付

    昨晚,有用户在使用美团支付时发现,美团月付和银行卡支付占据优先位置,而不再显示支付宝支付了,而微信支付处于友好位置. 素材来源于网络侵删 针对"美团正式取消支付宝支付",美团创始人 ...

  6. php 支付宝支付 简书,支付宝支付接口

    1. 申请支付宝应用(这个要一定时间,先去申请好) 应用ID在支付宝商户界面->开发者中心->我的应用 里找到要使用的应用,如果没有就要新建支付应用,在创建界面选择'自用型应用'然后创建, ...

  7. android支付宝插件,GitHub - DmcSDK/cordova.plugin.alipay: cordova 支付宝支付插件,支持IOS Android。...

    cordova.plugin.alipay cordova 支付宝支付插件 cordova plugin add https://github.com/DmcSDK/cordova.plugin.al ...

  8. 微信和支付宝支付模式详解及实现(.Net标准库)

    支付基本上是很多产品都必须的一个模块,大家最熟悉的应该就是微信和支付宝支付了,不过更多的可能还是停留在直接sdk的调用上,甚至和业务系统高度耦合,网上也存在各种解决方案,但大多形式各异,东拼西凑而成. ...

  9. ios 支付宝支付集成

    支付宝支付: 下载官方demo,把需要的framwork下载下来,在自己的工程中,新建文件夹,然后全部塞进去,到build phases中把需要的全部导入,其中xcode7以上需要多导入两个.a文件, ...

  10. 微信和支付宝支付模式详解及实现(.Net标准库)- OSS开源系列

    2019独角兽企业重金招聘Python工程师标准>>> 支付基本上是很多产品都必须的一个模块,大家最熟悉的应该就是微信和支付宝支付了,不过更多的可能还是停留在直接sdk的调用上,甚至 ...

最新文章

  1. struts2教程(4)--类型转换
  2. nginx和php之间是怎样通信的呢(简答)
  3. 查看linux的系统位数
  4. java文件复制速度_java中文件复制得速度测试
  5. 窗口结束后资源释放不掉问题解决办法
  6. Web应用开发中的几个问题
  7. [转载] python的 for、while循环、嵌套循环
  8. ruby环境变量的文件读取形式
  9. 响应式布局之网站头部导航
  10. 【光学】基于matlab涡旋光与球面波的干涉【含Matlab源码 597期】
  11. 基于Arduino的雨滴传感器
  12. messagedigest 图片加密_Java中MessageDigest来实现数据加密的方法
  13. hardfault常见原因_STM32如何查找hardfault原因
  14. ubuntu服务器lxde桌面,LXDE桌面环境简介
  15. LTSPICE使用教程:入门指导
  16. 【网络编程】TCP 网络应用程序开发
  17. Axure RP 9 for Mac 中文版 专业产品原型设计工具
  18. Golang库 - viper读取配置文件
  19. 2019年最新最全香港5大银行开户条件及攻略
  20. 科罗拉多大学波尔得分校计算机科学,CU Boulder的Computer Science「科罗拉多大学波德分校计算机科学系」...

热门文章

  1. 【Python】使用torrentParser1.02对单文件torrent的分析结果
  2. java基础 第十一章(多态、抽象类、接口、包装类、String)
  3. 剑指Offer_编程题_16
  4. ServiceFabric极简文档-1.2 硬件环境.md
  5. 第一周例行报告及作业汇总
  6. JavaScript跨域调用基于JSON的RESTful API
  7. 【strtok()】——分割字符串
  8. 润乾报表-数据源的选取不能选视图
  9. LOJ2001 SDOI2017 树点涂色 LCT、线段树
  10. co.js异步回调原理理解