如何实现app支付验签

简介: 由于同步通知和异步通知都可以作为支付完成的凭证,且异步通知支付宝一定会确保发送给商户服务端。为了简化集成流程,商户可以将同步结果仅仅作为一个支付结束的通知(忽略执行校验),实际支付是否成功,完全依赖服务端异步通知。

由于同步通知和异步通知都可以作为支付完成的凭证,且异步通知支付宝一定会确保发送给商户服务端。为了简化集成流程,商户可以将同步结果仅仅作为一个支付结束的通知(忽略执行校验),实际支付是否成功,完全依赖服务端异步通知。

以下来介绍下同步验签和异步验签; 

为了快速接入并避免接入过程中的签名验签问题,强烈建议您先下载对应语言版本的SDK并引入您的开发工程。 

自行实现验签 

如果未使用支付宝开放平台SDK,需要自行实现验签过程。 其中同步返回和异步通知报文格式及验签方法有所区别,详见以下说明: 

同步返回验签 

开发者只对支付宝返回的json中xxx_response的值做验签(xxx代表接口名)。

xxx_response的json值内容需要包含首尾的“{”和“}”两个尖括号,双引号也需要参与验签,如果字符串中包含https的正斜杠,需要先将正斜杠做转义,默认打印出来的字符串是已经做过转义的。建议验签不通过时将正斜杠转义一次后再做一次验签。 如当面付扫码支付获取二维码的返回内容为: 

 则待验签字段为:

 

调用验签函数:

使用各自语言对应的SHA256WithRSA(对应sign_type为RSA2)或SHA1WithRSA(对应sign_type为RSA)签名验证函数,传入待验签字段、支付宝公钥、签名内容(sign),验签方法(signType)进行验签,根据返回结果判定是否验签通过。

 异步通知验签 

某些情况下(比如扫码支付成功时),支付宝会给商户发送异步通知。 如果某商户设置的通知地址为https://api.xx.com/receive_notify.htm,对应接收到通知的示例如下: 

 验签流程:    

1.在通知返回参数列表中,除去sign、sign_type两个参数外,凡是通知返回回来的参数皆是待验签的参数。    

2.将剩下参数进行url_decode, 然后进行字典排序,组成字符串,得到待签名字符串:

    

3.将签名参数(sign)使用base64解码为字节码串。  

4.使用RSA的验签方法,通过签名字符串、签名参数(经过base64解码)及支付宝公钥验证签名,根据返回结果判定是否验签通过。 

可以参考开放平台SDK源码中的AlipaySignature.rsaCheckV1方法,示例如下:


目录
相关文章
|
8月前
|
缓存 Java PHP
解决Hbuilder打包的APP微信支付时无法唤起支付,且提示{“code“:-100,“message“:“[payment微信:-1]General errors“}的问题
解决Hbuilder打包的APP微信支付时无法唤起支付,且提示{“code“:-100,“message“:“[payment微信:-1]General errors“}的问题
|
XML 移动开发 小程序
抖音小程序开发 唤起收银台支付(可以选择支付宝APP支付或微信H5支付)
字节跳动也开放了小程序给商家接入,可以在旗下APP如抖音、今日头条、今日头条极速版等应用中即点即用,基于庞大的数亿用户量为其引流,帮助商家获取用户流量,销售商品,其模式和微信小程序差不多。
1744 0
抖音小程序开发 唤起收银台支付(可以选择支付宝APP支付或微信H5支付)
|
监控 安全 数据挖掘
短视频app开发,如何实现高质量的支付系统架构?
短视频app开发,如何实现高质量的支付系统架构?
短视频app开发,如何实现优质内容的优先展示?
短视频app开发,如何实现优质内容的优先展示?
APP - 查询名下微信实名账户(可注销微信封号账户支付功能)
APP - 查询名下微信实名账户(可注销微信封号账户支付功能)
542 0
APP - 查询名下微信实名账户(可注销微信封号账户支付功能)
|
移动开发 前端开发 Android开发
支付宝H5嵌入APP内部支付
前景:由于苹果支付收取手续费太高,决定采用APP内嵌套H5进行微信和支付宝进行支付。安卓手机可以直接使用APP支付功能(APP支付和H5支付,只有两个参数不同而已,以及返回的参数格式不同,仅此而已)
相亲app开发支付系统,异步处理方式的合理运用
相亲app开发支付系统,异步处理方式的合理运用
|
算法 UED
一对一视频app开发,如何实现系统的全局优化
一对一视频app开发进行优化的前提,是了解整个软件的体系结构,大到一整个功能模块,小到接口功能,技术人员都有充分的了解。只有在这个基础上,才能更好的进行系统数据结构和算法优化。
|
安全 Android开发 iOS开发
美国禁止绑定应用商店内购支付:苹果App Store世纪审判,Epic赢了
继韩国之后,美国也表明了自己的态度。以后在 iPhone 端玩游戏,内购项目可以走其他支付渠道了。
139 0
美国禁止绑定应用商店内购支付:苹果App Store世纪审判,Epic赢了
|
Android开发
直播APP源码是如何实现音视频同步的
直播APP源码音视频同步主要用于在音视频流的播放过程中,让同一时刻录制的声音和图像在播放的时候尽可能的在同一个时间输出。

热门文章

最新文章