- 小程序流量主、广告位类型和广告收益分析
小程序流量主、广告位类型和广告收益分析 ## 本文介绍 最近在小程序的几个微信群,经常有朋友问到以下几个问题 1、小程序怎么盈利 2、小程序流量主是什么以及怎么开通 3、小程序广告有哪些类型,哪种广告类型相对收益最大 4、 ## 小程序如何盈利 目前对个人小程序开发者而言,只有通过开通流量主,并且按照官方规范要求添加广告位,才能获取收益,当然打赏除外。 ## 什么是流量主如何开通 流量主是微信对外提供的一个服务,通过开通流量主,就可以在小程序合适的位置引入广告位,进而实现收益 登录公众号后台( https://mp.weixin.qq.com/ )在左侧菜单中,找到 推广-流量主,点击进去会看到如下截图 [图片] 小程序流量主: 1.开通条件:小程序累计独立访客(UV)1000以上,且无违规记录,即可开通流量主功能。 温馨提示:如满足条件仍无法开通,可能是数据同步问题,建议等待1-2个工作日后再试。 2.申请方法:进入微信公众平台小程序后台,点击左侧面板“流量主”,满足开通门槛的小程序开发者点击“开通”,提交财务资料,待审核通过后成功开通流量主功能,即可创建相应的广告位。 3.广告接入指引: 广告接入可查看: 微信小程序广告接入指引 在开通流量主的过程中,会绑定个人银行卡,以方便进行后续的广告收益结算,目前结算每月两次,具体官方公告可以查阅 [流量主结算周期及开票规则调整说明][2019-12-03发布] https://mp.weixin.qq.com/promotion/readtemplate?t=notice/detail_page&time=1575340587¬ice_id=634169 ## 广告类型有哪些 Banner激励式视频插屏视频广告前贴视频 以下为各广告类型,截图示例, [banner广告] [图片] [插屏广告] [图片] 视频广告 [图片] 由于插屏广告会影响用户体验,所以不建议放太多场景使用。 具体不同类型广告体验,可以扫码 [图片] 首页模块-->>插屏广告使用说明-->>视频广告关于我们-->>banner广告 ## 哪种广告类型收益相对最大 [图片] 在10月30号,将banner广告同一替换为激励式视频广告和视频广告,收益很明显从30元上升到90元、150元 可以看到视频广告相对于banner广告,对于收益增加是有用的。 下图是某小程序12月4号一天的收益数据 [图片] 12月4号一天,不同广告类型,收益分析 总收益 194.74+23.27+147.82=365.83 具体分拆来看 广告类型点击量总收益单个点击收益(元)banner1956194.740.099插屏广告6223.270.375激励式视频广告152147.820.972 通过上图我们对比分析,不难得出以下结论:激励式视频广告单个点击的收益最大、 当然我们不能通过单一维度来了解哪种收益最好,还要综合考虑,比如哪种广告对用户影响最小,毕竟不管哪种方式,广告的接入肯定会带来交互体验上的障碍, 我们必须在交互体验和广告收益这两者之间做好权衡。 ## 系统公告 激励式广告于7月31日支持30秒视频素材,广告流量将逐步放开,MP后台-广告位管理模块可支持选择6-15秒视频或6-30秒视频素材的功能,请流量主根据产品进行调整。程序视频广告已于9月4日正式全量上线,开通后即按广告曝光获得分成收入,进一步提升流量变现收益。小程序视频前贴广告组件已于8月30日正式全量上线,开通后即按广告曝光获得分成收入,进一步提升流量变现收益。## 官方文档 小程序广告组件流量主操作指引https://wximg.qq.com/wxp/pdftool/get.html?id=BJSyDkLqz&pa=14&name=miniprogramAds_supplier_manual应用规范https://wxa.wxs.qq.com/mpweb/delivery/legacy/pdftool/get.html?id=rynYA8o3f&pa=10&name=miniprogramAds_supplier_guidance小程序流量主应用规范https://wximg.qq.com/wxp/pdftool/get.html?id=rynYA8o3f&pa=10&name=miniprogramAds_supplier_guidance处罚标准https://wxa.wxs.qq.com/mpweb/delivery/legacy/pdftool/get.html?id=BkTGkbs2G&pa=1&name=miniprogramAds_supplier_regulation小程序视频广告流量主指引https://wximg.qq.com/wxp/pdftool/get.html?post_id=1317小程序视频前贴广告流量主指引https://wximg.qq.com/wxp/pdftool/get.html?post_id=1318## 总结三点 从纯收益的角度来讲,在各种广告类型中,视频广告(包含激励式视频广告、视频广告、视频前贴广告)要比banner广告要好,而且好很多从用户体验来讲,插屏广告是首次打开带插屏广告的页面强制弹出的,但是广告过后,在页面是不占空间的,这是区分与其他广告的地方,banner广告、激励式视频广告、视频广告、视频前贴广告都是在页面中占固定的空间的,这一点要小程序运营同学权衡。Banner广告是按点击,激励式视频、视频广告、插屏广告都是按照曝光来收取广告费用的,这一点非常重要,难怪我每次手工点击我的视频广告没有见流量的增加[哭脸.jpg]。[感谢 @ 仙森 补充于2019年12月9号] 虽然对个人开发者而言,我们开发小程序的目的是为了收益(当然也有为了情怀而开发),在了解如何收益的情况下,我们还是应该尽量把精力放在小程序本身的开发上面。
2022-08-16 - 微信支付代金券退款的相关规则
1、预充值代金券退款规则 订单退款后,代金券是退还给用户还是退还给商户? 1.1、当订单全额款时,如果代金券在有效期内,会实时退还给用户,用户可继续使用2、当订单全额退款时,如果代金券不在有效期内,会实时退还给商户 1.2、当订单部分退款时,代金券资金按比耐退还给商户,如果代金券在有效期内,会在代金券 1.3、可用时间结束后,t+1退回至商户可用余额 1.4、当订单部分退款时,代金券资金按比例还给商户,如果代金券不在有效期内,实时退还至商户可用余额 部分退款时,代金券退还资金按比例计算规则: 退给用户金额=用户申请退款的订单金额*(用户实际支付金额订单总金额) 退给商户金额=用户申请退的订单金额*(优惠金额/订单总金额) 2、免充值代金券退款规则 订单退款后,代金券会不会退还给用户? 2.1、当订单全额退款时,如果代金券在有效期内,会实时退还给用户,用户可继续使用 2.2、当订单全额退款时,如果代金券不在有效期内,券不会退还给用户 2.3、当订单部分退款时,券不会退还给用户 退款时,用户退款金额计算规则: 退给用户金额=用户申请退款的订单金额*(用户实际支付金额订单总金额)
2021-01-18 - 微信支付退款订单包含全场/单品优惠时的退款规则
应用场景当买家要求退款时,订单中如果包含全场/单品优惠,微信支付将在收到退款请求并且验证成功之后,按照退款规则将支付款按原路退到买家帐号上。 含优惠订单退款的计算逻辑 定义 订单金额:订单优惠前的金额 退款金额:发起退款的金额,未扣除优惠部分 实退金额:买家实际收到的退款金额,退款金额减去优惠金额的部分 1. 包含全场优惠 订单金额a(整单享受全场优惠x元),发起退款金额b,实退金额=b-b/a*x。 例如:一笔订单100元(整单享受全场优惠10元),发起退款50元时,会按照比例分摊优惠金额5元(优惠金额=50/100*10),买家收到实退金额为45元。 2. 包含单品优惠订单金额a,包含商品A m元(A享受x元单品优惠)、商品B n元(B不享受单品优惠)。发起退商品A时,买家收到实退金额=m-x,发起退商品B时,买家收到实退金额=n。 例如:一笔订单100元,买家购买商品A一个10元(商品A享受2元单品优惠),商品B90元。退商品A时,扣除掉2元的单品优惠金额,买家收到实退金额8元;退商品B时,B未享受优惠,买家收到实退金额90元。 3. 包含多个单品共享的单品优惠,退部分优惠单品 订单金额a,包含商品A i个共m元(A享受x元单品优惠)、商品B n元(B不享受单品优惠)。发起退款j(j<=i)个商品A时,买家收到实退金额=m*j/i-x*j/i,发起退款商品B时,买家收到实退金额=n。 例如:一笔订单100元,买家购买商品A 2个共10元(商品A享受2元单品优惠),商品B90元。退1个商品A时,1个商品A原价5元,扣除掉1元的优惠金额,买家收到实退金额4元;退商品B时,B未享受优惠,买家收到实退金额90元。 4. 既包含单品优惠,又包含全场优惠 订单金额a(整单享受全场优惠i元),包含商品A m元(A享受x元单品优惠)、商品B n元(不享受单品优惠)。发起退款商品A时,买家收到实退金额=m-x-(m-x)/(a-x)*i,发起退款商品B时,买家收到实退金额=n-n/(a-x)*i。 例如:一笔订单100元(整单享受全场优惠10元),买家购买商品A一个10元(A享受2元单品优惠),商品B90元。退商品A时,扣除掉2元的单品优惠金额,以及全场优惠分摊金额=(10-2)/(100-2)*10=0.82元,买家收到实退金额7.18元;退商品B时,B未享受单品优惠,扣除全场优惠分摊金额=90/(100-2)*10,买家收到实退金额80.82元。 不支持使用单品部分退款的场景 以下场景在使用单品部分退款时会报错,需检查商家系统的逻辑是否正确: 1)累计退款金额大于订单金额 2)单品累计退款金额大于单品金额 3)退款请求的单品中,如果一款单品有多条记录,会拦截报错。例如单品信息传输单品A退1个、单品A退1个、单品B退1个,会报错。传输单品A退2个、单品B退1个即可 以下场景不支持单品部分退款,建议使用整单退款: 1)2019年1月1日之前的订单不支持单品部分退款。 2)在提交订单时传入的单品信息,如果存在“goods_id相同,单品单价不同”的情况,不支持单品部分退款。 3)在提交订单时,如果订单金额小于单品累加的金额,不支持部分退款。例如订单金额100元,而单品信息中的累加金额大于100元,这个场景不支持部分退款。单品信息中的累加金额需小于等于100元。 4)单笔订单只能用同一个退款接口进行退款。例如订单使用过其他退款接口退过,则无法再使用单品部分退款的接口。 什么场景会退券当代金券仍在有效期内,且金额全部退还给用户时,会退券;如果只是部分金额退还或已超过有效期,不会给用户退券。 例1:订单100元,全场券10元,整单退时,10元的券会退还给用户;如果只退50元,则券不会退给用户 例2:订单100元,单品A2个共90元,享受减10元的单品优惠,单品B10元。当退2个单品A时,会退还10元的单品优惠;只退1个单品A时,不会退还10元的单品优惠。 预充值与免充值代金券退款规则:https://developers.weixin.qq.com/community/pay/article/doc/0006e002fbcf2033279bf018051013
2021-03-10 - 免充值产品测试验收用例的wechatpay-axios-plugin教学帖
社区内大佬们都有贡献 「免充值代金券」 的测试用例实现,这篇文章也来凑一下热闹,顺带帮你把一下为啥要做这个 「测试验收」 以及 「验收注意」 细节。 引言 官方用例文档链接 一共25页,非常详细,照着描一步步做,很快就能验收完。本篇作为「教学帖」,试着让友商们理解,这个验收的重要性,如果希望能够获取帮助直接验收,请阅读代金券接口升级验收脚本 用例组合1001+1002+1003+1004+1005。 安装nodejs sdk 本篇以 [代码]wechatpay-axios-plugin[代码] 这款npm开发包展开,详细介绍可阅读 从APIv3到APIv2再到企业微信,这款微信支付开发包的README你应该来读一读。 [代码]npm install wechatpay-axios-plugin@"v0.5.5" [代码] v0.6系列做了[代码]返回数据签名强校验[代码],以下示例代码需要做特殊处理,本篇以v0.5.5展开。 获取沙箱密钥 先要理解,沙箱环境是个仿真环境,不是生产环境,友商朋友们应该做环境隔离。起步需要商户使用生产环境的 [代码]API密钥[代码],去获取[代码]沙箱密钥[代码],后续所有[代码]沙箱环境[代码]操作都要使用由[代码]沙箱密钥[代码]生成的[代码]数据签名sign[代码]。 [代码]const { Wechatpay, Formatter } = require('wechatpay-axios-plugin'); const mchid = '你的商户号'; const secret = '你的32字节的`API密钥`字符串'; const appid = '你的APPID字符串'; const mch_id = mchid; const noop = {serial: 'any', privateKey: 'any', certs: {any: undefined}}; // 实例化一个对象 let wxpay = new Wechatpay({ secret, mchid, ...noop }); const { data: { sandbox_signkey } } = await wxpay.v2.sandboxnew.pay.getsignkey({ mch_id, nonce_str: Formatter.nonce() }); [代码] 1001 付款码(刷卡)支付 订单金额 [代码]5.01[代码] 元,其中 [代码]0.01[代码] 元使用免充值券,用户实际支付 [代码]5.00[代码] 元。验证商户具备正确解析及识别免充值代金券字段的能力。 1001.1 请求支付 [代码]// 重新实例化一个沙箱环境的对象 wxpay = new Wechatpay({ secret: sandbox_signkey, mchid, ...noop }); // 模拟一个商户订单号 let out_trade_no = `SD${+new Date()}_501`; const { data: { coupon_fee, settlement_total_fee, total_fee } } = await wxpay .v2.sandboxnew.pay.micropay({ appid, mch_id, nonce_str: Formatter.nonce(), out_trade_no, body: 'dummybot', total_fee: 501, spbill_create_ip: '127.0.0.1', auth_code: '120061098828009406' }); console.table({ 代金券金额: coupon_fee, 应结订单金额: settlement_total_fee, 订单金额: total_fee }); [代码] 打印日志应如下: [代码]┌──────┬─────┐ │ (index) │ Values │ ├──────┼─────┤ │ 代金券金额 │ '1' │ │应结订单金额 │ '500' │ │ 订单金额 │ '501' │ └──────┴─────┘ [代码] 1001.2 获取支付结果 [代码]const { data: { settlement_total_fee, total_fee, coupon_fee, coupon_fee_0, coupon_type_0, coupon_count, } } = await wxpay .v2.sandboxnew.pay.orderquery({ appid, mch_id, nonce_str: Formatter.nonce(), out_trade_no, }); console.table({ 代金券金额: coupon_fee, 应结订单金额: settlement_total_fee, 订单金额: total_fee, 单个代金券支付金额: coupon_fee_0, 代金券类型: coupon_type_0, 代金券使用数量: coupon_count }); [代码] 打印日志应如下: [代码]┌──────────┬──────┐ │ (index) │ Values │ ├──────────┼──────┤ │ 代金券金额 │ '1' │ │ 应结订单金额 │ '500' │ │ 订单金额 │ '501' │ │单个代金券支付金额 │ '1' │ │ 代金券类型 │ 'NO_CASH'│ │ 代金券使用数量 │ '1' │ └──────────┴──────┘ [代码] 1002 付款码(刷卡)支付退款 订单金额 [代码]5.02[代码] 元,其中 [代码]0.01[代码] 元使用免充值代金劵,实际支付 [代码]5.01[代码] 元,退款查询升级。 1002.1 请求支付 [代码]//模拟重置一个商户订单号 out_trade_no = `SD${+new Date()}_502`; const { data: { coupon_fee, settlement_total_fee, total_fee, } } = await wxpay .v2.sandboxnew.pay.micropay({ appid, mch_id, nonce_str: Formatter.nonce(), out_trade_no, body: 'dummybot', total_fee: 502, spbill_create_ip: '127.0.0.1', auth_code: '120061098828009406' }); console.table({ 代金券金额: coupon_fee, 应结订单金额: settlement_total_fee, 订单金额: total_fee }); [代码] 打印日志应如下: [代码]┌────────┬─────┐ │ (index) │ Values │ ├────────┼─────┤ │ 代金券金额 │ '1' │ │ 应结订单金额 │ '501' │ │ 订单金额 │ '502' │ └────────┴─────┘ [代码] 1002.2 获取支付结果 [代码]const { data: { settlement_total_fee, total_fee, coupon_fee, coupon_fee_0, coupon_type_0, coupon_count } } = await wxpay .v2.sandboxnew.pay.orderquery({ appid, mch_id, nonce_str: Formatter.nonce(), out_trade_no, }); console.table({ 商户订单号: out_trade_no, 代金券金额: coupon_fee, 应结订单金额: settlement_total_fee, 订单金额: total_fee, 单个代金券支付金额: coupon_fee_0, 代金券类型: coupon_type_0, 代金券使用数量: coupon_count }); [代码] 打印日志应如下: [代码]┌──────────┬────────────┐ │ (index) │ Values │ ├──────────┼────────────┤ │ 商户订单号 │'SD1618966329677_502'│ │ 代金券金额 │ '1' │ │ 应结订单金额 │ '501' │ │ 订单金额 │ '502' │ │单个代金券支付金额│ '1' │ │ 代金券类型 │ 'NO_CASH' │ │ 代金券使用数量 │ '1' │ └──────────┴─────────────┘ [代码] 1002.3 请求退款 [代码]const { data: { cash_refund_fee, cash_fee, refund_fee, total_fee } } = await wxpay .v2.sandboxnew.pay.refund({ appid, mch_id, nonce_str: Formatter.nonce(), out_trade_no, out_refund_no: `RD${out_trade_no}`, total_fee: 502, refund_fee: 501, }); console.table({ 退款金额: refund_fee, 标价金额: total_fee, 现金支付金额: cash_fee, 现金退款金额: cash_refund_fee, }); [代码] 打印日志应如下: [代码]┌────────┬─────┐ │ (index) │ Values │ ├────────┼────┤ │ 退款金额 │ '502' │ │ 标价金额 │ '502' │ │ 现金支付金额 │ '501' │ │ 现金退款金额 │ '501' │ └───────┴─────┘ [代码] 1002.4 获取退款结果 [代码]const { data: { settlement_total_fee, total_fee, cash_fee, settlement_refund_fee, coupon_refund_fee_0, coupon_type_0_0, coupon_refund_fee_0_0, refund_fee_0, coupon_refund_count_0, } } = await wxpay .v2.sandboxnew.pay.refundquery({ appid, mch_id, out_trade_no, nonce_str: Formatter.nonce(), }); console.table({ 应结订单金额: settlement_total_fee, 订单金额: total_fee, 现金支付金额: cash_fee, 退款金额: settlement_refund_fee, 总代金券退款金额: coupon_refund_fee_0, 代金券类型: coupon_type_0_0, 总代金券退款金额: coupon_refund_fee_0_0, 申请退款金额: refund_fee_0, 退款代金券使用数量: coupon_refund_count_0, }); [代码] 1003 JSAPI/APP/Native支付 订单金额 [代码]5.51[代码] 元,其中 [代码]0.01[代码] 元使用免充值券,实际支付 [代码]5.50[代码] 元。 验证正常支付流程,商户使用免充值代金券支付。 1003.1 统一下单 [代码]//模拟重置一个商户订单号 out_trade_no = `SD${+new Date()}_551`; const {data: { prepay_id } } = await wxpay .v2.sandboxnew.pay.unifiedorder({ appid, mch_id, out_trade_no, nonce_str: Formatter.nonce(), body: 'dummybot', total_fee: 551, notify_url: 'https://www.weixin.qq.com/wxpay/pay.php', spbill_create_ip: '127.0.0.1', trade_type: 'JSAPI' }); console.table({ 预支付交易会话标识: prepay_id }); [代码] 1003.2 获取支付结果 [代码]const { data: { out_trade_no, total_fee, cash_fee, coupon_fee, coupon_count, coupon_fee_0, coupon_type_0, coupon_fee_0 } } = wxpay .v2.sandboxnew.pay.orderquery({ appid, mch_id, out_trade_no, nonce_str: Formatter.nonce(), }); console.table({ out_trade_no, total_fee, cash_fee, coupon_fee, coupon_count, coupon_fee_0, coupon_type_0, coupon_fee_0 }); [代码] 1004 JSAPI/APP/Native支付退款 订单金额 [代码]5.52[代码] 元,其中 [代码]0.01[代码] 元使用免充值券,实际支付 [代码]5.51[代码] 元。 1004.1 统一下单 [代码]//模拟重置一个商户订单号 out_trade_no = `SD${+new Date()}_551`; const {data: { prepay_id } } = await wxpay .v2.sandboxnew.pay.unifiedorder({ appid, mch_id, out_trade_no, nonce_str: Formatter.nonce(), body: 'dummybot', total_fee: 552, notify_url: 'https://www.weixin.qq.com/wxpay/pay.php', spbill_create_ip: '127.0.0.1', trade_type: 'JSAPI' }); console.table({ 预支付交易会话标识: prepay_id }); [代码] 1004.2 获取支付结果 [代码]const { data: { out_trade_no, total_fee, cash_fee, coupon_fee, coupon_count, coupon_fee_0, coupon_type_0, coupon_fee_0 } } = wxpay .v2.sandboxnew.pay.orderquery({ appid, mch_id, out_trade_no, nonce_str: Formatter.nonce(), }); console.table({ out_trade_no, total_fee, cash_fee, coupon_fee, coupon_count, coupon_fee_0, coupon_type_0, coupon_fee_0 }); [代码] 1004.3 请求退款 [代码]const { data: { cash_refund_fee, cash_fee, refund_fee, total_fee } } = await wxpay .v2.sandboxnew.pay.refund({ appid, mch_id, nonce_str: Formatter.nonce(), out_trade_no, out_refund_no: `RD${out_trade_no}`, total_fee: 552, refund_fee: 551, }); console.table({ 退款金额: refund_fee, 标价金额: total_fee, 现金支付金额: cash_fee, 现金退款金额: cash_refund_fee, }); [代码] 打印日志应如下: [代码]┌───────┬────┐ │ (index) │ Values│ ├───────┼────┤ │ 退款金额 │ '552' │ │ 标价金额 │ '552'│ │现金支付金额│ '551' │ │现金退款金额│ '551' │ └──────┴────┘ [代码] 1004.4 获取退款结果 [代码]const { data: { settlement_total_fee, total_fee, cash_fee, settlement_refund_fee, coupon_refund_fee_0, coupon_type_0_0, coupon_refund_fee_0_0, refund_fee_0, coupon_refund_count_0, } } = await wxpay .v2.sandboxnew.pay.refundquery({ appid, mch_id, out_trade_no, nonce_str: Formatter.nonce(), }); console.table({ 应结订单金额: settlement_total_fee 订单金额: total_fee 现金支付金额: cash_fee, 退款金额: settlement_refund_fee 总代金券退款金额: coupon_refund_fee_0 代金券类型: coupon_type_0_0, 总代金券退款金额: coupon_refund_fee_0_0 申请退款金额: refund_fee_0 退款代金券使用数量: coupon_refund_count_0, }); [代码] 1005 交易对账单下载 使用了免充值券的订单,免充值券部分的金额不计入结算金额。验证商户对账能正确理解到这一点,对账无误。这里预期会返回 [代码]1269[代码] 条明细数据。 汇总结果:总交易单数,应结订单总金额,退款总金额,充值券退款总金额,手续费总金额,订单总金额,申请退款金额。 这里数据应为: [代码]1269, `10.79, `5.93, `0.24, `0.0,`11.27, `6.37 [代码] 以生产标准为例,查询当前时间偏移两天以前的账单: [代码]const { data } = await wxpay .v2.sandboxnew.pay.downloadbill({ appid, mch_id, bill_type: 'ALL', bill_date: ( new Date(+new Date() + (8 - 48)*3600*1000) ).toISOString().slice(0, 10), nonce_str: Formatter.nonce(), }, { transformResponse: [] }); console.table(data); [代码] 打印日志形如: [代码]交易时间,公众账号ID,商户号,子商户号,设备号,微信订单号,商户订单号,用户标识,交易类型,交易状态,付款银行,货币种类,应结订单金额,代金券金额,微信退款单号,商户退款单号,退款金额,充值券退款金额,退款类型,退款状态,商品名称,商户数据包,手续费,费率,订单金额,申请退款金额,费率备注 `2016-05-04 02:18:18,`wxf7c30a8258df4208,`10014843,`0,`harryma007,`4.00123E+27,`autotest_20160501030456_45023,`oT2kauIMXH398DZBeJ4m22CuSDQ0,`NATIVE,`REFUND,`PAB_DEBIT,`CNY,`0,`0,`2.00123E+27,`REF4001232001201605015390231647,`0.01,`0,`ORIGINAL,`PROCESSING,`body中文测试,`attach中文测试,`0,`0.60%,`0,`0.01,` `2016-05-04 02:18:18,`wxf7c30a8258df4208,`10014843,`0,`harryma007,`4.00123E+27,`autotest_20160501060418_79156,`oT2kauIMXH398DZBeJ4m22CuSDQ0,`NATIVE,`REFUND,`PAB_DEBIT,`CNY,`0,`0,`2.00123E+27,`REF4001232001201605015391766944,`0.01,`0,`ORIGINAL,`PROCESSING,`body中文测试,`attach中文测试,`0,`0.60%,`0,`0.01,` ... 14:51:51,`wxf7c30a8258df4208,`10014843,`0,`harryma8888,`4.00968E+27,`wxautotest1462344441,`oT2kauGtJag902bjdvevrJbpGuxo,`NATIVE,`SUCCESS,`CMBC_CREDIT,`CNY,`0.05,`0.01,`0,`0,`0,`0,`中文[body],`测试中文[attach],`0,`0.60%,`0.05,`0,` 总交易单数,应结订单总金额,退款总金额,充值券退款总金额,手续费总金额,订单总金额,申请退款总金额 1269,`10.79,`5.93,`0.24,`0,`11.27,`6.37 [代码] 一铲到底 以下是一键验收全流程的一个[代码]魔性 chain[代码]到底的实现,感谢您阅读至此。 [图片] 本文如果对你开通 「免充代金券」 功能有帮助,那就来个赞呗。
2021-05-10 - 微信支付优惠扣除逻辑
一、优惠券叠加使用逻辑1)不同商户创建的全场优惠(包括券和立减)默认叠加使用 假设:某笔订单可以享受全场优惠a(A商户创建,互斥使用)、全场优惠b(B商户创建,互斥使用)、全场优惠c(C商户创建,互斥使用) 则:该笔订单会同时享受 a + b + c,共3个优惠 2)同一商户创建的全场券可配置叠加使用或互斥使用,单笔订单可以核销同一商户创建的所有叠加券 + 互斥券中的一个 假设:某笔订单可以享受同一商户创建的全场券a(叠加使用)、全场券b(叠加使用)、全场券c(互斥使用)、全场券d(互斥使用) 则:该笔订单会享受 a + b + c或d中的一个,共3个优惠 3)同一商户创建的全场立减可配置叠加使用或互斥使用,单笔订单可以核销同一商户创建的所有叠加立减 + 互斥立减中的一个 假设:某笔订单可以享受同一商户创建的全场立减a(叠加使用)、全场立减b(叠加使用)、全场立减c(互斥使用)、全场立减d(互斥使用) 则:该笔订单会享受 a + b + c或d中的一个,共3个优惠 4)同一商户创建的全场立减和全场券默认叠加使用 假设:某笔订单可以享受同一商户创建的全场券a(互斥使用)、全场立减b(互斥使用) 则:该笔订单会享受 a + b,共2个优惠 5)一笔订单中,同一商品(sku维度)只能享受一个单品优惠(包括券和立减),不同的商品可以享受不同的单品优惠 假设:某笔订单可以享受单品优惠a(sku:01),单品优惠b(sku:02),单品优惠c(sku:02) 则:则该笔订单会享受 a + b或c中的一个,共2个优惠 6)若某笔订单享受了全场优惠(包括券和立减),且其中至少一个全场优惠是叠加使用的,则该笔订单才能叠加使用单品优惠 假设:某笔订单可以享受全场优惠a(叠加使用),全场优惠b(互斥使用),单品优惠c 若该笔订单享受a,则可同时享受c;若该笔订单享受b,则不可同时享受c;若该笔订单享受a+b,则可同时享受c * 指定支付方式(例如指定银行卡)的优惠需关注: 优惠是否可以叠加使用,是以制券商户号维度进行判断的,与批次指定的支付方式无关。若多个指定了支付方式的全场优惠配置了不可叠加使用,即使这几个优惠指定的支付方式不同,用户也只能享受其中一个。 举例:某笔订单可以享受全场优惠a(指定了A银行信用卡,互斥使用),全场优惠b(指定了A银行储蓄卡,互斥使用),则无论主扫或被扫,用户都只能享受a或b中的一个,且由系统指定,用户无法切换优惠。 所以,若同时存在多银行或多卡种的活动,建议将其均配置为 [可叠加使用] 。 二、优惠时的优先级当用户有多个优惠,且多个优惠不能同时使用时,优惠的使用顺序如下: 面额越高优先级越高门槛越高优先级越高过期时间越近优先级越高领券时间越近优先级越高批次ID越小优先级越高 当用户有多个可叠加使用的优惠,但订单无法满足叠加使用的条件时,优惠的使用顺序如下: 面额越高优先级越高门槛越高优先级越高当面额与门槛均相同时,则随机使用顺序,此时不判断过期时间与领取时间。 三、一笔订单最多可使用的优惠数单笔订单最多可以使用20个单品优惠,以及8个全场优惠。 当订单可用的全场券超过8张时,微信支付将筛选可用券中面额最高的8张进行优惠计算,故无法保证得出最优解。
2021-01-16 - 微信会员卡券”储值功能“申请?
公众平台----微信会员卡券----储值功能,“申请”点多次,权限状态“未获得”,需要知道原因,的有个提示
2022-03-14 - 功能启用:品牌门店关系管理
概述: 服务商开通「连锁品牌工具箱」功能后,即可获得“品牌与门店的创建与管理”的能力。 创建品牌-门店关系,是使用连锁品牌能力的前提。对于特约商家,可由服务商邀请品牌完成品牌认证。 品牌认证后,然后可由服务商可为品牌录入门店、进行门店管理。 一、服务商协助总部商家认证品牌 1、服务商开通连锁品牌工具箱 服务商可登录「服务商平台-合作工具箱」申请开通「连锁品牌工具箱」。进行品牌申请、查看品牌申请进度、邀请品牌总部授权、品牌门店管理、品牌流量场景管理等日常管理。 [图片] 2、服务商发起品牌认证邀请 服务商可以邀请商家进行品牌认证。邀请前,请注意: 品牌总部的商户号需为该服务商商户号的子商户。品牌总部的商户号必须是“企业”类型。 [图片] [图片] 3、服务商提交品牌认证资料 服务商需要提交以下资料来进行品牌认证,微信支付会对资料进行审核。审核通过后,微信支付会通过“微信支付商家助手”公众号发送模板消息至品牌总部特约商户号超管。[图片] [图片] 4、品牌认证进度 服务商需关注品牌申请单的状态: 资料审核中:待微信支付进行品牌认证资料审核。审核驳回:品牌认证未通过审核,可点击“查看详情”了解审核详情。待品牌方确认:品牌认证资料已通过审核,等待品牌总部进行确认。可点击「提醒确认」提醒品牌主,该提醒每24小时可发送一次。品牌方已确认:品牌总部已确认品牌合作邀请。品牌方已拒绝:品牌总部拒绝了品牌合作邀请,请与品牌总部联系确认。【请注意】品牌认证需要在30天内完成授权,若过期未完成,将视同拒绝授权。 [图片] 5、品牌总部商户号超管确认品牌合作关系 品牌总部商户号超管会收到“微信支付商家助手”推送的合作关系确认消息,在小程序端完成确认后,品牌认证完成。 [图片] 6、服务商管理品牌 品牌总部商户号确认品牌合作关系后,品牌创建完成。 服务商可以通过品牌管理页面,进行品牌下资产管理。 [图片] [图片] 6.1 修改品牌LOGO 【设置流程】 访问「品牌管理」-「品牌详情」。进入品牌详情页,在品牌LOGO右侧,点击“修改”即可申请修改品牌LOGO。 [图片] 需要提交以下资料进行品牌LOGO修改申请,微信支付会对资料进行审核。[图片] [图片] 服务商需关注品牌LOGO修改申请单的状态:1)LOGO修改审核中:资料审核中,预计需要1-3个工作日,请耐心等待。 2)LOGO修改审核不通过:资料审核不通过,请访问「品牌管理」- 「品牌详情」-「品牌信息」-「品牌LOGO」查看不通过原因,按要求修改并重新提交申请单。 3)LOGO修改成功:资料审核通过,品牌LOGO修改成功。服务商还可以再次协助品牌修改已通过的品牌LOGO。修改即重新提交一个品牌LOGO进行申请。修改成功后,新的品牌LOGO将会覆盖原品牌LOGO。 6.2 设置品牌别称 连锁品牌可向C端(诸如收银台、账单等)展示的品牌信息,取自品牌的注册商标。然而一些品牌的注册商标可能中英文皆有、或名称过长导致商标信息与用户认知的品牌信息差距过大。通过设置“品牌别称”即可解决该问题。品牌别称不依赖于注册商标,可给品牌更大的灵活度,在C端展示上,品牌可选择展示注册商标的品牌名称,也可选择展示品牌别称。【设置流程】 访问「品牌管理」-「品牌详情」。进入品牌详情页,在品牌别称右侧,点击“设置”即可设置品牌别称。 [图片] 服务商需要提交以下资料进行品牌别称认证申请,微信支付会对资料进行审核。(1)品牌别称已有注册商标: [图片] [图片] (2)品牌别称尚无注册商标: [图片] [图片] 服务商需要关注品牌别称认证申请单的状态:1)审核中:资料审核中,预计需要1-3个工作日,请耐心等待。 2)已驳回:资料审核不通过,请访问「品牌管理」- 「品牌详情」-「品牌信息」-「品牌别称」查看驳回原因,按要求修改并重新提交申请单。 3)生效中:品牌别称认证申请通过。服务商还可以再次协助品牌修改已认证的品牌别称。修改即重新提交一个品牌别称认证。修改成功后,新的品牌别称将会覆盖原品牌别称。 二、「服务商协助」门店确认加盟关系 在使用连锁品牌门店系统之前,服务商需要注意品牌是否使用过原有门店系统,如使用过: 针对创建环节,请注意: 原有门店系统中未创建过或未创建成功的门店,可通过连锁品牌工具箱进行新增。原有门店系统中创建成功的门店,可联系你的微信支付运营,通过线下流程迁移,详情见【连锁品牌-门店录入(含迁移)】使用指引。针对使用环节,请注意: 连锁品牌的门店系统适用于微信支付下的所有门店应用场景,包括代金券广告投放、门店共享品牌APPID、供应链分账等。后续若服务商需进行门店管理或新增门店,须通过连锁品牌工具箱的门店系统进行,不可在原有门店系统中进行新增门店等操作,否则会造成数据不一致等问题。1、查看门店 在服务商为其特约商户完成品牌注册后,在连锁品牌工具箱中,点击该品牌的门店管理,进入门店列表页,在列表页可查看已创建的门店及其对应的状态,并可在操作栏完成基础管理。 [图片] 2、创建门店 2.1 服务商协助创建:通过服务商平台创建门店 1)服务商:进入连锁品牌工具箱的门店管理页面 在连锁品牌工具箱中,点击该品牌的门店管理,进入门店列表页 2)创建门店 服务商为品牌主创建门店,门店信息包括基础信息,地址信息,经营信息以及收款信息;部分字段可免填,详情见附录。 门店信息包括基础信息,地址信息,经营信息以及收款信息;部分字段可免填,详情见附录。 门店收款商户号:支持添加普通商户号、和任何类型的特约商户号。【特别注意】门店下录入间连特约商户号,需要完成开户意愿确认,详情请查看链接。 创建方式可选: 单个创建:服务商可通过单个创建门店的方式进行门店的创建,即在页面上填写门店信息并提交即可。批量创建:若使用批量创建门店,可在服务商平台下载创建模板,通过表格方式整理门店信息,并保存为CSV格式上传至网页,一次上传数量不超过400个,批量创建仅支持录入核心信息,暂不支持图片等信息传入。 [图片] 2.2 API创建/查询/修改 服务商可调用API为品牌创建,修改,查看门店,其中API暂不支持删除门店。 API文档:门店API-V1.0(20200430) 2.3 门店自助创建 服务商可通过「加盟商创建门店」,进入到邀请码生成页面,选择合适的邀请码有效期后,将二维码发送给加盟商,由加盟商扫码快速创建门店信息。 说明: ① 服务商发起邀请时,仅支持加盟商选择该服务商商户号的特约商户作为收款账号; ② 加盟商扫码创建的门店无需二次授权确认,加盟商扫码创建即完成门店创建流程。 [图片] [图片] 3、门店授权同意加入该品牌 由于录入门店需经过门店收款方的确认授权,授权后方可建立品牌-门店关系,因此服务商协助创建的门店,需要门店收款方完成授权,才可完成绑定。门店有两种授权方式: 方式1:进入商家助手小程序,点击消息中心进行授权门店方登录「微信支付商家助手」小程序,点击「消息中心」,进入列表页,选择标题为「品牌合作关系确认提醒」消息,点击进入并完成授权,暂不支持PC端授权。 [图片] 方式 2:查看公众号消息,点击模板消息进入授权服务商可指导收款商户,点击进入消息,在邀请页面确认消息无误并点击「确认加入」,即可完成授权流程。 注意:若门店方已关注「微信支付商家助手」公众号,平台将通过公众号消息提醒门店方授权,若门店方未关注时,将不提供该服务(不影响门店方通过消息中心点击授权流程) [图片] 如果门店长时间未授权,二次提醒门店授权当收款商户长时间未进行授权,仍处于「门店方确认中」状态下,可点击「提醒收款方」,再次下发模板消息以提醒收款商户授权。最多可进行三次提醒,每次提醒距上次不得小于12小时。 [图片] 如果相同收款商户号下新增门店,进入商家助手小程序,点击消息中心可查看新增情况。[图片] 门店方需要在30天内完成授权,若过期未完成,将视同拒绝授权。门店状态及说明: [图片] 4、管理门店 4.1 为门店新增多个收款商户号 服务商或品牌方可通过「修改-新增收款商户号」,为门店新增多个收款账号,目前收款商户号暂不支持删除,至多可添加三个。 说明: 1、若门店经营中实际经营人发生变更,请将原门店停业删除后,为变更后的实际经营人新增门店; [图片] 4.2 门店地址核实(是否核实不影响门店成功创建,核实成功可用于基于LBS的营销) 门店确认授权后,平台将自动发起地址核实流程。地址核实成功的门店可应用于基于LBS的营销活动,例如:附近发券等;地址核实失败不影响非LBS的同品牌发券。 地址状态及说明: [图片] [图片] 4.3 下载门店信息 服务商或品牌方可自行在页面下载门店信息,下载行为系统将记录并展示。 [图片] 4.4 门店停业及删除 品牌方可对门店做停业或删除管理,门店删除后将不会展示在门店列表中,暂不支持恢复,请谨慎删除。 [图片] [图片] 【附录】门店字段说明: [图片] 经纬度获取指引: 1、单个获取 2、批量接口
2021-10-12 - #微信支付 微信支付分账产品及能力整理
一、微信支付支持的分账产品及能力 1.针对直连商户的分账:文档地址 接口版本:V2 2.针对服务商模式的分账:文档地址 接口版本:V2 3.针对品牌连锁分账:文档地址 接口版本:V3 4.针对电商收付通分账:文档地址 接口版本:V3 二、企业如何选择使用哪个产品及能力 这个是根据公司自有业务来选择,有的公司使用其中一种就够了,有的公司可能涉及全部(提供解决方案的软件服务提供商),下面是官方产品介绍及场景举例,可以看看自己符合哪一种: 直连商户分账 产品介绍 (详情) 直连商户分账主要用于商户将交易成功的资金,按照一定的周期,分账给其他方,可以是合作伙伴、员工、用户或者其他分润方。 使用场景举例 1、员工奖励 零售、餐饮等行业中,当销售人员销售完成后,达到可奖励的条件,可以通过分账,将销售奖励分给员工。 2、管理资金到账时间 在酒店行业中,利用分账功能中的“冻结/解冻“能力,当用户预订/入住酒店时,交易资金先冻结在酒店的账户中,当用户确认消费离店后,再利用“分账“功能中的”分账完结“解冻资金到酒店的账户中。这样可以避免用户退款时商户账户资金不足的情况。 3、分润给合作伙伴 在与他方合作的情况下,可以用“分账”功能,将交易资金分给合作伙伴,例如物流合作商。 服务商分账 产品介绍详情 服务商分账,主要用于服务商帮助特约商户完成订单收单成功后的资金分配。 使用场景举例 • 服务商抽成 在各个行业中,服务商为特约商户提供增值服务,服务商与特约商户协商,可以从特约商户的交易流水中抽取一定的手续费。 • 员工奖励 零售、餐饮等行业中,当销售人员销售完成后,达到可奖励的条件,可以通过分账,将销售奖励分给员工。 • 管理资金到账时间 在酒店行业中,利用分账功能中的“冻结/解冻“能力,当用户预订/入住酒店时,交易资金先冻结在酒店的账户中,当用户确认消费离店后,再利用“分账“功能中的”分账完结“解冻资金到酒店的账户中。这样可以避免用户退款时商户账户资金不足的情况。 4、分润给合作伙伴 在与他方合作的情况下,可以用“分账”功能,将交易资金分给合作伙伴,例如物流合作商。 品牌连锁分账 产品介绍详情 适用于已开通连锁品牌工具箱的服务商、品牌商户和接入品牌的门店,品牌可通过供应链分账对门店、连锁业态其它参与者进行更灵活的资金管理。 使用场景举例 • 品牌管理门店账期:门店独立收款,品牌可以通过供应链分账的“冻结解冻“功能实现对门店的账期管理。 • 品牌基于门店交易抽成:门店独立收款,品牌根据门店的每笔交易在线抽成。 • 分账给服务商、供应商、店员或其他分账方:门店独立收款,按每笔交易分账给品牌合作的服务商、供应商、门店店员、或者有品牌合作的其他分润方。 • 品牌分账给门店:在品牌统一营销活动等场景,品牌可先收款再分账给门店。 电商收付通分账 电商收付通介绍 电商收付通是微信支付专为电商行业场景打造的支付、结算解决方案。电商平台的平台商户入驻微信支付成为二级商户。电商收付通支持将多个二级商户的订单进行合单支付(如电商购物车中的多笔订单合并支付),合单支付款项分别进入到二级商户各自的账户(资金为冻结状态,可用于实现二级商户账期);电商平台在满足业务流程条件下(如确认收货等),可将二级商户的冻结状态的资金解冻,并收取平台佣金。 产品介绍详情 通过分账接口,根据实际业务场景将交易款项分账到其他业务参与方的账户(如:平台抽取佣金),目前默认最高分账比例30%;同时通过该接口,实现合单交易冻结资金的解冻,从而实现对二级商户的账期; 适用于已开通电商收付通的电商平台及二级商户,电商平台可通过供应链分账实现对平台二级商户的账期管理和资金分配。 使用场景举例 • 二级商户账期管理:二级商户直接收款,电商平台通过供应链分账的“冻结解冻”能力实现对二级商户账期的管理。 • 电商平台交易抽成:二级商户直接收款,电商平台根据二级商户的每笔交易实现服务费的在线抽成。 • 分账给供应商、达人或其他分账方:二级商户直接收款,按每笔交易分账给二级商户上游的供应商、下游分销的达人、或者其他分润方。 三、官方整理的关于分账常见问题 总的来看架构有可能是一套(技术底层实现),只是针对不同场景有不同处理。所以当接入过一个后,接入第二个会比较轻松。 1)高比例分账如何申请?详情 此文档还包含以下常见问题解答: [图片] 2)分账接口问题Q&A【官方】详情 3)有问题善用社区搜索 [图片] 四、近期上线的新能力 【通知】分账新上线了2个功能 (比如之前都需要自己来计算可分账金额,比如,支付了100块,如果费率是千六,需要(100- 100x0.006)x 商户设置的可分账比例,实际可分的是99.4 x 分账比例等,目前都已提供接口反馈) 1)查询订单待分账金额 直连分账V2: https://pay.weixin.qq.com/wiki/doc/api/allocation.php?chapter=27_10&index=7 服务商分账V2: https://pay.weixin.qq.com/wiki/doc/api/allocation_sl.php?chapter=25_10&index=7 电商分账V3: https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/ecommerce/profitsharing/chapter3_9.shtml 品牌分账V3: https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/brand/chapter3_9.shtml 2)父查询子配置的订单最大可分账比例 服务商分账V2: https://pay.weixin.qq.com/wiki/doc/api/allocation_sl.php?chapter=25_11&index=8 品牌分账V3: https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/brand/chapter3_10.shtml 五、分账使用问题和需求反馈 如果现有分账产品与能力还不能满足业务需求,可通过以下反馈地址进行反馈,产品小姐姐、运营小姐期待您的反馈 。 反馈地址:https://wj.qq.com/s2/7672765/3527/
2021-04-29 - 微信卡券退出历史舞台后,继任产品「微信支付代金券」和「微信支付商家券」该如何选择
前言 公众平台在2021年02月26日发布了新公告「微信卡券将不再支持新创建“优惠券”通知」,原文点我直达 ,在微信卡券的「优惠券」退出历史舞台后,对于在微信生态内发放优惠券的需求,微信支付优惠券:商家券或支付券(即代金券)我们该如何去选择呢,且听我细细道来。 一、 产品简介 1.1 公众平台卡券 微信卡券功能是腾讯为商户提供的一套完整的电子卡券解决方案,商户可在法律允许的范围内通过该功能实现电子卡券生成、下发、领取、核销的闭环,并使用对账、卡券管理等配套功能,结合SNS、LBS等能力,更可在多渠道投放,进而拉新留存,沉淀用户。通过实现电子卡券的创建、投放、领取、使用,并配套数据对账、门店管理等功能,连接商家与用户 微信卡券功能可分为API接口功能和公众平台卡券功能,使用两种功能均可实现卡券生成、下发、领取、核销,有开发意愿的商户可使用API接口功能,无开发意愿商户可使用公众平台卡券功能 1.2 微信支付代金券 微信支付代金券是微信支付面向商户提供的一种营销工具。商户创建代金券后,可以发送给用户,当用户使用微信支付交易时,代金券会伴随交易自动核销/抵扣,帮忙商户便捷地落地营销活动 微信支付代金券分为全场券和单品券,全场券是基于商户交易订单进行减价,而单品券是基于订单中指定商品减价(下单时需上传单品信息)。全场券只可以配置满减券,单品券可以配置满减券和换购券。 1.3 微信支付商家券 微信支付商家券是微信支付为商户提供的电子优惠券解决方案,商家可在微信支付允许的范围内通过该功能实现商家优惠券信息生成、下发、领取、核销的闭环,并使用数据对账、券信息查询等配套功能完成商家券的管理操作。 微信支付商家券功能当前暂时仅提供API接口功能,有开发意愿的服务商或者商户可使用API接口完成商家券创建、发放、领取、核销、数据对账等全链路操作。未来微信支付将会为无开发意愿的商家提供商户平台页面配置商家券以及对应管理功能。 二、产品开通 2.1 公众平台卡券 已不支持新开,存量券可以通过接口进行修改、删除,不再支持新创建 2.2 微信支付代金券 微信支付代金券拥有两种产品模式,需要分别开通对应功能 开通预充值代金券权限 登录微信支付商户平台,进入「产品中心」->「我的产品」,开通「预充值代金券」产品权限 [图片] 开通免充值代金券权限 登录微信支付商户平台,进入「产品中心」->「我的产品」,开通「免充值代金券」产品权限 [图片] 注:免充值代金券当前开通还需要进行接口升级验收。 「点我查询升级进度」「点我查看免充值产品功能开通指引」 2.3 微信支付商家券 当前仅支持接口创建,无需特别开通功能,拥有微信支付商户号、微信支付服务商商户号均可使用。 三、产品特色 3.1 公众平台卡券 我可以省略吗? 3.2 微信支付代金券 微信支付代金券支持全场满减券、单品满减券、单品换购券,满足大多数日常营销需求。 营销活动除了基础的制券、发券,还包含使用优惠计算、退款、对账等复杂的流程。微信支付提供了完整的方案,可供商户/服务商使用。 商户可以在任意场景(例如:小程序、H5、APP等)调用API发券,也可以定义活动形式(例如:全员发券、新用户发券、抽奖发券等)。 可插入卡包,在券过期前,用户会收到过期提醒,提升核销转化率。 具备安全防刷能力,阻止黑产的不法行为,为营销资金保驾护航。 3.3 微信支付商家券 微信支付商家券可插入用户微信卡包,在券即将过期前,会收到过期提醒通知。通过消息通知,增强用户对商家券优惠感知,提升券的核销转化率,为商家带来更多的交易收益。 微信支付商家券支持在商家自有场景中发放(例如:商家小程序、H5网页、APP、公众号推文),还支持在微信支付流量场景中做投放(例如:附近发券、支付有礼、朋友圈等渠道)。流量渠道的丰富,极大的提升商家优惠所触及到的用户范围。 具备安全防刷能力,阻止黑产的不法行为,为商家营销资金保驾护航。 商家券可跳转商家自有“公众号”、“小程序”和“营销馆”,让用户更容易连接到商家的服务,获取更多商家品牌信息和活动优惠信息。 四、产品解析 4.1 「券」功能使用对象 4.1.1公众平台卡券 我想省略偷个懒 4.1.2 微信支付代金券 面向微信支付商户、微信支付服务商,使用前需要拥有微信支付商户号或微信支付服务商商户号。 4.1.3微信支付商家券 当前仅面向具备开发能力的微信支付商户、微信支付服务商,使用前需要拥有微信支付商户号或微信支付服务商商户号,并具备开发能力。 4.2 「券」的创建方式 4.2.1公众平台卡券 略······偷个懒 4.2.2 微信支付代金券 支持API创建 支持商户平台自助创建 微信支付商户后台->营销中心->创建全场/单品券 注:创建预充值代金券时,需要事先在商户后台->交易中心->充值/转入,充值代金券的活动预算,否则无法创建。 4.2.3微信支付商家券 当前仅支持API创建 后续会支持商户平台自助创建 「券」的业务模式 4.3 「券」的类型 4.3.1公众平台卡券 略······偷个懒 4.3.2 微信支付代金券 全场满减券 满X元减X元(例如:满10元减5元券),商户可在券的“适用范围”字段里向用户说明,券的适用商品情况(例如:“全场商品适用,特价商品除外”或“XX品牌商品适用”)。 单品营销 基于sku 商品编码(即:barcode id)的营销活劢(发单品券、单品实时立减/折扣等),单品营销是面向商品的营销,营销规则的配置基于商品而变。商品具有“多品类,多品牌,多业务线”特征,单品营销是同商品营销规则的集合。 单品满减券 基于单品,以固定金额进行优惠,如 5 元牛奶代金券,则购买牛奶可优惠 5元;商户可在券的“适用范围”字段里向用户说明,券的适用商品情况(例如:“XX品牌商品适用,不适用与XX商品同享优惠”)。 单品换购券 基于单品,以指定金额购买商品,需用户提前领券。如 5 元牛奶换购券,则凭券可以以 5 元的价格购买牛奶。商户可在券的“适用范围”字段里向用户说明,券的适用商品情况(例如:“XX品牌商品适用,不适用与XX商品”)。 注:以上代金券如部分商品不适用或不叠加可使用订单优惠标记功能,券需要消费者提前领取才可以在支付时自动抵扣(需满足优惠条件)。 4.3.3微信支付商家券 满减券 满X元减X元(例如:满10元减5元券),商户可在券的“适用范围”字段里向用户说明,券的适用商品情况(例如:“全场商品适用,特价商品除外”或“XX品牌商品适用”)。 换购券 满X元换商品,商户可以用换购券包装出时尚百货常见的“小样(单品)免费兑换券”(例如:2元换可乐)或“减至券“;商户可在券的“适用范围”字段里向用户说明,券的适用商品情况(例如:“XX品牌商品适用,不适用与XX商品”)。 折扣券 满X元享受X折,商户可在券的“适用范围”字段里向用户说明,券的适用商品情况(例如:“全场商品适用,特价商品除外”或“XX品牌商品适用”),包装出全场折扣券或者指定单品折扣券。 4.4 「券」的发放 4.4.1公众平台卡券 老规矩,略 4.4.2微信支付代金券 商家自有流量场景 4.4.3微信支付商家券 商家自有流量场景 微信支付流量场景 微信公众平台流量场景
2021-04-12 - 电商类小程序支持充值和提现吗?
微信官方人员,你们好,想问下小程序是否支持充值和提现的功能。 我们的场景是 电商类小程序。 用户充值后,可以用充值的金额进行购买线下商品,如果某天不再需要充值的余额,那么也可以进行余额提现。 想问下开发此业务需要什么资质么?
2022-01-15 - 请问销售实物商品的小程序,增加会员充值和礼品卡功能,需要单用途预付卡备案吗?
https://developers.weixin.qq.com/miniprogram/product/material/shangjiaziying/yufukafashou.html 我的小程序是销售水果的,想要增加会员充值功能和礼品卡功能。会员充值:用户可以充值成为会员,充值的钱可以在小程序里买水果抵扣。礼品卡:用户可以充值生成虚拟礼品卡,将礼品卡发送给朋友,朋友用礼品卡直接购买水果。 请问我增加这两个功能的话,需要做单用途预付卡备案吗?我联系了当地的商务局,他们说网络上的不用备案、也不支持备案。有什么建议吗?
2021-10-20 - 关于收付通处罚商家二级账户 通知电商平台的问题
1商户账号被禁收款能力问题 (1)问题说明 平台型电商平台会有很多商家入驻,这些商家申请收付通二级商户号时提交的资料满足要求,此时商家的收付通账户可以正常收款;后续可能因为商户做了什么违规行为 收到了微信处罚封禁了二级商户号收款能力; 此后此商户的买家购物时发现付款失败 会找到商户,商户会找到电商平台方认为是电商平台的问题; (2)问题影响与希望的解决方案 电商平台提供给买家的支付方式无法使用是个很大的体验问题,也是个很影响平台核心利益的问题,当某个支付方式无法使用时,电商平台首先要做的肯定是 停止问题收款渠道,引导买家到无问题的收款渠道,然后再异步修复问题收款渠道; 此时需要微信在处罚商家二级商户号时通知电商平台方,此问题我年初就反馈过,但是微信最新提供的新接口https://pay.weixin.qq.com/wiki/doc/apiv3_partner/apis/chapter10_3_5.shtml 并没有将影响平台运行的处罚结果以枚举值的方式说明。处罚方式用文本说明的话平台方如何判断 具体影响的功能(收款、分账、资金解冻 ?); 另外如何引导商户去微信申诉,以APP为载体的平台最好是能通过APP跳转微信,但这个申诉渠道 上述文档没有说明 2.商户账号被封禁分账能力问题 (1)问题说明 平台型电商主要收入来源于订单手续费/扣点,对应使用收付通里面的分账接口实现,但在我平台接入后的半年应用内,经常碰到因为二级商户的分账权限被封 导致电商平台分不到手续费,然后收付通另有付款超180天自动解冻货款的限定,也就是说如果二级商户分账权限一直没恢复,平台就会损失对应订单的扣点手续费 (2)问题影响与希望的解决方案 二级商户号被风控限制一些权限是可以理解的,但如果影响接入的电商平台利益 是不可接受的,收付通风控的是商家二级商户号,不应该限制电商平台分账手续费(如果担心平台扣取的手续费的合规性,可以在完成分账后冻结电商平台一级商户号对应资金额,但不要阻断业务流程)。二级商户侧 存量限制提现 ,增量关闭收款即可 ; 另外收付通不应该提供给商户脱离电商平台的提现入口,商户提现货款必须经过电商平台一级商户号的请求。
2021-12-29 - 小程序跳转:h5避免中间页直接打开微信小程序
最近有个需求:移动端网站某个页面,需要实现点击某个按钮能直接打开微信小程序,避免打开中间页打开小程序的方式,这种方式对用户更友好,避免用户流失。 这时候就得动动自己的小脑筋了,由于该开放能力是微信小程序开放不久,所以网上的相关资料较少。小程序的官方文档肯定是有的,在小程序的开发能力=》[获取小程序链接](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/url-scheme.html)中找到了相关文档。获取 URL Scheme、获取 URL Link、获取 Short Link等等,都是获取打开小程序链接的方案。经过阅读文档,获取 URL Scheme是满足需求的。所以在这里重点整理了下利用获取 URL Scheme方式来打开小程序的方案,亲测有效。 详情移步到我的博客看全文:https://blog.csdn.net/qq_42961150/article/details/121291349?spm=1001.2014.3001.5501
2021-11-12 - 服务商创建免充值代金券后在特约商户的小程序上领取提示‘商户号 与APPID不匹配‘?
请问服务商A通过API完成免充值代金券制券后,在特约商户的小程序上领取优惠券提示‘商户号 与APPID不匹配‘,请问这个问题怎么解决呢? [图片]
2021-08-23 - 微信支付代金券的核销规则问题?
问题1:一个订单内,包含10个商品,其中2个商品可以用微信支付代金券核销,那么是否只是这2个商品分摊优惠金额,其他商品不分摊? 问题2:一个订单内,最多可以叠加使用多少张微信支付代金券?单品券和全场券可以同时使用吗?C端交互样式是什么? 问题3:一个订单内,微信支付代金券的单品券和全场券可以同时使用吗? 问题4:一个订单,命中多张微信支付代金券,按什么优先级来使用?比如,券A优惠1元,券B优惠2元,券C优惠3元,是否按照优惠力度的从大到小来使用?或者是其他什么规则?
2021-01-13 - 代金券核销事件回调通知API,是否能返回Openid和订单金额?
代金券发放和核销都是用微信自带的能力,要对核销数据做数据分析,代金券核销回调API没有订单金额和Openid,数据分析不全,还有什么办法能同时获取以上数据呢? ,
2021-11-18 - 服务商发起发放代金券进口,报错“商户号与appid不匹配”
获取的openid是用的子商户的appid获取的,请求参数也是子商户号和子商户号的appid,签名的是服务商的商户号,不知道问题出在什么地方了
2020-07-14 - 【发放代金券API】 常见问题
接口url :https://api.mch.weixin.qq.com/v3/marketing/favor/users/{openid}/coupons 文档地址:发放代金券接口 Q1:商户号A调用接口,可以发放其他商户号(商户号B)创建的代金券吗?如何实现? A1:商户号A默认只允许发放本商户号创建的代金券,如需发放商户号B创建的代金券,可参考以下指引: 商户号A、商户号B需要分别开通“跨商户号发券”权限。开通权限后,商户号A制券时,会出现“可发券商户”配置项。商户号A将商户号B添加为“可发券商户”后,商户号B即可调用发券接口发放该批次代金券。 跨商户发券调用接口时需注意,接口传入的参数中,除stock_creator_mchid、stock_id为制券方提供的数据外,其余数据均为接口调用方的数据。 附:“跨商户号发券”权限申请流程: 申请流程:发邮件给weixincard@tencent.com,抄送himhe@tencent.com、marshalzhou@tencent.com,邮件名称:【跨商户号发券申请】。邮件提供内容:说明申请原因、制券的商户号、发券商户号,批量申请请提供表格附件。权限by商户号申请,已有权限商户号无需重复申请 Q2:通过接口发放的代金券,是否支持插入微信卡包? A2:通过接口发放的代金券,不会自动插入微信卡包, 如需申请自动插入卡包的能力,可向对接的微信支付行业运营同事了解申请流程(仅向部分商户开放)。代金券发券成功后,即使不插入微信卡包,也不会影响使用。 Q3:发放代金券API返回报错“参数错误,请核对文档要求”,是什么原因? A3:请参考文档核对参数,着重核对以下两项: stock_creator_mchid要填写创建批次商户号,且stock_creator_mchid与stock_id是否有对应关系;如不需要,请勿传入coupon_value、coupon_minimum两项参数。 Q4:发放代金券API返回报错“商户号和APPID不匹配”,是什么原因? A4:接口传入的appid需要与调用接口的商户号(即请求头中的商户号)有绑定关系 普通商户可登陆商户平台,在“产品中心-APPID授权管理”中完成绑定,可参考指引, 普通服务商可支持自助绑定同主体appid,绑定总数量为3个,操作指引。 Q5:发放代金券API返回报错“用户非法”,是什么原因? A5:报错“用户非法”的原因是,调用发放的代金券批次开启了安全防刷,且该用户被系统判定为疑似羊毛党、灰产用户、机器账号,故发放失败, 如对发券无风控要求,可在创建代金券时,关闭“安全防刷”选项。 Q6:发放代金券API返回报错“用户已达最大领券次数”,是什么原因? A6:可根据以下两种情况排查: 若该代金券批次未开启“自然人拦截”,则该openid已达到该批次设定的单用户领取上限;若该代金券批次开启了“自然人拦截”,则与该openid绑定了相同身份证/银行卡的所有微信账户合计已达到领取上限。 Q7:发放代金券API返回报错“签名错误”,是什么原因? A7:可参考指引。 以下为代金券V3接口: 商户侧验证微信返回签名的验签示例(PHP) 提取码:yx8o 验证签名工具 提取码:wujv
2023-02-10 - 微信unionid相关知识整理
我们是一个小程序、公众号、企业微信代开发的服务商,以此做了一个SAAS产品,所以涉及到微信第三方平台方面的接口功能,特别是通过第三方平台下的公众号/小程序和企微客户体系的打通,来发展我们的功能。经过一些实践,来分享一些整理的知识,希望能帮助到大家,如有错误的地方,也欢迎留言指正,谢谢! 1、微信开放平台、第三方平台是什么?他和微信开放平台是什么关系? 定义: ①微信开放平台:(未找到官方定义)我的理解是用来打通相同主体或不同主体的小程序/公众号/移动应用/网站应用的用户体系(unionid)的,只需要将他们绑定在一个开放平台上即可,但绑定个数有限制。 ②-第三方平台:开放给所有通过开发者资质认证的开发者使用。在得到公众号或小程序运营者(简称运营者)授权后,第三方平台开发者可以通过调用微信开放平台的接口能力,为公众号或小程序的运营者提供账号申请、小程序创建、技术开发、行业方案、活动营销、插件能力等全方位服务。简单来说第三方平台就是用来代注册/开发/运营小程序或公众号的。 关系:第三方平台是开放平台下的一种能力,从用户体系的角度来说,两者没有从属关系,也就是说绑定在开放平台下的公众号/小程序/移动应用/网站应用内的用户unionid 和第三方平台下的小程序/公众号的用户unionid不是一致的。 2、unionid机制说明 如果开发者拥有多个移动应用、网站应用、和公众帐号(包括小程序),可通过 UnionID 来区分用户的唯一性,因为只要是同一个微信开放平台帐号下的移动应用、网站应用和公众帐号(包括小程序),用户的 UnionID 是唯一的。换句话说,同一用户,对同一个微信开放平台下的不同应用,UnionID是相同的。 3、第三方平台下的不同小程序/公众号用户unionid是否相同? 答案是不同,第三方平台无法实现不同小程序/公众号之间用户unionid的打通,就是说同一个用户在第三方平台下的每个小程序/公众号内的unionid都是不同的。 4、第三方如何获取其代开发的小程序/公众号的用户unionid? 开发者通过创建开放平台帐号并绑定公众号/小程序API,可以创建一个开放平台帐号,并将一个尚未绑定开放平台帐号的公众号/小程序绑定至该开放平台帐号上。新创建的开放平台帐号的主体信息将设置为与之绑定的公众号或小程序的主体。 (第三方平台在获得微信开放平台帐号管理权限后,可以代替已授权的公众号/小程序创建开放平台帐号并进行绑定/解绑操作。) ①对于小程序,开发者可调用小程序接口 获取用户基本信息(wx.getUserInfo) 获得用户 UnionID ②对于公众号,开发者可调用 获取用户基本信息接口 获得用户 UnionID 注意: ①一个公众号/小程序帐号只可以绑定在一个开放平台帐号下。 ②授权第三方平台注册的开放平台帐号只可用于获取用户 unionid 实现用户身份打通,支持绑定同主体的公众号及小程序,不可独立登录。 ③第三方平台不可操作(包括绑定/解绑) 通过 open.weixin.qq.com 线上流程注册的开放平台帐号。 ④小程序只可将此权限集授权给一个第三方平台,即授权互斥。 5、如何将小程序/公众号绑定到开放平台上? 可以通过将公众号/小程序绑定到开放平台帐号下API将一个尚未绑定开放平台帐号的公众号或小程序绑定至指定开放平台帐号上。 注意:①该方法仅适用于开放平台账号是通过接口创建的;②只适用于绑定同主体的账号,且最多只能绑定5个 6、如何获取企业微信外部联系人unionid? 登录企业的管理后台-客户联系-客户-api,点击绑定去到微信公众平台进行授权,支持绑定公众号和小程序(需要同时绑定微信开放平台);绑定的公众号或小程序主体需与企业微信主体一致,暂且支持绑定一个 [图片] 通过此方法,可以实现在同一主体下的公众号、小程序、企业微信用户打通。 注意:第三方服务商若需要unionid,则只需要在服务商自身企业管理后台的客户联系-客户-api中关联微信开发者ID;第三方调用接口返回的unionid是该服务商所关联的微信开发者帐号的unionid。也就是说,同一个企业客户,企业自己调用,与第三方服务商调用,所返回的unionid不同;不同的服务商调用,所返回的unionid也不同
2021-11-01 - 小程序调起付款码相关疑问
小程序调起付款码【支持模式】该功能目前支持直连模式,间连模式只支持从业机构调用,不支持渠道商与机构子进行调用。 【业务交互图】 [图片] 一、开通小程序内拉起微信付款码,这个要走什么流程?解决方案:先找对应BD(服务每个公司对应的腾讯运营同事,如果没有该权限则不支持接入)先申请权限,然后会提供对应文档 二、小程序调起付款码报错“openOfflinePayView:fail”或者“签名错误”,该如何解决?解决方案: 1、 检查是否已经开通权限 (申请成功的邮件进行确认) 2、 检查商户号与小程序之间APPID的绑定关系 商户可登录商户平台,在【产品中心-APPID授权管理】中查看 3、 检查签名大小写 4、 检查是否为小程序的APPID 5、使用签名检查工具: https://pay.weixin.qq.com/wiki/doc/api/micropay.php?chapter=20_1)校验签名算法是否有误 6、 timeStamp类型是String,传入的是数值类型就会出错 7、检查KEY是否正确(别用错了其他商户号的KEY) 8、重置秘钥(支付key) 支付key的位置【账户中心-API安全-APIv2密钥-设置秘钥】 (优先,但是注意重置key对其他线上使用到key的业务是有影响的,这里需要业务量小时再去重置,然后替换所有使用到key的地方),替换重试
2022-07-20 - 复制任意微信小程序页面路径
以下以微信小程序“虎牙直播”为例,演示如何复制微信小程序页面的路径。 1.进入小程序的“关于虎牙直播”页面 [图片] 2.点击右上角的“…”进入“更多资料”页面 [图片] [图片] [图片] 3.复制AppID:wx74767bf0b684f7d3 4.进入小程序后台输入appid并搜索,然后点下一步 [图片] 5.鼠标移动到“获取更多页面路径”,在弹出窗口输入当前登陆的小程序的任意开发者微信号,然后点击开启,出现顶部的“开启入口成功”就可以使用手机访问“虎牙直播”任意页面进行复制了 [图片] 6.某个直播间的页面路径:pages/main/liveRoom/index.html?anchorUid=1678113423&source=search[图片] PS:复制出来的页面路径在小程序里使用的时候记得删除 .html 才能正常访问。
2020-01-16 - 如何在微信内外部浏览器唤起小程序
微信外部浏览器唤起微信小程序目的:通过发送短信召回流失用户。官方文档地址https://developers.weixin.qq.com/miniprogram/dev/api-backend/open-api/url-scheme/urlscheme.generate.html步骤一该API我们主要用到的配置如下:jump_wxa:跳转到的目标小程序信息。该对象内包含两个字段。path:通过scheme码进入的小程序页面路径,必须是已经发布的小程序存在的页面,不可携带queryquery:通过scheme码进入小程序时的query。步骤二需要注意的是,query必传,然而如果我们需要跳转的页面不需要参数,也需要配置上query,默认我们填写的是from=sms, 用于统计是从短信渠道来的。步骤三与后端约定access_token 通过前端传递appKey进行区分,传哪个微信小程序的appKey 就生成对应小程序的access_token。步骤四支持设置scheme的过期时间,默认永久,我们的应用场景很少,暂不详说。步骤五代码里操作如下,由后端聚合参数信息。let postData = { appKey: 'QTSHE_MINI_APP', path: 'pages/partdetails/partdetails', query: 'partJobId=123456' || 'a=1' } this.$axios.post('xxx', postData).then((res) => { if (res.success) { const url = res.data.openlink // 将scheme转为我们平台的短链接,否则在安卓手机上无法打开微信小程序,会默认打开浏览器搜索。 this.$axios.get(`xxx`, {url}).then((res) => { if (res.success) { this.shortLink = res.data // 将weixin://xxxx 转换为 https://b.qtshe.com/xxx } }) } else { this.$Message.error('获取失败,请稍后重试') } }).catch((err) => { console.log(err) this.$Message.error('获取失败,请稍后重试') }) 微信内部浏览器唤起小程序官方文档地址https://developers.weixin.qq.com/doc/offiaccount/OA_Web_Apps/Wechat_Open_Tag.html步骤一首先需要登录微信公众平台进入“公众号设置”的“功能设置”里填写“JS接口安全域名”,未配置会导致wx.config签名失败,导致无法使用开放标签。步骤二在需要调用JS接口的页面引入如下JS文件:https://res.wx.qq.com/open/js/jweixin-1.6.0.js,1.6.0版本内才增加了上述标签,低于该版本的都无法显示。步骤三通过config接口注入权限验证配置并申请所需开放标签, 在wx.config里增加openTagList标签,内置两个开放标签 [代码]wx-open-launch-app[代码] 微信h5唤起本地已经安装的app,以及 [代码]wx-open-launch-weapp[代码] 微信h5唤起小程序,操作如下:wx.config({ debug: false, appId: window.g_info.wx_appid, // 全局变量appId timestamp: data.data.timestamp, // 调用微信接口返回的 nonceStr: data.data.nonceStr, // 调用微信接口返回的 signature: data.data.signature, // 调用微信接口返回的 jsApiList: ['openLocation', 'getLocation'], // 这里需要任意填写api,不能为空 openTagList: [ 'wx-open-launch-app', 'wx-open-launch-weapp' ] }) 注意点对于Vue等视图框架,为了避免template标签冲突的问题,可使用[代码]<script type="text/wxtag-template"></script>[代码]进行代替,来包裹插槽模版和样式。页面中与布局和定位相关的样式,如[代码]position: fixed; top -100;[代码]等,尽量不要写在插槽模版的节点中,请声明在标签或其父节点上;对于有CSP要求的页面,需要添加白名单frame-src https://*.qq.com webcompt:,才能在页面中正常使用开放标签。// Vue里操作代码如下,如果需要写样式,最好是外部包一个div进行样式编写,内部的内容宽高100%即可,调试样式可使用微信开发者工具的网页模式: .quick-btn { // 这里写样式 width: 3.43rem; height: 0.96rem; display: flex; img { width: 100%; display: block; } } <div class="quick-btn"> <img src="https://qiniu-image.qtshe.com/20220317quick-apply.png" alt="" /> </div> 示例效果[图片] 为了方便运营同学,做了个工具给他们使用。 [图片] 2023年4.11号新版本后的改版方案: 首先做一个落地页:https://b.qtshe.com/1DF43E 代码如下: import toast from 'toast' export default { created() { this.init() }, methods: { // 获取微信scheme地址,并且主动跳转一次 init() { this.$axios.post(`https://xxx/你们的接口地址/user/device/scheme`, this.$route.query).then(res => { if (res.success) { window.location.href = res.data } else { toast(res.msg) } }).catch(() => { toast('服务器错误,请稍后重试') }) } } } 原理:通过地址栏配置需要跳转的参数,h5页面拿到参数后通过接口转换为weixin://xxxx 开头的scheme协议地址,并且主动location.href一次。这样能保证用户每次打开都是新的scheme地址,针对一天50w数量上限的问题,可尝试同一个用户在固定时间内相同的参数,返回相同的scheme地址。 以上限制只存在于除微信外的外部浏览器,微信容器里没有以上的限制。 2023年12月18日后方案: 官方公告如下: https://developers.weixin.qq.com/community/develop/doc/00024e32cbc36055c0c0a34b066401 ,没有外部浏览器、微信环境的限制,可以被多人打开。 使用方式通过明文拼接: weixin://dl/business/?appid=*APPID*&path=*PATH*&query=*QUERY*&env_version=*ENV_VERSION* 示例: // query需要encode编码,ENV_VERSION为控制打开开发版、体验版、线上版本 weixin://dl/business/?appid=wxa7b0b022472e55e6&path=pages/partdetails/partdetails&query=partJobId%3D123456 通过明文 URL Scheme 拉起的小程序(页面)必须要提前在「小程序管理后台 -> 设置 -> 隐私与安全 -> 明文 scheme 拉起此小程序」中进行声明; 小程序:配置能够通过明文 scheme 进入的小程序页面[图片] 这一点很烦很烦,希望能支持下 默认可打开所有的,不然每次都得去配置。
08-07 - 记录几种特殊场景进入小程序
一、小程序打开另一个小程序 navigator组件 和 wx.navigateToMiniProgram API 这个文档写的挺详细的就不多说了。 https://developers.weixin.qq.com/miniprogram/dev/component/navigator.html https://developers.weixin.qq.com/miniprogram/dev/api/navigate/wx.navigateToMiniProgram.html 二、扫描普通二维码打开小程序 1、二维码链接配置 首先配置普通二维码地址:小程序管理后台--开发管理--开发设置--扫普通链接二维码打开小程序,配置好二维码规则之后,使用符合规则的链接生成普通二维码,扫码就可进入对应页面。测试的时候需要把完整二维码地址添加到测试链接处保存配置,如果二维码链接符合规则但是没有配置到管理后台,扫码之后就会进入正式版对应页面。 2、二维码内容获取 在小程序后台配置二维码跳转小程序规则之后即可使用微信(6.5.6及其以上客户端版本)扫码打开小程序。二维码链接内容会以参数 q 的形式带给页面,在onLoad事件中提取 q 参数并自行 decodeURIComponent 一次,即可获取原二维码的完整内容。 Page({ onLoad(query) { const q = decodeURIComponent(query.q) // 获取到二维码原始链接内容 const scancode_time = parseInt(query.scancode_time) // 获取用户扫码时间 UNIX 时间戳 } }) 参考文档https://developers.weixin.qq.com/miniprogram/introduction/qrcode.html 三、服务号绑定“JS接口安全域名”下的网页跳转小程序 微信开放标签 wx-open-launch-weapp 注意:微信版本要求为:7.0.12及以上,系统版本要求为:iOS 10.3及以上、Android 5.0及以上 接收参数:在页面onLoad周期函数获取 a = options.a, b=options.b 参考文档https://developers.weixin.qq.com/doc/offiaccount/OA_Web_Apps/Wechat_Open_Tag.html#21 四、短信、邮件、外部网页、微信内等拉起小程序 1)无参数或者参数固定 打开小程序管理后台--右上角处工具--生成URL Scheme,按要求选择填写即可,复制生成的URL Scheme,如下示例: location.href = 'weixin://dl/business/?t= *TICKET*' 该跳转方法可以在用户打开 H5 时立即调用,也可以在用户触发事件后调用。 [图片] 也可通过调用服务端接口生成,感觉完全没必要那么麻烦,不推荐! 2)动态参数 通过调用服务端接口生成,文档https://developers.weixin.qq.com/miniprogram/dev/api-backend/open-api/url-scheme/urlscheme.generate.html根据文档调用就行,比较详细了。 请求示例: { "jump_wxa": { "path": "/pages/publishHomework/publishHomework", "query": "a=123&b=321" }, "is_expire":true, "expire_time":1606737600 } 这里主要说一下,接收参数,文档没看到,亲测:在页面onLoad周期函数获取 a = options.a, b=options.b URL scheme和URL Link(https://developers.weixin.qq.com/miniprogram/dev/OpenApiDoc/qrcode-link/url-link/generateUrlLink.html)使用基本差不多,就不单独记录了。 五、微信内拉起小程序(电商类目) 这个由于本人没有电商的账号没有亲自使用过,所以看文档吧.......先记录有这么个途径。 文档地址:https://developers.weixin.qq.com/miniprogram/dev/OpenApiDoc/qrcode-link/short-link/generateShortLink.html
2022-08-29 - 产品|有赞企助多码合一上线,一码搞定会员+客户+粉丝
你是否遇到这样的问题,店员在引导进店用户注册会员、关注公众号、添加企业微信时行动点割裂,效率低且推广难。管理员不能快速取数,导致成功无法复制,失败难以确定原因。 有赞企微助手,针对商家在以上场景引流获客时出现的多码难推广、效率低的痛点,上线了多码合一,即商家可根据自己实际经营场景,自定义招募会员、关注公众号、添加企业微信的流程顺序,三码合成一码,用户扫一码即可实现将用户转化为你的粉丝+会员+企微客户。推广简单,体验升级,数据清晰。 No.1:适用版本 微商城单店、零售单店、连锁D、连锁L、未绑定有赞商城店铺的企助商家。 No.2:场景描述 某服饰品牌Y商家,使用有赞企微助手-多码合一功能。 小吴逛龙湖天街,进入Y品牌龙湖门店,选了1件连衣裙,正迟疑价格有点贵,纠结是否要买时,店员丽丽说:「今天扫码注册会员,能送一张满 300 减 30 的券哦,叠加新品 9.5 折的活动,算下来,这条裙子非常划算。」 于是小吴扫码,依次成为企微客户、会员和粉丝。获得 30 元券后,小吴买了这条裙子。 小吴离店后,店员丽丽仍然可以免费、多次触达。 同时可以安排会员生日营销,公众号推广种草。 No.3:功能概述 在本次发布中,商家在「有赞企业微信助手」后台创建多码合一流程,可自定义招募会员、关注公众号、添加企业微信的流程顺序。 用户通过扫描店员专属码或公众号带参码,即可依次完成指定流程。完成后可获得商家设置的奖励。 No.4:操作详解 1.创建流程数量:不限数量。 2.给客户打标签:从此渠道进来的客户,将被自动打特定标签。 3.客户扫码后的流程顺序:自定义。 第一步至第三步,支持自定义流程;随着步骤下内容的不同,在不同的节点会展示不同的配置项。 [图片] No.5:产品亮点 先看下,上线前后,同一场景的流程对比: [图片] 亮点1:客户只要扫码 1 次,员工只要推广 1 次 三码的顺序是可根据具体运营场景自定义,下方举 2 个案例,便于更好理解。 举例1:店员引导注册 可设置流程为加企业微信好友,再注册会员,最后关注服务号,完成后发放 100 积分(或优惠券) 流程创建成功后,支持下载员工的专属码。C端客户扫码后流程如下: [图片] 举例2:收银时引导注册 可设置流程为先关注服务号,再注册会员,最后添加企业微信好友,完成后发放 10 元无门槛优惠券(或积分)。 流程创建成功后,支持下载带参公众号二维码。C端客户扫码后流程如下: [图片] 亮点2:数据清晰可视化 1.及时监控实时数据 支持实时查看今日及累计的「新增客户数」、「新增会员数」、「新增粉丝数」三者数据,帮助实时掌握流程新增情况。 计算各环节漏斗,及时发现关键卡点,迅速解决问题。 2.查询明细毫不费力 通过数据看员工的完成结果,做定制化的排行榜分析,匹配员工奖励机制等。 同时你还可以查询完成所有流程的客户,或打标签,做后续的跟进和运营。
2021-06-25 - 如何实现微信支付宝小程序二维码合一?
想实现一个二维码,微信App扫码和支付宝App扫码各自进入对应小程序。现在用httpA生成二维码,在httpA里做了重定向,判断设备来源,指向微信和支付宝小程序普通二维码解析出来的链接,目前支付宝小程序可以正常打开,微信的不行,想知道是官方有限制吗?还是有其他做法。
2020-12-12 - onShareAppMessage path参数,微信端接收不到?
在企业微信环境打开小程序,在onShareAppMessage事件里path路径后带了参数。 点击右上角...转发后,在微信端接收不到参数。
2021-08-25 - 企业微信第三方H5应用无法跳转到关联的小程序
基本情况 1.agentconfig 已配置完成。 2.跳转小程序的时候返回 not allow to cross corp。 疑问: 3.文档中 agentConfig中所填 agentid 对应应用,必须与要跳转的小程序应用同属于一个企业,否则会报错 “not allow to cross corp”。 这段话怎么理解,能否理解成:A企业了第三方的H5应用,agentConfig 中的agentid 如果对应 A企业(已认证),那是否需要跳转到的小程序主体也必须是 A企业(已认证) ,还是说跳转到的小程序只需要是关联到A企业微信的小程序即可。
2020-11-29 - 发送新客户欢迎语api中miniprogram.page参数能带query参数吗?
"page": "/path/index.html?query1=xxx&query2=xxx" 有字数限制等没?
2021-05-26