评论

新版自定义交易组件接入指引(更新售后流程相关内容)

本文介绍新版自定义交易组件的业务流程及各流程的注意事项,请认真阅读,5.11更新售后流程及售后超时要求相关内容

自定义交易组件

本文主要介绍新版自定义交易组件的业务流程及各流程的注意事项,文档篇幅较长,如无需查看完整文档可以使用浏览器自带页面搜索功能进行关键字搜索(快捷键Ctrl+F )。
在开始开发前应确认以下必要前置条件是否完成
1、开通场景经营商户号;
2、部分接口强制校验来源IP白名单,白名单配置方式:
1)服务商配置方式"点我查看"
2)普通小程序:登录小程序管理后台->开发管理->开发设置->“开发者ID”下的“IP白名单”
3、因视频号场景受控订单无微信支付回调,支付结果等事件是通过小程序消息推送进行下发的,需要登录小程序管理后台后,在「开发」-「开发设置」-「消息推送」中启用并设置消息推送配置,开发者接收到的消息需要解密, 消息加解密说明可在开发文档查询。

1、业务流程图

1.1 关键流程逻辑

1.2 售后流程

1.3 主要业务变动

2、接入流程详细说明

整体接入流程

  • 注:本文2.1-2.2为前置必做流程,完成后才可以进行接口调试

2.1 开通自定义交易组件

2.1.1 公众平台后台开通

登录公众平台,点击功能下方的“交易组件”,点击“开通”阅读并同意开通协议后即可进行下一步操作。
开通后页面如图所示

2.1.2 接口申请开通

调用接口 “shop/register/apply” 申请开通自定义版交易组件,请求成功后将发送“法务协议确认”到管理员微信,管理员需要在“24小时内”点击该模板消息,并确认服务协议。服务协议签署成功后,开发者可以通过“获取接入状态接口(可点击跳转)”或“”事件回调“进行开通状态判断,若状态为“已开通”,开发者才可以继续调用后续接口进行调试接入。

2.1.3 自定义交易组件“升级版”跟升级前的自定义交易组件有什么区别,哪些接口需要进行升级?

1.新支付接口,必须走新商户号。
2.取消订单, 小程序(小程序内以及发现-小程序我的订单)和视频号双向可取消,之前只可以在小程序上取消,然后同步给视频号状态。
3.申请退款,小程序和视频号双向可申请退款。
4.申请退货退款,小程序和视频号双向可申请退货退款,之前只有小程序上操作。
5.未付款订单,小程序和视频号 可在各自订单中心重新支付,同步状态。
6.确认收货,小程序和视频号双向可确认收货。
7.同步发货状态接口更新。

2.2 开通场景经营所需商户号

视频号场景下,会通过开通商户号、补齐资料,获得一个新的电商收付通的商户号。商家在视频号内的交易资金流,需要使用这个新商户号。

  • 准备事项:需准备营业执照、法人身份证、商户号超级管理员手机号、邮箱信息
  • 注意事项:小程序超管将作为微信支付商户号的超级管理员,如管理员已离职、管理员曾变更过姓名未在小程序后台更新等情况,将影响商户号的签约,请确认无误后再进行商户号申请。

2.2.1 通过公众平台后台申请

在小程序官方后台自定义交易组件页面,点击商户号申请所对应的“去开通”按钮进入商户号申请页面,共计三部分(不想开商户号了,暂时不放图):

2.2.1.1 填写基础信息

此部分主要为上传营业执照、法人身份证、填写商户号超管信息

2.2.1.2验证账户小额打款/法人验证

此部分会有两种情况,如为“小额打款”验证方式,在页面输入收到的打款金额即可;如为法人验证,需要使用实名认证为法人同名微信扫码进行验证。

2.2.1.3确认账户真实性。

点击“去签署”按钮会展示签约二维码,使用超管微信进行扫码,用于确认经营意愿并签署协议,完成商户号注册。

2.2.2 通过API接口申请

