- 官方终于发正式完整的公告了:视频号交易组件资质报备
各位视频号橱窗商家: 11月30日后,非品牌类小程序交易组件将不能在视频号场景经营。如你所经营的小程序交易组件满足本文所述的要求,可通过邮件报备,经审核通过后则可继续在视频号场景经营。具体报备条件、报备方式及材料详见下方: 一、报备条件1.1 品牌要求(必须有旗舰店)小程序所经营的品牌在京东有开设官方自营旗舰店/自营旗舰店/官方旗舰店/旗舰店,或在天猫有开设的官方旗舰店/旗舰店。 1.2 品牌经营类型(1)自有品牌:小程序主体为品牌的商标权利人 (2)独占授权品牌:小程序主体为品牌的一级独占经销商(授权范围涵盖视频号) 1.3 组件接入时间组件接入时间为2022年10月1日前(或10月1日后未使用新版接入方式,在组件接入时未选择过旗舰店等特殊店铺类型)。 二、报备方式及材料2.1 报备方式11月21日前,准备相关材料,按照如下格式发送至wxlivebrand@tencent.com。 2.2 报备材料2.2.1 邮件标题【品牌组件报备】组件名称+经营类型+品牌名称+品牌开设的天猫/京东店铺类型例:【品牌组件报备】小米lite+自有品牌+小米(MI)+天猫官方旗舰店 2.2.2 邮件正文 (1)小程序名称: (2)小程序appid: (3)小程序主体名称:(即认证/开通商户号时所用营业执照的主体名称) (4)小程序主体证件号:(营业执照编号) (5)经营品牌名称: (6)品牌经营类型:自有/授权 (7)主关联视频号昵称: (8)品牌主营类目: 2.2.3 附件材料(1)营业执照 (2)品牌商标证书 (3)品牌授权书 a.如为授权品牌则须提供; b.仅接受源头为商标权利人、被授权方为小程序主体的一级授权,授权书需体现独占性,授权范围需涵盖视频号;旗舰店授权书模板参考:旗舰店授权书 d.若小程序名称涉及“官方”,则授权书内容需体现授权开设官方店/官方小程序的内容。官方旗舰店授权书模板参考:官方旗舰店授权书 (4)天猫/京东开设品牌旗舰店/官方旗舰店的店铺首页截图。 深圳市腾讯计算机系统有限公司
2022-11-21 - 商家转账到零钱规则改版解读
老规矩,看完记得点赞+收藏 一、重大利好 1.1 原收款用户账户限制功能下线 即取消原有单个用户单日付款10次次数限制,改为单日向单用户最高可转2万元(不可提高),收款次数无限制 图为原收款用户账户限制功能 [图片] 1.2 由原单笔最低付款限额0.3元调整至最低单笔付款限额为0.1元,一个字:“省钱”! [图片] 1.3 取消原开通90/30天限制,改为按场景提交申请 [图片] [图片] [图片] 二、用户侧主要改动 总结就一点:当商家单笔转账给用户金额<0.3元时,转账到账通知为简化版消息 [图片] 三、商家侧主要改动 3.1 api改动 3.1.1 发起商家转账接口新增transfer_scene_id字段,用于指定该笔转账使用的转账场景ID,场景ID在商家转账开通后可以获取到,新规则生效后开通“商家转账”产品功能该字段必传,规则前开通“商家转账”产品功能暂时不强制传该参数,建议还是去商户后台及时添加付款场景避免后续变动对自身业务带来影响 [图片] 3.1.3 单个批次转账的明细数量提升至最多支持1000笔,建议对数据进行兼容,避免后台页面发放后通过API拉取信息时出现报错 3.2 业务侧改动 3.2.1 取消原有统一的单笔、单用户付款额度与次数限制,新增以用户转账的不同场景维度对应不同的单笔、单日限额,单个商户号最多可申请添加三个使用场景 [图片] 3.2.2 单笔付款最低金额由原0.3元/笔调降为0.1元/笔 注意:小于0.3元的付款单不支持实名校验及申请电子回单 [图片] 3.2.3 商户号默认单日最高转账额度为10万元,自主申请最高可调整至100万元;商户号单日向单用户最高转账额度为2万元,不再支持提高。 注:提升额度需要先提升账户安全等级,可在账户中心->安全中心进行操作 [图片] 3.2.4 转账给员工与转账给合作伙伴场景需要在商户平台->「商家转账到零钱」添加收款用户openid及姓名,仅可向列表中已添加且姓名一致性校验通过的用户转账。 注意:若不添加或实名不通过,则无法转账成功。商户在进行转账以及转账校验前,应确保所收集及传输的第三方信息已合法获得用户授权。 [图片] 3.2.5 商家转账提供了全新升级的安全防控体系,商户可以针对付款出资验密确认、付款资金专款专用(基本账户收款,运营账户出资),满足合规及安全需求 注意:当前每日付款出资验密确认只可以下发50次,针对小额高频及夜间出款等情况可设置合理的免密额度,设置后在免密额度内的无需确认即可出资。请谨慎选择提高免密金额,在免密金额内仍有可能因平台安全监测发起验密,转账后需留意验密消息。 3.2.6 开通要求 暂时不支持小微商户、个体工商户 商户号历史无风险行为 开通环节需提交转账场景证明资料,并签订转账场景真实性承诺函 3.2.7 账单查询调整 支持下载5年内账单,支持下载2年内电子回单。业务账单格式优化(如下图)。 [图片][图片] 四、其他问题 4.1 申请开通描述写的很详细为什么还会一直被驳回? 你所认为写的详细≠满足业务审核所要求的“详细”,大概率你写的是一堆废话 可以参考页面示例根据自己业务场景进行详细描述 转账场景与实际业务场景不匹配 所提供业务场景无法核实 4.2 无法通过基本账户出资以后,如何实现自动向运营账户充值? 在产品中心开通「转账充值」产品,开通后可以得到一个与主体同名的银行卡号,然后使用银行的自动划拨或者定期付款产品,配置对应规则转账到该账户即可,对应功能不同银行产品叫法不同,具体可咨询自己开户银行是否支持该业务 看到这里,你不扫个码? [图片]
2022-12-05 - 如何实现快速生成朋友圈海报分享图
由于我们无法将小程序直接分享到朋友圈,但分享到朋友圈的需求又很多,业界目前的做法是利用小程序的 Canvas 功能生成一张带有小程序码的图片,然后引导用户下载图片到本地后再分享到朋友圈。相信大家在绘制分享图中应该踩到 Canvas 的各种(坑)彩dan了吧~ 这里首先推荐一个开源的组件:painter(通过该组件目前我们已经成功在支付宝小程序上也应用上了分享图功能) 咱们不多说,直接上手就是干。 [图片] 首先我们新增一个自定义组件,在该组件的json中引入painter [代码]{ "component": true, "usingComponents": { "painter": "/painter/painter" } } [代码] 然后组件的WXML (代码片段在最后) [代码]// 将该组件定位在屏幕之外,用户查看不到。 <painter style="position: absolute; top: -9999rpx;" palette="{{imgDraw}}" bind:imgOK="onImgOK" /> [代码] 重点来了 JS (代码片段在最后) [代码]Component({ properties: { // 是否开始绘图 isCanDraw: { type: Boolean, value: false, observer(newVal) { newVal && this.handleStartDrawImg() } }, // 用户头像昵称信息 userInfo: { type: Object, value: { avatarUrl: '', nickName: '' } } }, data: { imgDraw: {}, // 绘制图片的大对象 sharePath: '' // 生成的分享图 }, methods: { handleStartDrawImg() { wx.showLoading({ title: '生成中' }) this.setData({ imgDraw: { width: '750rpx', height: '1334rpx', background: 'https://qiniu-image.qtshe.com/20190506share-bg.png', views: [ { type: 'image', url: 'https://qiniu-image.qtshe.com/1560248372315_467.jpg', css: { top: '32rpx', left: '30rpx', right: '32rpx', width: '688rpx', height: '420rpx', borderRadius: '16rpx' }, }, { type: 'image', url: this.data.userInfo.avatarUrl || 'https://qiniu-image.qtshe.com/default-avatar20170707.png', css: { top: '404rpx', left: '328rpx', width: '96rpx', height: '96rpx', borderWidth: '6rpx', borderColor: '#FFF', borderRadius: '96rpx' } }, { type: 'text', text: this.data.userInfo.nickName || '青团子', css: { top: '532rpx', fontSize: '28rpx', left: '375rpx', align: 'center', color: '#3c3c3c' } }, { type: 'text', text: `邀请您参与助力活动`, css: { top: '576rpx', left: '375rpx', align: 'center', fontSize: '28rpx', color: '#3c3c3c' } }, { type: 'text', text: `宇宙最萌蓝牙耳机测评员`, css: { top: '644rpx', left: '375rpx', maxLines: 1, align: 'center', fontWeight: 'bold', fontSize: '44rpx', color: '#3c3c3c' } }, { type: 'image', url: 'https://qiniu-image.qtshe.com/20190605index.jpg', css: { top: '834rpx', left: '470rpx', width: '200rpx', height: '200rpx' } } ] } }) }, onImgErr(e) { wx.hideLoading() wx.showToast({ title: '生成分享图失败,请刷新页面重试' }) //通知外部绘制完成,重置isCanDraw为false this.triggerEvent('initData') }, onImgOK(e) { wx.hideLoading() // 展示分享图 wx.showShareImageMenu({ path: e.detail.path, fail: err => { console.log(err) } }) //通知外部绘制完成,重置isCanDraw为false this.triggerEvent('initData') } } }) [代码] 那么我们该如何引用呢? 首先json里引用我们封装好的组件share-box [代码]{ "usingComponents": { "share-box": "/components/shareBox/index" } } [代码] 以下示例为获取用户头像昵称后再生成图。 [代码]<button class="intro" bindtap="getUserInfo">点我生成分享图</button> <share-box isCanDraw="{{isCanDraw}}" userInfo="{{userInfo}}" bind:initData="handleClose" /> [代码] 调用的地方: [代码]const app = getApp() Page({ data: { isCanDraw: false }, // 组件内部关掉或者绘制完成需重置状态 handleClose() { this.setData({ isCanDraw: !this.data.isCanDraw }) }, getUserInfo(e) { wx.getUserProfile({ desc: "获取您的头像昵称信息", success: res => { const { userInfo = {} } = res this.setData({ userInfo, isCanDraw: true // 开始绘制海报图 }) }, fail: err => { console.log(err) } }) } }) [代码] 最后绘制分享图的自定义组件就完成啦~效果图如下: [图片] tips: 文字居中实现可以看下代码片段 文字换行实现(maxLines)只需要设置宽度,maxLines如果设置为1,那么超出一行将会展示为省略号 代码片段:https://developers.weixin.qq.com/s/J38pKsmK7Qw5 附上painter可视化编辑代码工具:点我直达,因为涉及网络图片,代码片段设置不了downloadFile合法域名,建议真机开启调试模式,开发者工具 详情里开启不校验合法域名进行代码片段的运行查看。 最后看下面大家评论问的较多的问题:downLoadFile合法域名在小程序后台 开发>开发设置里配置,域名为你图片的域名前缀 比如我文章里的图https://qiniu-image.qtshe.com/20190605index.jpg。配置域名时填写https://qiniu-image.qtshe.com即可。如果你图片cdn地址为https://aaa.com/xxx.png, 那你就配置https://aaa.com即可。
2022-01-20 - 小程序海报生成工具,可视化编辑直接生成代码使用,你的海报你自己做主
开门见山 工具地址 点我直达>>painter-custom-poster 由于挂载在github page上,打开速度会慢一些,请耐心等待或自行解决git网速问题 背景 在做小程序时候,我们经常会有一个需求,需要将小程序分享到朋友圈,但是朋友圈是不允许直接分享小程序,那我们还有其他的办法解决吗?答案肯定是有的,即 canvas 生成个性化海报分享图片到朋友圈 分析 小程序中有大量的生成图片需求,但是使用过 canvas 的人,都会发现一些难以预料的问题>>有关小程序的坑 直接在 canvas 上绘制图形,对于普通开发者来说代码会特别凌乱并且难以维护,经常会花费很久的时间去优化代码 不同的环境渲染问题,例如在开发者工具看起来好好的,一到 Android 真机,就出现图片不显示,位置不对应等等问题 解决 那可不可以开发一款生成海报的插件库呢? 首先,只需要提供一份简单的参数配置文件即可 解决掉小程序Canvas遇到的一些大大小小的坑 有严苛的测试环节,解决各种环境和各种机型遇到的问题,并提供稳定的线上版本 长期维护,并有专人更新迭代更新颖的功能 以上的要求当然是可以的,曾经的我也想尝试开发一款出来,但是后来尝试了几款现成的工具之后就放弃了,毕竟轮子这个东西,是需要不断维护更新的,另外已经有这么多优秀现成的插件了,我为何还要费力去写呢,贡献代码岂不更美哉,以下是我收集的几款 小程序生成图片库,轻松通过 json 方式绘制一张可以发到朋友圈的图片>>Painter 小程序组件-小程序海报组件>>wxa-plugin-canvas 微信小程序:一个 json 帮你完成分享朋友圈图片>>mp_canvas_drawer 我想干什么 唠了这么多,好像提供给大家插件就没我什么事情了…想走是不可能的 为了能够制作出更酷炫的海报,我思考了许久 虽然有了插件后,只需要提供配置代码就能够制作出一款海报来,但是我发现还是有些许问题 制作海报效率还是不够高,微调一个元素的大小和位置,就需要不断的修改保存代码,等待片刻,查看效果,真的烦 一个小小的位置调整可能就需要来回调整无数次,这种最简单的机械化劳动,这辈子是不可能的 拿着完美的稿子,递给设计师看,这个位置不对,这个线太粗,这个颜色太重…你信不信我打死你 对于一些精美复杂的海报,实现起来真的不太现实 那我需要怎么做呢,请点击这个链接体验>>painter-custom-poster 点击左侧例子展示中的任意一个例子,然后导入代码就能看到效果图,这下你应该能猜到了我的想法了 如何实现 刚开始我想用简单的html和css加拖动功能实现,通过简单尝试之后就放弃了,因为这个功能真的太复杂了,简单的工具肯定是不行的 中间这个计划停滞了很长时间,一度已经放弃 直到发现了这个库fabric.js,真的太太优秀了,赞美之词无以言表,唯一的缺点就是中文教程太少,必须生啃英文加谷歌翻译 fabric介绍,你可以很容易地创建任何一个简单的形状,复杂的形状,图像;将它们添加到画布中,并以任何你想要的方式进行修改:位置、尺寸、角度、颜色、笔画、不透明度等 How To Use 目前工具一共分成4部分 例子展示 用来将一些用户设计的精美海报显示出来,通过点击对应的例子并将代码导入画布中 画布区 显示真实的海报效果,画布里添加的元素,都可以直接用鼠标进行拖动,旋转,缩放操作 操作区 第一排四个按钮 复制代码 将画布的展示效果转化成小程序海报插件库所需要的json配置代码,目前我使用的是Painter库,默认会转化成这个插件的配置代码,将代码直接复制到card.js即可 查看代码 这个功能用不用无所谓,可以直观的看到生成的代码 导出json 将画布转化成fabric所需要的json代码,方便将自己设计的海报代码保存下来 导入json 将第3步导出的json代码导入,会在画布上显示已设计的海报样式 第二排五个按钮 画布 画布的属性参数 详解见下方 文字 添加文字的属性参数 详解见下方 矩形 添加矩形的属性参数 详解见下方 图片 添加图片的属性参数 详解见下方 二维码 添加二维码的属性参数 详解见下方 第三排 各种元素的详细设置参数 激活区 激活对象是指鼠标点击画布上的元素,该对象会被蓝色的边框覆盖,此时该对象被激活,可以执行拖动 旋转 缩放等操作 激活区只有对象被激活才会出来,用来设置激活对象的各种配置参数,修改value值后,实时更新当前激活对象的对应状态,点击其他区域,此模块将隐藏 快捷键 ‘←’ 左移一像素 ‘→’ 右移一像素 ‘↑’ 上移一像素 ‘↓’ 下移一像素 ‘ctrl + z’ 撤销 ‘ctrl + y’ 恢复 ‘delete’ 删除 ‘[’ 提高元素的层级 ‘]’ 降低元素的层级 布局属性 通用布局属性 属性 说明 默认 rotate 旋转,按照顺时针旋转的度数 0 width、height view 的宽度和高度 top、left 如 css 中为 absolute 布局时的作用 0 background 背景颜色 rgba(0,0,0,0) borderRadius 边框圆角 0 borderWidth 边框宽 0 borderColor 边框颜色 #000000 shadow 阴影 ‘’ shadow 可以同时修饰 image、rect、text 等 。在修饰 text 时则相当于 text-shadow;修饰 image 和 rect 时相当于 box-shadow 使用方法: [代码]shadow: 'h-shadow v-shadow blur color'; h-shadow: 必需。水平阴影的位置。允许负值。 v-shadow: 必需。垂直阴影的位置。允许负值。 blur: 必需。模糊的距离。 color: 必需。阴影的颜色。 举例: shadow:10 10 5 #888888 [代码] 渐变色支持 你可以在画布的 background 属性中使用以下方式实现 css 3 的渐变色,其中 radial-gradient 渐变的圆心为 中点,半径为最长边,目前不支持自己设置。 [代码]linear-gradient(-135deg, blue 0%, rgba(18, 52, 86, 1) 20%, #987 80%) radial-gradient(rgba(0, 0, 0, 0) 5%, #0ff 15%, #f0f 60%) [代码] !!!注意:颜色后面的百分比一定得写。 画布属性 属性 说明 默认 times 控制生成插件代码的宽度大小,比如画布宽100,times为2,生成的值为200 1 文字属性 属性名称 说明 默认值 text 字体内容 别跟我谈感情,谈感情伤钱 maxLines 最大行数 不限,根据 width 来 lineHeight 行高(上下两行文字baseline的距离) 1.3 fontSize 字体大小 30 color 字体颜色 #000000 fontWeight 字体粗细。仅支持 normal, bold normal textDecoration 文本修饰,支持none underline、 overline、 linethrough none textStyle fill: 填充样式,stroke:镂空样式 fill fontFamily 字体 sans-serif textAlign 文字的对齐方式,分为 left, center, right left 备注: fontFamily,工具中的第一个例子支持文字字体,但是导入小程序为什么看不到呢,小程序官网加载网络字体方法>> 加载字体教程>> 文字高度 是maxLines lineHeight2个字段一起计算出来的 图片属性 属性 说明 默认 url 图片路径 mode 图片裁剪、缩放的模式 aspectFill mode参数详解 scaleToFill 缩放图片到固定的宽高 aspectFill 图片裁剪显示对应的宽高 auto 自动填充 宽度全显示 高度自适应居中显示 Tips(一定要看哦~) 本工具不考虑兼容性,如发现不兼容请使用google浏览器 painter现在只支持这几种图形,所以暂不支持圆,线等 如果编辑过程,一个元素被挡住了,无法操作,请选择对象并通过[ ]快捷键提高降低元素的层级 文字暂不支持直接缩放操作,因为文字大小和元素高度不容易计算,可以通过修改激活栏目maxLines lineHeight fontSize值来动态改变元素 如发现导出的代码一个元素被另一个元素挡住了,请手动调整元素的位置,json数组中元素越往后层级显示就越高,由于painter没有提供层级参数,所以目前只能这样做 本工具导出代码全是以px为单位,为什么不支持rpx, 因为painter在rpx单位下,阴影和边框宽会出现大小计算问题,由于原例子没有提供px生成图片方案,可以下载我这里修改过的demo>>Painter即可解决 文本宽度随着字数不同而动态变化,想在文本后面加个图标根据文本区域长度布局, 请参考Painter文档这块教程直接修改源码 由于本工具开发有些许难度,如出现bug,建议或者使用上的问题,请提issue,源码地址>>painter-custom-poster 海报贡献 如果你设计的海报很好看,并且愿意开源贡献,可以贡献你的海报代码和缩略图,例子代码文件在example中,按顺序排列,例如现在库里例子是example2.js,那你添加example3.js和example3.jpg图片,事例可以参考一下文件夹中源码,然后在index.js中导出一下 导出代码 代码不要格式化,会报错,请原模原样复制到json字段里 生成缩略图 刚开始我想在此工具中直接生成图片,但是由于浏览器图片跨域问题导致报错失败 所以请去小程序中生成保存图片,图片质量设置0.2,并去tinypng压缩一下图片 找到painter.js,替换下边这个方法,可以生成0.2质量的图片,代码如下 [代码] saveImgToLocal() { const that = this; setTimeout(() => { wx.canvasToTempFilePath( { canvasId: 'k-canvas', fileType: 'jpg', quality: 0.2, success: function(res) { that.getImageInfo(res.tempFilePath); }, fail: function(error) { console.error(`canvasToTempFilePath failed, ${JSON.stringify(error)}`); that.triggerEvent('imgErr', { error: error }); } }, this ); }, 300); } [代码] TODO 颜色值选择支持调色板工具 文字padding支持 缩放位置弹跳问题优化 假如需求大的话,支持其他几款插件库代码的生成 ~ 创作不易,如果对你有帮助,请给个星星 star✨✨ 谢谢 ~
2019-09-27 - 【下单前置检查】 使用的疑问
关于 检查场景值是否在支付校验范围这个接口待废弃 需要更换为 下单前置检查(wx.checkBeforeAddOrder) 有一些疑问 1 新接口的requireOrder 字段是代表什么 是否和之前的 is_matched 代表含义一样 ,推单是什么意思 2 新增的traceId 需要传入哪个api
2022-09-06 - 自定义交易组件postman测试脚本
README 基于此Postman-cn脚本完善了自定义交易组件当前已公开接口 好用记得点赞 导入方法 以下操作为MAC OS导入流程 1.打开postman,点击“Import” [图片] 2.点击“upload files” [图片] 3.选择下载好的json 脚本,点击“open” [图片] 4.点击“Import”进行导入 [图片] 配置方法 [图片] 脚本下载地址 下载地址:https://cloud.189.cn/web/share?code=IFVB7rzIBNZn(访问码:2ewk) 如下载地址失效请留言,看到后第一时间更新
2022-05-18 - 交易组件2.0升级3.0后的视频号 对新零售行业来说是一次大倒退
核心观点:本次交易组件2.0升级3.0版本,完全是照抄平台电商的模式,脱离了新零售实际业务场景,是一次完完全全,彻彻底底失败的抄袭。 升级后的最大槽点: 1、升级后的交易组件脱离了小程序本身的支付体系,需要支付的统一的商户号,这对新零售连锁/加盟品牌来说,此改动完全可以促动新零售品牌放弃视频号的神经。 升级后即交易组件正向订单槽点: 2、视频号场景不支持自提订单,这对新零售到店业务/引流到店的业务诉求是极大的挑战; 3、订单不支持使用储值卡,即便强行使用了储值卡+微信支付,视频号-订单中心操作退款时的逻辑与品牌正常使用了储值卡的售后逻辑不一致; 4、不支持定金预售活动,即便定金是在支付校验场景,定金付款到了交易组件的商户号,但是尾款支付不在支付校验场景时,尾款的收款商户号与交易组件的商户号不一致;更进一步讲即便尾款与定金都在支付校验场景值内,但是例如定金膨胀功能根本无法实现; 5、订单不支持改价,这与销售服务类型或非标产品的品牌是个挑战; 6、同一SKU购买多件时,需要拆单发货,目前3.0这版本交易组件根本不支持; 7、目前版本快递订单发货时,不支持选择无需物流,虽然新的【生成订单】接口里面delivery_type:1: 正常快递, 2: 无需快递, 3: 线下配送, 4: 用户自提。但是又特别说明了一下,视频号场景目前只支持 1,正常快递; 升级后即交易组件逆向单据槽点: 8、售后类型不支持换货; 9、一次仅能选一个sku,件数不允许修改(一个SKU购买多件的,必须全部一起申请售后); 10、在视频号中下的订单:满赠活动中:退活动商品时,赠品不受活动满赠条件控制,无法一起选中进行售后,0元的赠品还不能单独申请售后;套餐/一口价类的活动无法整单售后; 以上先列举10大槽点,后续发现其他槽点另行补充。
2022-04-23 - 新版交易组件接入的指引与Q&A(本文不在更新,看文章内新地址)
本文不在更新,请看新版自定义交易组件接入指引 看帖不点赞,bug千千万 需要先申请开通“交易组件场景专用商户号”才可以完成新版交易组件场景接入(申请场景经营商户号这是必要条件),进行接入时一定要按照文档流程顺序进行接入,不要新旧接口混合调用,否则无法正常跑通完整流程,切记!切记!切记! 先配个图证明新版接入已完成 [图片] 有新问题可以留言,有准确答案(方案)后补充更新 一、升级版自定义交易组件接入说明 1、组件介绍 若商家此前已经完成视频号接入小程序,在小程序中调用升级版自定义交易组件组件后,可在保留原有的界面、功能及交易链路的情况下接入微信视频号场景。通过调用商品上传、订单生成、状态同步等接口,实现在视频号场景中交易资金流、售后、交易纠纷、客服等能力的标准化。 2、功能特点 可在视频号场景实现商品展示和带货等功能 未来可支持更多直播营销玩法(券、 秒杀、预售等) 支持小程序客服组件,商家能更方便收到用户的客服咨询 订单中心显示更完善的订单信息,用户可自行查看订单状态 支持用户在视频号订单中心继续付款、发起售后 3、上线案例 升级版自定义交易组件为商户提供保障用户体验的直播电商全链路能力: 可以使用微信支付商户号,资金结算更规范。 小程序和视频号的订单进行了双向打通,用户可以任选在小程序或视频号订单中心处理订单,例如重新发起支付、确认收货等,大大提升用户体验。 通过打通小程序客服组件,增强了商家处理商品咨询的能力。 [图片][图片][图片] 4、接入流程及官方文档 注意:整个接入流程需要15-30个工作日不等,建议提前准备商品的品牌、资质、类目信息,与开发调试并行,避免延误直播带货计划。 详情见:接入视频号指引 5、关键流程逻辑 注意“橙色”为新加入部分: [图片] [图片] 二、接入过程中常见问题 有新问题可以留言,有准确答案(方案)后补充更新 Q1:新版交易组件需要重新申请商户号吗?是否可以使用原有商户号? A1:不可以,新版交易组件必须要申请开通场景专用商户号 Q2:新版场景专用商户号费率是多少,是否有优惠,结算周期是多久? A2:商户号费率为0.6%,无费率优惠,结算周期为7+7日,即用户收货后7天后结算。 Q3:申请新商户号时,最后一步签约遇到“微信实名信息与管理员信息不一致”是什么原因? A3:申请新的场景专用商户号时,“超级管理员”这一项不支持修改,默认为小程序“超级管理员”实名信息,如需修改,需要为该用户前往成员管理为小程序绑定超级管理员。 Q4:申请新的商户号时,为什么不能修改主体信息? A4:“当前主体”这一项不支持修改,因为商户号主体必须和该小程序注册主体保持一致。 Q5:通过新版自定义交易组件申请的场景专用商户号是否对跨境类小程序(自助报关)有影响? A5:会,二级商户当前暂不支持自助清关接口调用,留意后续更新通知 Q6:自定义交易组件“升级版”跟升级前的自定义交易组件有什么区别,哪些接口需要升级? A6: 新支付接口,必须走新商户号。 取消订单, 小程序(小程序内以及发现-小程序我的订单)和视频号双向可取消,之前只可以在小程序上取消,然后同步给视频号状态。 申请退款,小程序和视频号双向可申请退款。 申请退货退款,小程序和视频号双向可申请退货退款,之前只有小程序上操作。 未付款订单,小程序和视频号 可在各自订单中心重新支付,同步状态。 确认收货,小程序和视频号双向可确认收货。 同步发货状态接口更新。 Q7:自定义交易组件验收流程走完后, 在MP后台点击完成依旧提示"检测到你未完成此项步骤, 请确认后重试"是什么原因? A7:需要通过调用新接口进行验收才可以通过。 Q8:调用自定义交易组件创建售后接口ecaftersale/add时报47001错误{“errcode”:47001,“errmsg”:"data format error "} A8:请检查“product_info”字段,注意对应类型为“object”。 Q9:调用自定义交易组件创建售后接口ecaftersale/add时报错2747002,参数错误{“errcode”:2747002,“errmsg”:"参数错误 "} A9:1.请检查“orderamt”参数,传参金额应不含邮费。 2.新旧接口不可混合调用,新接口不支持对旧接口生成的订单创建售后。 3.一个商品仅可以有一笔在流程的售后单,已创建或售后完结也会报次错误。 Q10:调用自定义交易组件“同意退货”接口ecaftersale/acceptreturn时报错“同意退货失败没有默认退货地址,需要在接口中传入” {“errcode”:9700210,“errmsg”:“errmsg” =>”同意退货失败没有默认退货地址,需要在接口中传入"} A10:需要调用“更新商家信息”接口,补充默认退货地址 Q11:调用自定义交易组件“添加商品”接口shop/spu/add时报错“该账号客服方式必须包含微信客服/小程序客服” {“errcode”:1040042,“errmsg”:"该账号客服方式必须包含微信客服/小程序客服”} A11:需要在MP后台配置微信客服/小程序客服后,然后通过“更新商家信息”接口更新商家信息[图片] 调用“获取商家信息”接口应返回一下内容才为成功,“service_agent_type”字段需要同时包含0,1,2三个值 [图片] Q12:调用自定义交易组件“创建订单”接口shop/order/add时报错“不支持的发货方式” {“errcode”:1010036,“errmsg”:"不支持的发货方式“} A12:视频号场景当前只支持“正常快递”方式,其他请留意后续更新。 Q13:自定义交易组件“创建售后单”接口中“refund_reason_type”字段 定义见枚举值定义 “emAfterSalesReason ”,“emAfterSalesReason”对应枚举值是什么? A13:INCORRECT_SELECTION = 1; // 拍错/多拍 NO_LONGER_WANT = 2; // 不想要了 NO_EXPRESS_INFO = 3; // 无快递信息 EMPTY_PACKAGE = 4; // 包裹为空 REJECT_RECEIVE_PACKAGE = 5; // 已拒签包裹 NOT_DELIVERED_TOO_LONG = 6; // 快递长时间未送达 NOT_MATCH_PRODUCT_DESC = 7; // 与商品描述不符 QUALITY_ISSUE = 8; // 质量问题 SEND_WRONG_GOODS = 9; // 卖家发错货 THREE_NO_PRODUCT = 10; // 三无产品 FAKE_PRODUCT = 11; // 假冒产品 OTHERS = 12; // 其它 Q14:自定义交易组件“获取售后单详情”接口中“status”字段 定义见枚举值定义 “AfterSalesState ”,“AfterSalesState”对应枚举值是什么? A14:AFTERSALESTATUS_INVALID = 0; USER_CANCELD = 1; // 用户取消申请 MERCHANT_PROCESSING = 2; // 商家受理中 MERCHANT_REJECT_REFUND = 4; // 商家拒绝退款 MERCHANT_REJECT_RETURN = 5; // 商家拒绝退货退款 USER_WAIT_RETURN = 6; // 待买家退货 RETURN_CLOSED = 7; // 退货退款关闭 MERCHANT_WAIT_RECEIPT = 8; // 待商家收货 MERCHANT_OVERDUE_REFUND = 12; // 商家逾期未退款 MERCHANT_REFUND_SUCCESS = 13; // 退款完成 MERCHANT_RETURN_SUCCESS = 14; // 退货退款完成 PLATFORM_REFUNDING = 15; // 平台退款中 PLATFORM_REFUND_FAIL = 16; // 平台退款失败 USER_WAIT_CONFIRM = 17; // 待用户确认 MERCHANT_REFUND_RETRY_FAIL = 18; // 商家打款失败,客服关闭售后 MERCHANT_FAIL = 19; // 售后关闭 Q15:自定义交易组件申请视频号专用商户号后,唤起支付报错: “商户号该产品权限未开通” A15:需要先调用“生成订单”接口,然后调用“生成支付参数”接口获取调取支付所需参数,不要调用微信支付统一下单接口获取调用支付参数 Q16:调用自定义交易组件“同意退款”接口shop/ecaftersale/acceptrefund时报错“同意退款失败” {“errcode”:9700209,“errmsg”:"同意退款失败 退款失败“} A:该问题是订单流转状态不对导致,请严格按照文档流程进行操作调用;新旧接口混合调用也会报此错误。 Q17:二级商户号订单支付流程与原有订单支付流程有什么区别? A17:主要区别是:二级商户号订单调起支付所需参数是通过“生成支付参数”获取,无需同步支付结果;原流程调起支付是需要通过微信支付统一下单获取,需要同步支付结果。 Q18:调用自定义交易组件售后相关接口:“创建售后单”、“用户取消售后单”、“用户上传物流信息”、“获取售后单列表”、“获取售后单详情”、“同意退款“、”同意退货“、“拒绝售后”、“上传退款凭证”、“更新售后单”等接口时报错{“errcode”: 48001,“errmsg”: “api unauthorized”} A18:未开通视频号场景经营商户号,需要先开通场景经营商户号才可以调用。 Q19:自定义交易组件二级商户单调起支付时报错“JSAPI缺少参数total_fee” A19:生成支付参数失败,没返回正确的预支付 ID,重新调用生成支付参数接口获取新的支付参数即可 Q20:调用自定义交易组件接口报错{“errcode”:61007,“errmsg”:“api is unauthorized to component”} A20:没有完成服务商授权。 Q21:已经开通了自定义交易组件,调用接口还是报错48001 A21:接口鉴权有本地缓存,一般最多10分钟,请稍后再试。 Q22:调用自定义组件接口报错“json异常” A22:结构体比较复杂,请检查字段层级。划重点: json不支持注释!!!json不支持注释!!!json不支持注释!!! Q23:调用自定义组件接口报错{“errcode”:1000000,“errmsg”:“订单状态流转异常”} A23: 订单严格按照:创建、支付、发货、收货的事件流转,如果已经取消,则不能继续流转。 Q24:调用自定义组件上传图片接口报错{“errcode”:1070008,“errmsg”:"获取图片失败,请使用流式上传 "} A24:一般是图片url在微信侧获取不刀,可能为图片cdn设置了白名单或者cdn服务商把微信出口ip 给“ban”了 Q25:调用自定义组件上传图片接口报错{“errcode”:1070001,“errmsg”:"文件/图片为空 "} A25:检查请求报文协议,需[代码]Content-Type: multipart/form-data[代码] Q26:调用自定义组件上传图片接口报错{“errcode”:1000035,“errmsg”:"无效链接 "} A26:请检查图片链接是否为有效链接 Q27:自定义交易组件接入后没有收到事件回调消息 A27:使用公众平台调试工具确保回调链路正常。事件消息如下 [图片] Q28:视频号橱窗管理获取不到对应小程序 A28:1、检查是否开通视频号场景;2、检查是否绑定了推广员(非小程序超管需要绑定推广员) 持续更新中~~~
2022-04-14 - 【干货分享】小程序自定义交易组件开通及打通视频号场景
想要在视频号中拥有交易购物能力,必须接入交易组件,目前包含标准版交易组件和自定义版交易组件两种接入方案,以下是微信给出的对比及适用场景。 [图片] 因为有赞已经为商家小程序提供了完善的电商能力,所以自定义交易组件的方案更适合有赞商家小程序来对接微信视频号。 本文主要分享自定义交易组件开通的流程以及基于有赞场景去接入的时候遇到的一些坑,希望能帮助到大家!~ 一、总流程[图片] 二 、开通微信小程序 这个不必多说,但需要注意的是 1、必须是一个非个人主体的小程序 2、小程序类目需要符合下图要求 [图片] 三、开通微信支付后续的订单创建、同步会拉起微信的收银台完成支付,所以需要小程序开通微信支付的能力 四、检查是否已经开通标准版交易组件标准版和自定义版交易组件是二选一的,所以需要先检查是否开通了标准版交易组件 如果已经开通标准版但没有完成开店任务的话还是可以在微信后台取消使用的; 但如果连开店任务也完成的话,需要先注销(目前微信还没有开放注销功能),如果是有赞的商家的话可以联系有赞客服协助处理 五、授权自定义交易组件权限因为有赞是微信小程序的三方开发服务商,所以需要商家授权自定义交易组件权限,当然如果非服务商开发的话不用关心。 六、申请接入微信接口地址:点击跳转 http请求方式:POST https://api.weixin.qq.com/shop/register/apply?access_token=xxxxxxxxx 只需要获取到access_token后请求这个接口即可,接口是同步返回的(历史上是有异步的版本的,这块如果很早接触但没有在维护过的同学要注意了),这个接口请求失败的话可能是以下原因: access_token过期小程序类目不符合已经开通了标准版交易组件七、完成商品接口调试7.1 同步商品类目至微信审核你同步商品的三级类目id以及该类目在微信这边是否要求上传相应的类目资质,需要通过获取微信全量三级类目接口来查询 微信接口地址:点击跳转 http请求方式:POST https://api.weixin.qq.com/shop/cat/get?access_token=xxxxxxxxx 根据回参中的 qualification_type 类目资质类型 product_qualification_type 商品资质类型 来判断资质是否需要上传 根据回参中的 qualification 类目资质 product_qualification 商品资质 来查询需要上传资质 将回参中的third_cat_id记录,后续同步商品时会用 需要同步的话,就要调用上传类目资质接口,这是个异步接口,审核结果通过需要通过事件回调获取 微信接口地址:点击跳转 http请求方式:POST https://api.weixin.qq.com/shop/audit/audit_category?access_token=xxxxxxxxx 这块资质图片的字段建议先通过上传图片接口换取media_id来传入 7.2 同步品牌至微信审核如果你的同步的商品是一个品牌商品,那么在同步商品之前需要先同步品牌信息至微信审核,在审核通过的回调信息中获取到brand_id,之后同步商品时传入 微信接口地址:点击跳转 http请求方式:POST https://api.weixin.qq.com/shop/audit/audit_brand?access_token=xxxxxxxxx 同样的,这块品牌的一些证照图片的字段建议先通过上传图片接口换取media_id来传入 这里导致审核失败的几个原因: 上传证照的图片有问题,譬如有水印、大小超过2M、图片不能正常显示等证照过期 7.3 同步商品至微信审核现在就可以将调用同步商品接口完成商品同步了,也是一个异步接口,需要等审核回调 微信接口地址:点击跳转 http请求方式:POST https://api.weixin.qq.com/shop/spu/add?access_token=xxxxxxxxx 这里的tips引用下微信文档上的 注意:[代码]third_cat_id[代码]请根据获取类目接口拿到,并确定其[代码]qualification_type[代码]类目资质是否为必填,若为必填,那么要先调类目资质审核接口进行该[代码]third_cat_id[代码]的资质审核;[代码]qualification_pics[代码]请根据获取类目接口中对应[代码]third_cat_id[代码]的[代码]product_qualification_type[代码]为依据,若为必填,那么该字段需要加上该商品的资质图片;若需要上传某品牌商品,需要按照微信小商店开通规则开通对应品牌使用权限。微信小商店品牌开通规则:点击跳转,若无品牌可指定无品牌(无品牌[代码]brand_id: 2100000000[代码])。库存字段[代码]stock_num[代码]注意如果是0则无法在视频号直播上架该商品。部分特殊品类商品标题需要按照规范上传,请仔细阅读,避免审核不通过。商品标题规则:点击跳转。商品详情字段[代码]desc_info.desc[代码] [代码]desc_info.imgs[代码] 虽然非必填,但一些特殊品类仍然需要上传商品详情,请仔细阅读,避免审核不通过。商品详情规则:点击跳转。 这里应该是有赞场景下去开通自定义交易组件卡点比较严重的一环了,因为有赞的商家基数较大,商品种类较多,所以让商家自己同步一个商品至微信的话很容易被微信审核拒掉。有赞这边给到的一个方案是商家在开通自定义交易组件时,系统会帮商家创建一个简单的测试商品,因为这个商品无类目、无品牌且经验证100%通过商品审核,所以这一环的卡点也就能够被顺利疏通。 八、完成订单接口调试商品同步好后,需要对这个商品用微信支付完成一次交易,并将订单同步至微信 8.1 创建、同步订单因为自定义交易组件历史版本的原因,目前存在两套创建订单并同步至微信的方案 需要后端调用创建订单的微信api获取到ticket,然后小程序获取并通过ticket调用wx.requestPayment来拉起微信收银台(可能会废弃)小程序直接将订单信息通过wx.requestOrderPayment同步给微信,并拉起微信收银台微信这边推荐使用第二套方案 8.2 支付校验1、订单全量同步 如果选择订单全量同步到微信的话,那就不需要支付校验。 2、场景校验后同步 使用scene/check方法先去判断是否为视频号场景(这块后续可能会拓展,交易组件应该还会支持视频号以外的场景),是的话再去同步订单至微信。 这里建议在自定义交易组件接口调试过程中可以全量同步,但后续正常业务下单流程还是通过scene/check方式。因为如果你的小程序商城还支持其他支付方式的话,全量同步订单的话就会有坑,原因是无论你选择哪种创建、同步订单的方式都需要唤起微信支付,这样在原本能支持多种支付方式的场景下只能使用微信支付。 8.3 发布小程序因为创建、同步订单和支付校验有一些小程序的改动,所以小程序还是需要发布版本的。仅是开通流程的话走微信开发者工具也ok。 8.4 支付同步微信接口地址:点击跳转 http请求方式:POST https://api.weixin.qq.com/shop/order/pay?access_token=xxxxxxxxx 创建订单并支付成功后调用支付同步接口,就会将订单状态流转待发货 九、完成物流接口调试9.1 订单发货微信接口地址:点击跳转 http请求方式:POST https://api.weixin.qq.com/shop/delivery/send?access_token=xxxxxxxxx 9.2 订单收货微信接口地址:点击跳转 http请求方式:POST https://api.weixin.qq.com/shop/delivery/recieve?access_token=xxxxxxxxx 十、完成售后接口调试10.1 创建售后微信接口地址:点击跳转 http请求方式:POST https://api.weixin.qq.com/shop/aftersale/add?access_token=xxxxxxxxx 10.2 更新售后微信接口地址:点击跳转 http请求方式:POST https://api.weixin.qq.com/shop/aftersale/update?access_token=xxxxxxxxx 物流、售后接口的调试,如果只是开通流程的话,建议直接后端自动调用完成,可以减少卡点,帮助快速开通。 十一、完成接入任务11.1 获取接入状态微信接口地址:点击跳转 http请求方式:POST https://api.weixin.qq.com/shop/register/finish_access_info?access_token=xxxxxxxxx 回参中的access_info内 spu_audit_success 在商品接口调试成功后会被置为1 pay_order_success 在订单接口调试成功后会被置为1 send_delivery_success 在物流接口调试成功后会被置为1 add_aftersale_success 在售后接口调试成功后会被置为1 11.2 完成所有接入任务微信接口地址:点击跳转 http请求方式:POST https://api.weixin.qq.com/shop/register/finish_access_info?access_token=xxxxxxxxx 这个接口可以在上面获取接入状态接口返回的spu_audit_success、pay_order_success、send_delivery_success、add_aftersale_success的字段都为1时一次性调用完成所有。 当下面的任务都被完成后,自定义交易组件就已经完成接入了 6:完成spu接口,7:完成订单接口,8:完成物流接口,9:完成售后接口,10:测试完成,11:发版完成 十二、自定义交易组件接入视频号场景微信接口地址:点击跳转 http请求方式:POST https://api.weixin.qq.com/shop/register/finish_access_info?access_token=xxxxxxxxx 只需要调用场景申请接口来申请视频号场景,然后等待微信申请成功就可以完成自定义交易组件接入视频号了 十三、微信后台添加视频号推广员需要去微信后台添加一个视频号为推广员,然后就可以在这个视频号关联到已经开通自定义交易组件的小程序,关联后就可以上架已经商品同步接口调用通过的商品了。 [图片] [图片]
2021-10-27 - 新版自定义交易组件接入指引(更新售后流程相关内容)
自定义交易组件 本文主要介绍新版自定义交易组件的业务流程及各流程的注意事项,文档篇幅较长,如无需查看完整文档可以使用浏览器自带页面搜索功能进行关键字搜索(快捷键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 - 【完整攻略】2022新版自定义交易组件开通教程
注意:自定义交易组件【升级版】,即新接口适配(必须走新商户号)于2022年4月29号下午约15:00发布上线,站点注意更新最新,上传最新小程序代码,完成了小程序代码的发布和上线! 一、功能概述商城接入自定义版交易组件,商家可按流程接入自定义交易组件,实现视频号和微信小程序的打通,助力商家在微信视频号卖货。 二、实现场景实现功能一:用户进入视频号主页时,可直接看到商品橱窗商品,点击商品跳转小程序商城,使用微信支付下单购买,订单同步到微信端。 页面展示: [图片][图片][图片] 实现功能二: 通过微信视频号开启直播,可在商品商城橱窗挑选需要带货商品,用户观看视频号直播,点击商品,跳转小程序商城,用微信支付下单购买,订单同步到微信端。 页面展示: [图片][图片] 三、登录商城后台授权安装启用“自定义交易组件” 安装路径:总后台 -- 安装应用 -- 搜索“自定义交易组件”并安装 启用路径:总后台 -- 系统 -- 插件管理 --启用“自定义交易组件”插件 [图片][图片] 四、小程序官方后台mp.weixin.qq.com配置ip白名单、消息推送、开通自定义交易组件需要注意:1、必须是一个非个人主体的小程序2、小程序类目需要符合下图要求。 [图片] (一)配置ip白名单 因为视频号只能用二级商户订单,必须配置白名单。 路径:开发 -- 开发管理 -- 开发设置 -- 开发者ID -- 添加ip白名单(ip地址为您的服务器ip),需要小程序管理员扫码确认添加。 [图片] 站点没做集群即一台服务器情况下,填写一个服务器ip就行,如下截图 [图片] 站点做集群,填写全部ip,如下截图: [图片] [图片] (二)启用和配置消息推送配置二级订单状态回调,须启用和配置小程序消息推送。 1、路径:开发 -- 开发管理 -- 开发设置 -- 消息推送 [图片] 2、下一步,点击启用(需要小程序管理员扫码确认),填写URL、Token、 EncodingAESKey 消息加密方式:选择“明文” 数据格式:选择“XML” [图片][图片] 3、URL、Token、 EncodingAESKey如何填写? 进入商城后台 -- 应用 -- 公众号 -- 复制服务器地址(URL)、令牌(Token)、消息加密密钥(EncodingAESKey)粘贴到小程序的消息推送处。 [图片] (三)开通自定义交易组件 1、开通路径 路径:小程序后台 -- 功能 -- 交易组件 -- 开通自定义版交易组件。若小程序满足自定义版交易组件的接入要求,在微信公众平台登录小程序,则会看到下图所示界面 [图片] [图片] 微信官方暂时不支持标准交易组件转自定义交易组件,如果之前开错了,只能暂时放弃;也不能主动取消,否则无法再次开通,后续可开通小程序会有站内通知。 [图片] 2、申请开通选择自定义版交易组件,并申请开通功能,进入审核流程。商家也可以通过调用申请接入的接口申请开通功能,申请并审核通过后会看到下面的界面。 注意:这里申请审核时效为1-2个工作日,如果已经接入了回调接口,则会收到申请通过的回调。 [图片] 3、组件接入 (1)商户号申请:场景经营所需商户号的申请,可以查看小程序使用该商户号产生的交易金额、流水,申请、管理及操作。 开通指引如下 ① 点击去开通,申请商户号有三个步骤,先填写“步骤一基础信息”,上传营业执照法人身份证信息。 [图片][图片][图片] [图片] [图片] ② 补充资料为选填,不用填,直接跳过。 [图片] ③ 提交后,需要审核,在“基础信息”审核中期间,进行下一步“步骤二验证账户” [图片] 账户验证分两种,选择其中一种方式验证。 验证方式一: 法人验证,在规定时间内使用法人微信号扫一扫进行账户验证。 验证方式二:汇款验证,即公账汇款,在规定时间内使用用户名为“xxxxx公司”的银行账户汇款至指定账户。 [图片] 验证后点击下方的“我知道了”,刷新页面查看最新结果。预计2个工作日内完成审核。 [图片] ④ 通过后,进行下一步“步骤三 签约开通协议” [图片] [图片] 小程序管理员或小程序开发者扫码确认签署,手机微信扫码确认流程如下 [图片][图片][图片] ⑤ 商户号开通后效果如下 [图片] [图片] (2)商品接口调用:商品添加、商品修改、商品上架、商品下架、商品更新等 ① 路径:在商城后台 -- 自定义交易组件 -- 微信商品列表 -- 新增(上传商品) [图片] ② 选择商品分类,该分类为微信官方的商品分类,与商城添加的商品分类无关,部分需要审核才能开启的分类会被隐藏,点击更新分类可以从微信官方同步分类数据到本地。(目前只支持选择商城平台自营商品,其他插件商品暂不支持,后续将逐步支持) [图片] ③ 选择商品,一次最多选择10个商品,如果该分类需要商品资质证明,在商品列表会出现商品资质按钮(商品资质图片默认取上一次审核时提及的图片),点击后选择图片并上传。 [图片] ④ 点击提交,系统会自动获取商品数据并且提交审核。 ⑤ 提交完毕后会跳转到审核列表。 [图片] (3)订单接口调用 首先在商城后台自定义交易组件绑定订单调试开通。 类型:普通订单、二级商户订单。(2种类型都要绑定,分开下单绑定对应单号,视频号只能用二级商户订单,绑定没有先后顺序,只要都有绑定订单就行) 接入测试订单流程:先在小程序下单审核商品(仅提交订单不要付款),绑定下单未付款的订单号。 流程说明:该功能仅供接入流程测试使用,一般订单请勿使用 (1)进入小程序商城,选择已通过审核的商品,并且下单,并且不要支付. (2)将订单号复制到输入框,并且点击绑定,如下图所示. [图片][图片] (3)普通订单关联后在小程序进行微信支付后,在后台订单列表进行发货,收货完成,退款关闭等操作。关闭退款操作可直接在后台点击“退款并关闭订单”,如下图所示. [图片] 注意:通过后台点“退款并关闭订单”,若提示“未上传完整的微信支付证书,请到系统设置--支付方式中上传!” 处理方法:重新上传小程序微信支付CERT证书文件、KEY密钥文件,路径如下 [图片][图片] (4)二级商户订单关联后需要在小程序进行微信支付后,在后台订单列表进行发货,收货完成,售后审核,退款关闭等操作。二级商户订单,可以在微信--视频号--订单--售后退款--进入页面点退款(二级商户订单退款,实际上是模拟前端申请退款)。如下图所示. [图片][图片][图片][图片] (4)物流接口调用 对上述关联绑定的订单,在后台点击确认发货(可以填写真实快递单号和公司,也可以随便填写),确认收货。 [图片] (5)售后接口调用 如上 订单接口调用 的步骤,测试绑定关联的订单有进行退款操作即可. [图片] (3)(4)(5)接口调用步骤完成,便可在小程序后台--交易组件--组件接入,点击完成. [图片] 注意要完成,否则提示“检测到你未完成此项步骤,请确认后重试”,如下图所示. [图片] 4、发布小程序 自定义交易组件新接口适配功能是2022年4月29号下午约15:00发布上线的,站点注意更新最新,上传最新小程序代码,完成了小程序代码的发布和上线! [图片] 5、完成组件接入 [图片] (四)申请场景接入 前往小程序微信公众平台中,进入“交易组件”>“场景接入”菜单中,查看并选择需要接入的场景,微信官方默认所有场景均可接入. [图片] 1、视频号 (1)视频号推广:开通需要微信审核,一般2个工作日可以申请下来,具体以微信审核时间为准。添加一个视频号为推广员,然后就可以在这个视频号关联到已经开通自定义交易组件的小程序,关联后就可以上架已经商品同步接口调用通过的商品了。 视频号关联小商店/小程序: https://developers.weixin.qq.com/community/business/doc/000ce0f5014a186f871bf21b459c0d 视频号直播关联小商店/小程序 https://developers.weixin.qq.com/community/business/doc/000ce8f5688b4873a72b2d6c15ac0d [图片] [图片] (2)直播间分享员:开通无需审核。 直播间分享员说明 >>https://developers.weixin.qq.com/community/business/doc/000804f4248538558facd4fff5f40d [图片][图片] 2、订单中心 开通能力后:可增强订单曝光和小程序留存,在「微信」-「发现」-「小程序」-「我的订单」看到订单同时收到订单变更的消息. 查看指引>>https://docs.qq.com/doc/DUnlGcXVWREREelpV [图片][图片] 五、商城后台 -- 自定义交易组件配置 (一)基础设置(接入组件)程序会判断当前小程序是否已经接入自定义交易组件,如果未接入,在接入状态处会有“申请接入”按钮,点击会申请开通自定义交易组件。 [图片] 已接入状态如下 [图片] 1、订单接入 如上面 "小程序官方后台 -- (三)开通自定义交易组件 --3、组件接入 -- 订单接口调用" 说明. 2、售后地址 用于流程走不通时让微信返回报错信息。 [图片] 3、商户信息 [图片] (二)类目审核列表(同步类目至微信审核) 微信那边个别类目需要审核,这边可在类目审核列表--点击申请 [图片] 选择商品分类根绝所需资质证书提示上传资质材料和营业执照 [图片] 提交后,等待审核可查看类目名称、审核单号、营业执照和资质材料 [图片] 审核通过了 显示如下 [图片] (三)同步商品至微信审核 1、微信商品列表—新增(上传商品) (1)点击微信商品列表 (2)点击右上角新增[图片] (3)选择商品分类,该分类为微信官方的商品分类,与商城商品分类无关,部分需要审核才能开启的分类会被隐藏,点击更新分类可以从微信官方同步分类数据到本地。(目前只支持选择商城自营商品,其他商品类型将逐步支持) [图片] (4)选择分类后,如果该分类需要提交商品资质证明,会出现提示。 [图片] (5)选择商品,一次最多选择10个商品,如果该分类需要商品资质证明,在商品列表会出现商品资质按钮(商品资质图片默认取上一次审核时提及的图片),点击后选择图片并上传。 (6)点击提交,系统会自动获取商品数据并且提交审核。 (7)提交完毕后会跳转到审核列表。 [图片] 2、商品审核列表 (1)商品审核列表会显示提交的审核记录和审核状态等信息。 ① 点击查看数据:可以看到提交审核时上传的数据信息:名称,分类,图片,审核状态,时间,规格。 (审核一般数分钟到十几小时都有,商品审核会有审核结果回调,但是回调只有一次请求容易漏掉,所以可以直接点击同步按钮更新所有未完成的审核。) ② 点击取消审核:会取消当前正在进行中的审核。 ③ 点击重新提交:会进入该商品的提交页面,提交的商品数据以当前商城数据为准。(审核期间,线上商品信息依然是审核前的状态) [图片] (四)线上商品列表 1.同步:获取微信端数据,更新本地的商品数据 2.新增/上传商品:跳转到商品上传页面,如果是上传商品,会默认带上选择的商品和分类 3.查看数据:查看商品数据详情,此处的商品数据会实时从微信端获取最新数据并且更新当前商品 4.审核详情:查看该商品最新的一次审核的情况 5.删除商品:删除微信端的该商品,同时删除该商品的审核记录。 6.商品状态: ①初始:新的商品刚刚提交审核,并且还没有通过审核或者审核被驳回 ②自主下架:通过审核后的商品自行下架 ③上架:通过审核后的商品上架中 ④风控/违规下架:被微信端下架 7.点击商品名可以跳转到商品编辑页面 [图片][图片] (五)特别注意 ①要将订单同步到微信,需要上传规格,如果在商城规格与线上商品规格不一致的情况下,会出现同步失败的问题。所以进行视频号直播带货前请确认微信端与本地商品规格信息一致。 ②从微信视频号进入小程序时,只能购买已经同步到微信端的商品,其他商品如果下单后使用微信支付,会出现下单/调起支付失败的问题。出现这种情况需要重新进入小程序才可以正常购买其他商品 ③只有在视频号进入小程序后下单支付并且使用微信支付的订单,才会同步到微信端。如果使用其他支付方式、长时间未支付或在其他端支付,可能导致同步失败。 六、日常问题 Q1、小程序开通了交易组件的商户号,是否要把商户号信息填到商城小程序微信支付里? A1:不需要,小程序还是按照原先配置的支付信息。视频号场景需要申请商户号作为场景经营使用的资金账户,仅用于视频号商品订单微信支付资金进入该账户,可以通过这查看流水详情。 [图片][图片] Q2、新版交易组件需要重新申请商户号吗?是否可以使用原有商户号? A2:不可以,新版交易组件必须要申请开通场景专用商户号 Q3、新版场景专用商户号费率是多少,是否有优惠,结算周期是多久? A3:商户号费率为0.6%,无费率优惠,结算周期为7+7日,即用户收货后7天后结算。 Q4、视频号橱窗管理获取不到对应小程序 A4:检查是否开通视频号场景;2、检查是否绑定了推广员(非小程序超管需要绑定推广员) Q5、绑定普通订单、二级商户订单,有先后顺序的吗,可以先绑定二级商户订单吗? A5:可以,没有先后顺序,2种类型有绑定即可. Q6、怎么看测试订单有没有绑定成功呢? A6:先进小程序商城拍下已审核商品,注意不要付款,后台绑定订单后,再在进小程序商城完成微信支付,订单将展示在「微信」-「发现」-「小程序」-「我的订单」,如下图 [图片][图片] Q7、绑定二级商户订单,进入小程序完成支付,怎么提示“获取支付参数失败,错误码40164:invalid ip...” A7:小程序ip白名单没配置,可登录小程序平台mp.weixin.qq.com -- 开发 -- 开发管理 -- 开发设置 -- 开发者ID -- 添加ip白名单(ip地址为您的服务器ip),添加后,再进入支付便可正常。 [图片] Q8、二级商户订单前端微信支付提示提示“获取支付参数失败,错误码1010043:当前订单状态不允许...”? A8:一般这情况原因是小程序没配置ip白名单,也没启用配置消息推送。启用配置说明看上面“第四大点的第(二)点:启用和配置消息推送” [图片] Q9、没接入公众号(服务号),只接入小程序,还能配置消息推送吗? A9:可以。依旧是在商城后台 -- 应用 -- 公众号 -- 复制服务器地址(URL)、令牌(Token)、消息加密密钥(EncodingAESKey)粘贴到小程序的消息推送处。 [图片][图片] [图片] Q10、通过视频号转发购买商品,是否能锁客? A10:不是通过商城里分享的都无法锁客。 Q11、添加视频号推广提示“请检查视频号主体是否与本小程序一致” A11:检查 [图片] Q12、只要添加成推广员,是不是代表推广员这个账号已经和小程序完成了绑定,直接在直播的商品带货中添加小程序的商品即可?还是说需要额外的什么流程或者业务? A12:是的,没有其他额外流程。 Q13、小程序自定义交易组件一天能添加几个视频号推广员? A13:避免被人滥用,目前只能一天主动搜索10次。 Q14、接入测试订单提示商品规格异常。 A14:修改过商品规格后没有重新上传商品到微信,重新上传试试看. [图片]
2022-05-07