手把手|支付宝异步通知如何使用

这篇具有很好参考价值的文章主要介绍了手把手|支付宝异步通知如何使用。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

最近在接支付宝的支付相关功能,用到异步通知比较多,也比较容易出现问题。

这里总结了一下支付宝异步通知的相关内容,希望能对大家有所帮助。

一、什么是异步通知

异步通知是指支付宝通过主动向开发者发送消息通知的方式来告知商家目前交易变更的情况。

支付宝建议主要通过这种方式来确定实际的交易状态,实际是通过 POST 的方式去发送通知的。

 

二、如何设置异步通知地址

既然是支付宝主动通知,需要预先给到支付宝提供一个通知的地址,而根据不同的产品,异步通知的地址设置的也不同,主要分为以下两个情况:

  • 通过接口参数配置的异步通知地址
  • 通过平台配置的异步通知地址

 

通过接口参数配置的异步通知地址

使用场景:交易类收单产品,例如当面付、手机网站支付等

配置方式:在接口的 notify_url 参数中设置接收的地址 [如何设置notify_url]

地址要求:能正常访问(http 状态为 200)

接口是否支持异步通知就看对应的接口文档参数里面是否有 notify_url 参数。

 

通过平台配置的异步通知地址

使用场景:资金营销类产品例如转账到支付宝账号、商家券、蚂蚁门店等

配置方式:在开发应用下的应用网关里进行地址配置 [如何设置应用网关]

地址要求:能正常访问(http 状态为 200)

⚠️ 特别说明:需要先对消息通知进行订阅操作,不订阅不发哦 [如何订阅蚂蚁消息]

 

三、异步通知如何触发

支付宝的异步通知也不是你想要就能给你发的,他发送的逻辑主要是按照该事件是否达到了某个【状态】

对于交易类的产品,支付宝统一设定了交易状态,针对不同产品的状态有基本是否发送配置,下面将对各类交易状态进行逐一介绍。

支付宝交易状态说明

支付宝给订单设置了四个交易状态,分别为:

  • WAIT_BUYER_PAY(交易创建,等待买家付款)
  • TRADE_SUCCESS(交易支付成功,可退款)
  • TRADE_FINISHED(交易结束,不可退款)
  • TRADE_CLOSED(未付款交易超时关闭,或支付完成后全额退款)

 

经验分享:交易成功(TRADE_SUCCESS)和交易结束(TRADE_FINISHED)的区别在于是否可以退款,这个怎么理解呢?

关键点在于这笔交易 是否允许退款 或者是 允许多久时间内可以退款

如果交易是不允许退款的交易,订单的交易状态会直接变为交易结束(TRADE_FINISHED),并不会经过交易成功(TRADE_SUCCESS);

如果是允许6个月内退款的,在交易成功之后的6个月后才会由交易成功(TRADE_SUCCESS)变为交易结束(TRADE_FINISHED)。

因为这个逻辑,就会出现一些奇奇怪怪的问题 (。_ 。) 例如:

  • [交易成功后一年又收到异步通知]
  • [交易成功后 3 个月又收到异步通知]

 

支付宝交易状态触发条件

那么,是所有的状态都会发送吗?可不可以不发送?

当然不是所有状态都发送的,比如交易创建,等待买家付款(WAIT_BUYER_PAY)这个状态对于我们来说就没什么用。

对于不同的产品,交易状态是否触发都不一样,例如手机网站支付:

除了交易创建之外,其他都是默认会发送的。参考:[各支付产品异步通知触发说明]

 

订阅消息的触发条件

上面介绍支付宝交易的触发条件,下面来简单说明下订阅消息是如何触发状态的。

订阅消息的触发状态就有很多了,不同的产品有不同的触发状态。下面以商家券产品为例:

 

 

目前有创建、修改、停止、追加四种通知,需要哪个状态触发通知,就订阅哪个通知。

目前的订阅方式有两种:WebSocket 和 HTTP。

 

 

  • 如果是 HTTP 的方式,接收的地址直接配置在应用网关上;
  • WebSocket 的方式无需配置应用网关,按照文档进行接入即可。

 

四、获取到异步通知之后要做什么

上面说过,支付宝的异步通知是以 post 方式获取的,用来判断交易的状态,那么接收到异步通知之后除了进行交易状态的判断之外我们还需要做什么呢?直接进行逻辑处理?数据落库?

 