调用“提交支付资质”接口,提交场景经营所需商户号申请,提交成功后,商户申请是没有事件回调的,需要服务商主动调用“状态查询接口”查询申请单进度,申请单状态同“电商收付通二级商户进件申请单状态查询”。此处不做过多描述,有问题可以留言,后续视情况补充更新。

2.2.3 开通场景经营商户常见问题

2.2.3.1 Q:新版交易组件需要重新申请商户号吗?是否可以使用原有商户号?

A:不可以,新版交易组件必须要申请开通场景专用商户号

2.2.3.2 Q:新版场景专用商户号费率是多少,是否有优惠,结算周期是多久?

A:商户号费率为0.6%,无费率优惠,结算周期为7+7日,即用户收货后7天后结算。

2.2.3.3 Q:申请新商户号时,最后一步签约遇到“微信实名信息与管理员信息不一致”是什么原因?

A:申请新的场景专用商户号时,“超级管理员”这一项不支持修改,默认为小程序“超级管理员”实名信息,如需修改,需要为该用户前往成员管理为小程序绑定超级管理员。

2.2.3.4 Q:申请新的商户号时,为什么不能修改主体信息?

A:“当前主体”这一项不支持修改,因为商户号主体必须和该小程序注册主体保持一致。

2.2.3.5 Q:通过新版自定义交易组件申请的场景专用商户号是否对跨境类小程序(自助报关)有影响?

A:会,二级商户当前暂不支持自助清关接口调用,留意后续更新通知

2.2.3.6 Q:新商户号是否支持分账功能?

A:即将支持,敬请期待。

2.3 上传商品并通过审核,完成商品接口调用(仅有API接入方式)

基础流程,不做过多说明,只写流程、常见错误和注意事项

2.3.1 添加商品流程:

(1)首先去“获取类目详情”,与自己的系统商品类目相匹配
(2)查看对应类目是否需要行业资质,如果需要,请上传相关资质
(3)“上传相关类目资质”获得对应类目的使用权限
(4)如果商品有品牌,“上传品牌信息”获得品牌的使用权限
(5)调用“添加商品”接口将商品进行上传

2.3.2 SPU接口常见错误及注意事项

2.3.2.1 Q:自定义交易组件提交上传类目资质时报错{“errcode”: 1000009, “errmsg”: “调用的类目id不存在”}

A: 调用获取类目详情,看对应““qualification_type"与"product_qualification_type"参数是否为"0”,为"0"无需上传类目资质

