明道云集成支付宝,实现toC收费应用场景

案例背景

不久以前,明道云集成中心上线了支付宝的API接口,这意味着明道云用户可以更便捷、零代码地对接支付宝收付款能力,实现面向C端用户的收费应用场景。本文里,我们将以明道云HAP认证平台面向用户收取认证报考费用为例,详细展示对接支付宝实现toC收费的配置过程和最终效果。

业务流程

交互时序图

实现效果演示

用户视角的操作效果

管理后台订单日志

配置步骤

本文重点介绍集成支付宝实现C端用户下单支付的效果,故以下从业务流程的第三步报考开始阐述做法。

1.集成中心API安装与准备

在集成中心安装支付宝API,并完善连接参数。使用说明处详细介绍了每个参数的获取方式,只需跟随步骤,在支付宝开发者平台完成操作即可。

根据实际场景需要,选择启用合适的API。在本案例中,我们需要考生扫码支付,因此选择开通“扫码支付”API。
将API授权至认证平台的前台应用和后台应用。

2.前台和后台的支付表单配置

我们仿照消费者在电商平台下单购物的原理,在认证平台的前台应用里创建《缴费记录》工作表。而在后台,我们需要创建《支付订单日志》工作表来接收来自支付宝的更详尽的订单数据。

《缴费记录》里必须创建的字段有:

  • 考试缴费订单号(需唯一,能够与后台支付订单日志相匹配)
  • 考试项目(相当于商品名称)
  • 实付金额(为明道云向支付宝发起的最终收款金额)
  • 订单创建时间
  • 订单创建状态
  • 支付二维码链接(隐藏,无需对用户可见)
  • 支付二维码(引用二维码链接来显示)
  • 支付状态
  • 二维码失效开始时间(用于计算二维码失效即订单超时未支付的时间)
  • 付款时间

这些字段都会通过API及Webhook,和支付宝平台实现信息交互。

表单配置界面
用户视角效果

《支付订单日志》里的字段可以视运营者的需要来配置。一般建议配备以下字段:

  • 考试缴费订单号(与《缴费记录》的对应记录保持一致)
  • 考试项目(相当于商品名称)
  • 实付金额(为明道云向支付宝发起的最终收款金额)
  • 订单创建时间
  • 订单创建状态
  • 支付二维码链接(隐藏,无需对用户可见)
  • 支付二维码(引用二维码链接来显示)
  • 支付状态
  • 二维码失效开始时间(用于计算二维码失效即订单超时未支付的时间)
  • 付款时间

管理后台订单日志

3.配置工作流

提交报考信息后创建缴费记录

当新增报考记录时触发工作流,创建一条缴费记录。缴费记录上必须写入考试项目、实付金额,因为这两项将通过下一条工作流传输至支付宝平台,生成订单。考试缴费订单号由于为自动编号字段,所以无需写入,它也将一并传输至支付宝平台。

其他字段则视运营管理和用户需要,完成补充。

新增缴费记录时生成支付宝订单,获取支付二维码

当新增缴费记录时,工作流调用已经配置好的支付宝API(用户扫商家二维码),传递参数。同时支付宝平台也会返回接口响应信息。

在响应信息中,“code”代表支付宝订单创建成功或失败(即接口调用成功或失败)。code=10000时为创建成功,不等于则创建失败。我们据此创建判断分支,对缴费记录的创建状态做对应的更新。针对创建失败的记录,还需通知集成管理员排查原因。同时,报考记录也失效,通知考生重新报考。

流程关键节点

