概念理解

支付宝分为“合作伙伴”和“开放平台”两个概念,各自都有一套独立的 RSA 密钥,在调用支付宝接口之前,一定要区分是属于两者中的哪一个。

例如:商家 App 端调起支付宝 App 支付时,使用的是合作伙伴密钥;而商家主动查询交易状态时,使用的是开放平台密钥。

密钥管理

访问 b.alipay.com,单击“查询PID、Key”即进入密钥管理页面。

如果密钥已经由其他管理人员生成,那么必须向管理人员索取,不能擅自修改密钥,否则会影响他人程序。

如果密钥还未生成,那么按以下步骤来完成:

  1. 下载支付宝提供的密钥生成工具。
  2. 执行“支付宝RAS密钥生成器SHAwithRSA1024_V1.0.bat”,注意:该文件所在路径不能有中文。
  3. 单击“重新生成”按钮,把生成的三个 pem 文件保存下来,其中 rsa_private_key_pkcs8.pem 为商家安卓 App 使用的私钥,其他需要使用私钥的地方均使用 rsa_private_key.pem。
  4. 单击工具中的“复制”按钮,把复制的公钥上传到支付宝密钥管理页面 -> 合作伙伴密钥管理或者开放平台密钥管理 -> RSA 加密:查看密钥 -> 修改 -> 粘贴 -> 确定。
  5. 单击支付宝密钥管理页面 -> 合作伙伴密钥管理或者开放平台密钥管理 -> RSA 加密:查看支付宝公钥,把公钥保存到本地。这个公钥和 rsa_private_key.pem 是一对。
  6. 特别注意,在支付宝密钥管理页面中修改公钥时,可能会提示“密钥上传失败”或者“密钥格式错误”,此时要先检查网站登录是否超时。

交易查询

在线文档链接

上述文档中,“请求示例”的 .NET 代码部分有明显错误,示例代码复制下来后,需要根据实际情况进行修正。

IAopClient client = new DefaultAopClient("https://openapi.alipay.com/gateway.do",appId,"rsa_private_key.pem 中的私钥部分,不需要头和尾","json","1.0","RSA","支付宝公钥,不需要头和尾","utf-8");
AlipayTradeQueryRequest request = new AlipayTradeQueryRequest();
request.BizContent = "{\"out_trade_no\":\"111\", \"trade_no\":\"222\"}";AlipayTradeQueryResponse response = client.Execute(request);

  • 代码中的 appId 为开放平台中的 Appid,管理地址:https://openhome.alipay.com/platform/appManage.htm
    注意:该应用的功能中必须包含“APP”支付,如果不包含,必须创建新的应用来包含。
  • 私钥和公钥都不需要头和尾,即 ----- begin ... ------、----- end ... -----
    注意:所有应用的公钥和私钥都是相同的,统称开发平台密钥。
  • out_trade_no 和 trade_no 二选一即可。
  • 根据 response 的内容来判断调用结果,失败时可能会产生异常

转载于:https://www.cnblogs.com/csharpstyle/articles/6105561.html

【App 支付】交易查询接口相关推荐

  1. 微信支付app支付3.0接口开发

    最近在做微信支付,因为前段时间做了微信的公众账号支付,我以为是一个东西,结果发现不是,我真是醉了,竟然是独立的两套东西. 整个微信支付,分为三大平台,公众平台(就是公众账号那个),开发平台(主要针对a ...

  2. 微信支付交易查询案例

    /**   * 微信查询   *   * 根据交易单号查询   */ public String queryReqData(String transaction_id) { // new Thread ...

  3. APP支付报错ALI40247解决方案

    APP支付交易参数验证不通过,请在SDK返回的result中查看具体的错误信息sub_code.sub_msg等(如有返回),同时可在 公共返回码 列表中找到对应的解决方案. 参考检查方向: 1.检查 ...

  4. 微信APP支付(基于Java实现微信APP支付)

    步骤: 导入maven依赖 <!--微信支付--><dependency><groupId>com.github.wxpay</groupId>< ...

  5. java app支付_【支付宝支付】Java实现支付宝APP支付流程

    前言 官方文档 开放能力文档: APP支付接口API 开发准备工作 后端代码实现 参数配置 application.yml # 支付宝相关 ALIPAY: # 应用ID APP_ID: # 应用私钥 ...

  6. 支付宝手机网站支付,app支付,PC端支付流程以及服务端php支付下单,回调流程详解

    一.支付宝支付相关文档地址: 支付宝支付相关的文档地址:https://open.alipay.com/api 电脑网站支付:https://opendocs.alipay.com/open/270/ ...

  7. 【支付宝支付】Java实现支付宝APP支付流程

    前言 微信登录网页授权与APP授权 微信JSAPI支付 微信APP支付 微信APP和JSAPI退款 支付宝手机网站支付 支付宝APP支付 支付宝退款 以上我都放到个人公众号,搜一搜:JAVA大贼船,文 ...

  8. java对接支付宝(二)-单笔交易查询

    写在前面:看懂单笔交易查询,首先得看完上一篇支付文章 一.单笔交易查询接口 1.Controller层代码 /*** @Description: 订单号查询交易信息* @param orderNo* ...

  9. java后台实现支付宝支付接口、支付宝订单查询接口 前端为APP

    最近项目APP需要接入微信.支付宝支付功能,在分配开发任务时,听说微信支付接口比支付宝支付接口要难实现,由于我开发经验不是那么丰富(现工作经验1年半)且未接触过支付接口开发,组里刚好又有支付接口的老司 ...

最新文章

  1. using的几种用途
  2. LAN远程重启server安全方法
  3. 计算机类产品评价技术指标体系研究之图形(像)篇
  4. Fancy Product Designer 产品定制 wordpress插件
  5. 进度条(页面刷新)【原创】
  6. RandomAccessFile读写txt文件中文乱码
  7. Linux平台安装Clion
  8. (CFD)投影法求解二维不可压缩N-S方程
  9. jquery插件库免费下载,原生下载非扣代码,jq22 vip下载方法
  10. python随机生成11位手机号码的用户数据并存入excel表格
  11. linux包含两种设备文件,在Linux系统中/dev的目录详解
  12. 3D变形:平移、旋转、缩放
  13. 西瓜书(周志华)课后习题答案
  14. Team Foundation 中的带编号的错误和事件消息
  15. Kermit文件传输协议
  16. 考研英语阅读理解错8个,我今年会不会凉?
  17. okhttp上传图片和其他参数_阳光沙滩-Okhttp3 post上传文件的时候携带文件的参数的问题...
  18. 您的计算机无法访问dota2,如何解决Win10系统无法登录dota2的问题?
  19. ckpt下载 deeplabv3_煮酒论英雄:深度学习CV领域最瞩目的成果top46
  20. POJ1087A Plug for UNIX(会议室的插座)——最大流

热门文章

  1. linux nginx vue_Vue-CLI 3.x 部署项目至生产服务器
  2. linux命令 三大利器,awk、grep、sed是linux操作文本的三大利器,也是必须掌握的linux命令之一...
  3. java easyui条件组合查询_EasyUi+Spring Data 实现按条件分页查询
  4. 苹果ppt_我用PPT复刻了苹果公司的宣传广告,这是对PPT平滑功能的极致应用!
  5. 在线文档有哪些技术难点
  6. 2018年网络开发者应该关注什么
  7. HTTP请求中的请求字段
  8. 解压大于4g的文件_4G显卡“到期”,ETH2.0即将到来,以太坊矿工何去何从?
  9. Windows 取消 Lock Screen 显示
  10. 20190912:(leetcode习题)3的幂