2.3.2.2 Q:调用自定义交易组件“添加商品”接口shop/spu/add时报错“该账号客服方式必须包含微信客服/小程序客服” {“errcode”:1040042,“errmsg”:"该账号客服方式必须包含微信客服/小程序客服”}

A11:需要在MP后台配置微信客服/小程序客服后,然后通过“更新商家信息”接口更新商家信息

调用“获取商家信息”接口应返回一下内容才为成功,“service_agent_type”字段需要同时包含0,1,2三个值

2.3.2.3 Q:类目审核成功,但是添加商品报错,{“errcode”:1000005,“errmsg”:"该商品使用了未申请通过的类目,请先申请类目且通过后再提审商品 "}

A: 检查是否取消开通过,取消开通会清空品牌类目。对于服务商,可以监听账户接入回调事件,目前只有取消开通回调。

2.3.2.4 Q:调用自定义组件上传图片接口报错{“errcode”:1070001,“errmsg”:"文件/图片为空 "}

A25:检查请求报文协议,需Content-Type: multipart/form-data

2.4 调试支付校验,完成订单接口调用

2.4.1 支付流程:

(1)按照"开发指引"修改基础库配置
(2)在小程序中调用"生成订单"接口生成一笔订单
(3)完成订单的支付(视频号场景需要调用生成支付参数后完成收银台的拉起,其他场景按照已有业务逻辑进行支付)
(4)调用"同步订单支付结果"接口同步订单的支付结果(二级商户单无需同步支付结果,系统自动流转订单状态)

注意:

  • 这里两个接口都需要调用,以同步订单结果为最后确认步骤,视频号场景则以支付成功作为最终确认步骤。
  • 基础库拉起收银台接口改造后需要发版才可以生效。
  • 完成接口调用后,点击完成,切换状态。

2.4.2 订单接口接口常见错误及注意事项

2.4.2.1 Q:二级商户号订单支付流程与原有订单支付流程有什么区别?

A17:主要区别是:二级商户号订单调起支付所需参数是通过“生成支付参数”获取,无需同步支付结果;原流程调起支付是需要通过微信支付统一下单获取,需要同步支付结果。

2.4.2.2 Q:调用自定义交易组件“创建订单”接口shop/order/add时报错“不支持的发货方式” {“errcode”:1010036,“errmsg”:"不支持的发货方式“}

A:视频号场景当前只支持“正常快递”方式,其他请留意后续更新。

2.4.2.3 Q:自定义交易组件申请视频号专用商户号后,唤起支付报错: “商户号该产品权限未开通”

A:需要先调用“生成订单”接口,生成订单时将fund_type设为1,然后调用“生成支付参数”接口获取调取支付所需参数,不要调用微信支付统一下单接口获取调用支付参数

2.4.2.4 Q:自定义交易组件二级商户单调起支付时报错“JSAPI缺少参数total_fee”

A:生成支付参数失败,没返回正确的预支付 ID,重新调用生成支付参数接口获取新的支付参数即可

2.4.2.5 Q:自定义交易组件调用同步订单支付结果时报错 {“errcode”:990022,“errmsg”:"暂不支持操作“}

A:二级商户单无需同步支付结果,付款成功后系统自动流转订单状态并下发支付结果回调事件。

2.5 调试发货接口,完成物流相关接口调用

2.5.1 发货流程

(1)先调用获取快递公司列表接口获取快递公司信息
(2)调用"订单发货"接口,完成发货

2.5.2 发货接口常见错误及注意事项

注意事项:

  • 视频号订单状态流转不可逆的,当finish_all_delivery=0时,订单状态流转到21(部分发货), 当finish_all_delivery=1时,订单状态从20(待发货)/ 21(部分发货)流转到30(待收货),部分发货时finish_all_delivery一定要传0,最后一次发货才可以传1,切记!切记!切记!!!

2.5.2.1 Q:调用自定义交易组件“创建订单”接口shop/order/add时报错“不支持的发货方式” {“errcode”:1010036,“errmsg”:"不支持的发货方式“}

A:视频号场景当前只支持“正常快递”方式,其他请留意后续更新。

2.5.2.2 Q:当自定义交易组件订单只存在一个SKU,发货时误操作为部分发货,订单状态码流转为21时,在既不能确认收货、也不能退款的情况下应该如何处理?

A:按照截图示例传参,即可完成发货,订单状态由21转为30,订单状态变更后就可以正常流转
注:传参时order_id与out_order_id二选一传参

2.6 调试售后接口,完成售后接口调用

2.6.1 售后流程、超时时间及售后事件和API、回调的对应关系

看本文1.2 售后流程图
用户及商户处理售后超时时间

类型 超时时间
商家处理退款超时 48小时
商家处理退货超时 48小时
用户超时未申请平台接入 7天
用户上传退货物流超时 7天
商家超时未确认收货 10天

售后事件和API、回调的对应关系

事件 API 触发回调 说明
用户申请退款 用户提交售后申请 用户提交售后申请回调 -
用户申请退货 用户提交售后申请 用户提交售后申请回调 -
用户修改申请 用户更新售后申请 用户更新售后申请回调 -
用户取消申请 用户取消售后申请 用户取消售后申请回调 -
用户申请平台介入 无API,只能由用户在微信侧触发 暂无 -
用户超时未申请平台介入(7天) - 用户申请平台介入超时回调 -
用户上传退货物流 用户上传物流信息 用户上传退货物流回调(待商家确认收货) -
用户超时未上传退货物流(7天) - 用户上传退货物流超时回调 -
用户确认退款凭证 无API,只能由用户在微信侧触发 用户确认退款凭证回调 -
商家同意退款 同意退款 - -
商家处理退款超时(48小时) - 商家处理退款请求超时回调 -
商家同意退货 同意退货 - -
商家处理退货超时(48小时) - 商家处理退货申请超时回调 -
商家拒绝退款 拒绝售后 - -
商家拒绝退货 拒绝售后 - -
商家上传退款凭证 上传退款凭证 -
商家确认收货 同意退款 商家确认收到的货没问题后,调用同意退款API表示确认收货,如果有问题就调用拒绝售后API
商家超时未确认收货(10天) - 商家确认收货超时回调 -
平台退款成功 - 平台退款成功回调 -
平台退款失败 - 平台退款失败回调(待商家线下退款) -
平台判定用户责任 - 纠纷事件更新售后单状态回调 纠纷事件通知请见纠纷回调
平台判定商家退款 - 纠纷事件更新售后单状态回调 纠纷事件通知请见纠纷回调
平台判定商家退货 - 纠纷事件更新售后单状态回调 纠纷事件通知请见纠纷回调

2.6.2 售后接口常见错误及注意事项

注意事项

  • 新旧接口不可混用,新售后接口无法处理旧接口订单,否则会出现很多意想不到的错误

2.6.2.1 枚举值定义

(1)AfterSalesReason

枚举值 描述
1 排错/多拍
2 不想要了
3 无快递信息
4 包裹为空
5 已拒签包裹
6 快递长时间未送达
7 与商品描述不符
8 质量问题
9 卖家发错货
10 三无产品
11 假冒产品
12 其他

(2)AfterSalesState

枚举值 描述
1 用户取消
2 商家受理退款申请中
4 商家拒绝退款
5 商家拒绝退货退款
6 待买家退货
7 售后单关闭
8 待商家收货
11 平台退款中
13 退款成功
21 平台受理退款申请中
22 平台介入处理完成
23 商家受理退货申请中
24 平台受理退货申请中

2.6.2.2 Q:调用自定义交易组件售后相关接口:“创建售后单”、“用户取消售后单”、“用户上传物流信息”、“获取售后单列表”、“获取售后单详情”、“同意退款“、”同意退货“、“拒绝售后”、“上传退款凭证”、“更新售后单”等接口时报错{“errcode”: 48001,“errmsg”: “api unauthorized”}

A18:未开通视频号场景经营商户号,需要先开通场景经营商户号才可以调用。

2.6.2.3 Q:调用自定义交易组件创建售后接口ecaftersale/add时报错2747002,参数错误{“errcode”:2747002,“errmsg”:"参数错误 "}

A9:1.请检查“orderamt”参数,传参金额应不含邮费。
2.新旧接口不可混合调用,新接口不支持对旧接口生成的订单创建售后。

2.6.2.4 Q:调用自定义交易组件创建售后接口ecaftersale/add时报47001错误{“errcode”:47001,“errmsg”:"data format error "}

A:请检查“product_info”字段,注意对应类型为“object”。

2.6.2.5 Q:调用自定义交易组件“同意退款”接口shop/ecaftersale/acceptrefund时报错“同意退款失败” {“errcode”:9700209,“errmsg”:"同意退款失败 退款失败“}

A:1.该问题是订单流转状态不对导致,请严格按照文档流程进行操作调用;
2.新旧接口混合调用也会报此错误
3.“orderamt"传参为"0”

2.6.2.6 Q:用自定义交易组件创建售后接口ecaftersale/add时是报错“售后金额不合法,大于最大可退款金额”{“errcode”:2747014,“errmsg”:" 售后金额不合法,大于最大可退款金额"}

A:1.请确认请求创建售后时"orderamt"金额是否大于下单时"sku_real_price"金额
2.订单已进行部分退款

码字中 稍后回来

最后一次编辑于  2022-11-16  
点赞 24
收藏
评论

197 个评论

  • 舟渔
    舟渔
    2022-05-09

    普通的微信支付商户号支持开通“自动提现”,请问新的场景专用商户号(电商收付通二级商户号)是否也支持自动提现?能否关闭手动提现?(公司财务管理有相关要求)

    2022-05-09
    赞同
    回复 1
    • Memory (私信不回复)
      Memory (私信不回复)
      2022-05-09
      组件商户号不支持自动提现,需要手动提现
      2022-05-09
      回复
  • 吴可嘉
    吴可嘉
    2022-05-09

    大佬,想问一下,我在自定义交易组件升级过程生成订单以后,获取支付参数接口一直报错“{"errcode":1010044,"errmsg":"受理关系不存在 rid: 627638da-71a55507-4ffb04f1"}”,appid=wx1e7996f213de27aa,后台页面也一直报错“获取账户资产数据失败,请刷新重试”,请问怎么解决

    2022-05-09
    赞同
    回复 1
  • Robin
    Robin
    2022-05-07

    Memory 您好,咨询一个问题,既然视频号是必须要用新的商户号,那小程序原有的商户号跟他的资金是通的吗?不然是如何做到小程序和视频号支付都可以做支付和售后退款?

    2022-05-07
    赞同
    回复 1
    • Memory (私信不回复)
      Memory (私信不回复)
      2022-05-08
      不是的,是两个不同的商户号,支付和退款走的是组件的接口
      2022-05-08
      回复
  • 货宝宝
    货宝宝
    2022-05-05

    请问,场景接入,视频号推广,这里点开通后,审核的等待时长是多少,审核后需要操作什么,在上面文档没看到相应介绍

    2022-05-05
    赞同
    回复
  • gimtom
    gimtom
    2022-05-05

    订单售后 接受退款 返回 {errcode:2747009,errMsg:‘ 输入源“/body/amount/total”映射到数值字段“原订单金额”规则校验失败,值低于最小值 1 rid: 62739149-40d60a57-04dbfd42’}

    猜测原因为:查询该支付已经支付成功,但是其order_price不等于final_price,order_price=19800,但final_price=0;目前没有重现到,是什么问题呢?

    2022-05-05
    赞同
    回复 3
    • Memory (私信不回复)
      Memory (私信不回复)
      2022-05-06
      你这个rid我查到只有一个单号参数,我没办法帮你定位问题
      2022-05-06
      回复
    • gimtom
      gimtom
      2022-05-06回复Memory (私信不回复)
      APPID: wxd50bfea5dfa14900
      wx_order_id:3303080420160439296


      这些信息够了吗
      2022-05-06
      回复
    • Memory (私信不回复)
      Memory (私信不回复)
      2022-05-06回复gimtom
      你加我个人资料页的微信吧,我明天不上班,周一你找我
      2022-05-06
      回复
  • 货宝宝
    货宝宝
    2022-04-29

    请问调用生成支付参数接口,提示{"errcode":1010044,"errmsg":"受理关系不存在 rid: 626bba48-2049edc3-7163c57f"} 这个错误,是什么原因

    商户号是在小程序交易组件里面申请开通的,并且将商户号和小程序进行了绑定。

    2022-04-29
    赞同
    回复 11
    • Memory (私信不回复)
      Memory (私信不回复)
      2022-05-03
      提供下对应APPID
      2022-05-03
      回复
    • 货宝宝
      货宝宝
      2022-05-05回复Memory (私信不回复)
      APPID:wxbb9c516c6e9adfc6
      2022-05-05
      回复
    • 货宝宝
      货宝宝
      2022-05-05回复Memory (私信不回复)
      另外,在交易组件这里,进入商户号管理,每次都会报错“获取账户资产数据失败”,是否与这个错误有关系
      2022-05-05
      回复
    • Memory (私信不回复)
      Memory (私信不回复)
      2022-05-05回复货宝宝
      已反馈处理,晚点重试
      2022-05-05
      回复
    • 货宝宝
      货宝宝
      2022-05-06回复Memory (私信不回复)
      您好,关于接入视频号,有没说明文档,你看文档关于这块的介绍,互相放个链接, 结果啥也没说明白
      2022-05-06
      回复
    查看更多(6)
  • 凉月满天
    凉月满天
    2022-04-29

    再问个问题哈,是否所有类型的消息推送都只能统一推送到我提供的唯一的url里?之后我再通过event来判断这是何种消息?

    如果是这样的话,我后台还需要做消息分发,把订单回调、售后回调、纠纷单回调等各种消息分发到对应的处理模块咯?

    2022-04-29
    赞同
    回复 1
  • 凉月满天
    凉月满天
    2022-04-29

    帅哥你好,还想问你个问题。视频号场景下,消息通知需要使用微信小程序的消息推送功能对吧,我点进

    https://developers.weixin.qq.com/miniprogram/dev/framework/server-ability/message-push.html

    后,又顺着找到了消息加密解密的文档

    https://developers.weixin.qq.com/doc/oplatform/Third-party_Platforms/2.0/api/Before_Develop/Message_encryption_and_decryption.html

    该文档是属于微信开放平台-第三方平台下的文档。我的问题是,使用微信小程序的消息推送功能,和注册成为第三方平台开发者,这两者之间是否有联系?

    还是说,只不过是写文档的人把消息加解密的说明写在了第三方平台文档下而已,这两者之间并没有联系?

    2022-04-29
    赞同
    回复 2
    • 凉月满天
      凉月满天
      2022-04-29
      我认为,我提供给小程序消息推送的url,没有任何限制,跑在任何服务器里的web程序都可以作为小程序消息推送的接受者,对吧?
      2022-04-29
      回复
    • Memory (私信不回复)
      Memory (私信不回复)
      2022-05-03回复凉月满天
      使用微信小程序的消息推送功能,和注册成为第三方平台开发者,这两者之间无关
      2022-05-03
      1
      回复
  • Kevin.Zhang
    Kevin.Zhang
    2022-04-29

    大佬,请问视频号订单中心 哪里可以发起退货或者纠纷,我们测试下来,申请退款按钮也是跳转到小程序内部操作,没有看到微信端直接可以退货退款的地方

    2022-04-29
    赞同
    回复 1
    • Memory (私信不回复)
      Memory (私信不回复)
      2022-05-03
      非二级商户单会跳转到商户小程序处理
      2022-05-03
      回复
  • 1in
    1in
    2022-04-28

    大佬还有个问题,我发放优惠券后在视频号点击领取,微信侧回调会一直发起。这是BUG还是我的回调回包有问题。

    2022-04-28
    赞同
    回复 9
    • 1in
      1in
      2022-04-28
      如果根据request_id做唯一判断,一条正常进入逻辑,其他返回失败。这时候领券页面还是一直转圈。然后返回领券失败。
      2022-04-28
      回复
    • Memory (私信不回复)
      Memory (私信不回复)
      2022-04-28
      没有正确回调才会一直回调
      2022-04-28
      回复
    • Memory (私信不回复)
      Memory (私信不回复)
      2022-04-28回复1in
      你后面说的,是否100%复现?
      2022-04-28
      回复
    • 1in
      1in
      2022-04-28回复Memory (私信不回复)
      这个是回包的数据,跟领券能力确认那个接口一样返回时候加密。试了都是转圈领券失败
      2022-04-28
      回复
    • Memory (私信不回复)
      Memory (私信不回复)
      2022-04-28回复1in
      录一个视频私信提供下呗,我看看能不能复现
      2022-04-28
      回复
    查看更多(4)

正在加载...

登录 后发表内容