在「调用已集成API」节点里传递参数时,我们无需填写所有参数。最基本的是填写好必填参数,其次是根据实际场景需要来增加参数填写项。下面为本案例中填写的参数:

  • notify_url:支付宝服务器主动通知商户服务器里指定的页面http/https路径。需要在应用里创建一个Webhook触发的工作流,来获得一个明道云工作流的请求接收链接。
  • subject:订单标题,每一笔订单需要具备一个订单名称。
  • qr_code_timeout_express:二维码订单的相对超时时间。支付宝平台对支付二维码的有效时长默认设置为15分钟。我们也可以根据需要,在此处自定义时长。
  • out_trade_no:商户订单号,由业务系统用户自定义,保证每一条订单具有唯一性、有效性。
  • total_amount:订单总金额,对应则是实付金额。

参数填写效果(省略未填写的栏目)

获取URL的示意

HAP认证前台配置Webhook接收HAP认证后台消息

HAP认证前台需要创建一个Webhook触发的工作流,用于接收HAP认证后台所推送返回的订单支付状态和参数。根据支付宝提供的文档,trade_status代表订单的交易状态,不同结果对应不同情况:

  • TRADE_FINISHED或TRADE_SUCCESS:订单交易成功
  • WAIT_BUYER_PAY:订单逾时未支付
  • 非以上三种返回结果时,则为订单交易失败

根据这一参数的情况分类,我们构建三条判断分支,分别执行付费成功后通知考生并创建考试记录、逾期未支付时通知考生并将报考记录作废、付费失败时通知考生和管理员并将报考记录作废。

流程关键节点

当这一步完成后,前台应用的交易闭环已经完成。下一步则是补充后台应用的交易日志及订单状态回传前台。

HAP认证后台配置Webhook接收支付宝订单支付异步消息

HAP认证后台主要用于两点:1.支付日志管理解决用户支付过程中遇到的问题可快速通过支付日志查找订单支付信息。2.接收用户扫码支付时的订单数据、状态,用于推送订单支付状态至HAP认证前台。

流程关键节点

  1. 当用户正在扫码支付中,支付宝会推送交易状态为WAIT_BUYER_PAY的参数值到工作流,这时候即可将正在支付的订单数据进行新增订单日志。并且可以将支付宝推送过来的原始JSON数据让日志更加完整。
  2. 当用户扫码支付完成后,支付宝会推送交易状态为TRADE_SUCCESS或TRADE_FINISHED的参数值到工作流,这时候我们即可通过发送自定义请求将数据推送到HAP认证前台中的Webhook工作流中,使得前台能够同步更新对应支付状态,如下图所示。

流程关键节点

自定义请求节点配置

返回的“status”代表支付宝向前台应用发送通知结果的情况。等于1为发送成功,不等于1则为发送失败。若发送失败,可以通知管理员人工处理。

关于明道云

明道云是一个创新的超级应用平台,可以帮助用户零代码构建企业应用,用户不需要代码开发就能够搭建出用户体验上佳的销售、运营、人事、采购等核心业务应用,打通企业内部数据。明道云还具备超自动化引擎,可以全面自动化复杂和重复的业务流程。运用明道云的集成中心与完整的API对接能力,用户可以轻松地将明道云与外部系统集成。除此之外,明道云超级应用平台还具备很高的可组合性,国际化支持,并支持云原生架构,实现了多云部署能力。通过插件架构,明道云正在逐步建立起繁荣的实施与开发生态。

明道云可以帮助企业大大节省软件费用、降低定制开发的成本和时间,拥有一个极度灵活和易用的数字化平台,是企业数字化建设的重要工具。目前已有上百万用户使用,付费企业超过4000家,包括可口可乐、复星集团、中国移动、中国联通、中国电信、中铁集团、北京地铁、佛山铁路、华夏银行、民生银行、迪卡侬、艾默生电气、泰科电子、四川航空、东方证券、万豪酒店、洲际酒店等知名客户。

2021年5月,明道云获得海纳亚洲近亿元投资。公司目前有超过130名员工,产品研发团队过半,总部位于上海漕河泾开发区,在北京、广州、深圳、成都、郑州、武汉、西安和宁波设有分支机构。公司为高新技术企业,上海市专新特精认定企业。