都不是,重要的是 安全! 安全! 安全!(▼ヘ▼#) 严肃强调

 

收到异步通知消息之后一定要判断清楚这条消息是不是真的是支付宝发出的,现在外面不法分子很多,大家要小心。

为了判断消息的真伪,我们需要 先对接收到的数据进行验签。

验签的方式这边就不做较多的叙述了,放在这里大家自己看 [SDK 如何实现签名验签]。

 

验证成功之后需要直接在页面上打印出 success 七个字符给支付宝,告诉支付宝你已经成功收到这个消息了。

 

如果你不想打印也行,只不过就是接下来的 24 个小时以内,支付宝会一直给你发这笔消息

        [重复收到异步通知]

 

验签处理完成之后,你想干嘛就可以干嘛啦~

 

以上就是关于支付宝异步通知基本逻辑啦,欢迎大家一起补充订正,✿✿ヽ(°▽°)ノ✿ 一起交流进步~文章来源地址https://www.toymoban.com/news/detail-711052.html

到了这里,关于手把手|支付宝异步通知如何使用的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【iOS内购支付】Uniapp拉起苹果内购支付注意事项、实现步骤以及踩过的坑(手把手教程)

    Hello!又是很长时间没有写博客了,因为最近又开始从事新项目,也是第一次接触关于uniapp开发原生IOS应用的项目,在这里做一些关于我在项目中使用苹果内购支付所实现的方式以及要注意的事项,希望能给正在做uniapp开发ios应用需要使用苹果内购支付的小伙伴一些帮助! 原

    2023年04月25日
    浏览(58)
  • 手把手教你如何正确永久使用Microsoft Office365?

    office2019和office 365有什么区别的呢?为什么越来越多的人更加钟爱office365。简单来说office 2019的零售版本属于一次售出永久使用,价格上比较贵,而且功能上也不会再有更新。而office 365是一种基于云的订阅服务,我们花钱买的是一定时期的服务,在使用期间我们可以获得offi

    2024年02月07日
    浏览(62)
  • 手把手入门MO | 如何使用使用 Spark 将批量数据写入 MatrixOne

    Apache Spark 是一个为高效处理大规模数据而设计的分布式计算引擎。它采用分布式并行计算的方式,将数据拆分、计算、合并的任务分散到多台计算机上,从而实现了高效的数据处理和分析。 大规模数据处理与分析 Spark 能够处理海量数据,通过并行计算任务提高了处理效率。

    2024年02月01日
    浏览(188)
  • 手把手教你如何使用Unity搭建简易图片服务器

    目录 引言 服务器 WAMP简介 WAMP的配置与使用 主要的WAMP集成环境有: 正文 1、外部工具素材准备 首先下载并安装 WAMP  图片路径设置 2、创建 Unity 工程 将图片加载到 Unity 项目中: 代码块 运行效果如下: 网络游戏中,服务器的搭建尤为重要,无论是授权服务器,还是非授权服务

    2024年02月02日
    浏览(64)
  • 【iOS内购支付,无需插件】Uniapp拉起苹果内购支付注意事项、实现步骤以及踩过的坑(手把手教程)

    Hello!又是很长时间没有写博客了,因为最近又开始从事新项目,也是第一次接触关于uniapp开发原生IOS应用的项目,在这里做一些关于我在项目中使用苹果内购支付所实现的方式以及要注意的事项,希望能给正在做uniapp开发ios应用需要使用苹果内购支付的小伙伴一些帮助! 原

    2024年02月09日
    浏览(54)
  • 新人必看!手把手教你如何使用浏览器表格插件(下)

    本文由葡萄城技术团队于博客园原创并首发。转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的开发工具、解决方案和服务,赋能开发者。 作为一名优秀的打工人,Excel是大家上班中必不可少的办公软件。随着互联网时代的到来,越来越多的公司开始使用各种B/S系统

    2024年02月06日
    浏览(66)
  • 手把手教你如何使用YOLOV5训练自己的数据集

    YOLOV5是目前最火热的目标检测算法之一。YOLOV5为一阶段检测算法因此它的速度非常之快。可以在复杂场景中达到60祯的实时检测频率。 接下来本文将详细的讲述如何使用YOLOV5去训练自己的数据集 YOLOV5中使用了Tensorboard和Wandb来可视化训练,其中Wandb配置可以看这篇文章: Wand

    2024年02月05日
    浏览(70)
  • 零基础手把手教你如何使用Laf免费玩转Midjourney

    Laf 是一个 Serverless 框架,提供开箱即用的云函数,云数据库,对象存储等能力,是一个非常干净清爽的开发平台,不仅入门简单,还能像写博客一样写代码!最重要的是,敲重点, 三分钟即可上线 ChatGPT 应用 ! 若想深入了解可点击  介绍 | laf 云开发 https://doc.laf.run/guide/ 在

    2024年02月09日
    浏览(56)
  • 新人必看!手把手教你如何使用浏览器表格插件(上)

    本文由葡萄城技术团队于博客园原创并首发。转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的开发工具、解决方案和服务,赋能开发者。 作为一名优秀的打工人,Excel是大家上班中必不可少的办公软件。随着互联网时代的到来,越来越多的公司开始使用各种B/S系统

    2024年02月06日
    浏览(57)
  • 手把手教你使用Flask框架构建Python接口以及如何请求该接口

    Flask是一个轻量级的Web应用框架,基于Python编写,其核心思想是保持简洁,灵活性和易于扩展。 Flask是一个轻量级的Web应用框架,基于Python编写,其核心思想是保持简洁,灵活性和易于扩展。Flask提供了基本的Web开发工具和应用程序的结构,但同时也允许开发者自由选择其他库

    2024年02月06日
    浏览(107)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包