浅析微信支付:商户平台代金券或立减优惠开通、指定用户代金券发放、查询等

本文详细介绍了微信支付中的代金券功能,包括如何开通、发放代金券,以及查询代金券信息。同时讲解了立减优惠的设置和使用,无需用户领取,直接在支付时扣减。提供了接口调用示例,帮助商户实现营销优惠措施。
摘要由CSDN通过智能技术生成

本文是【浅析微信支付】系列文章的第十四篇,主要讲解在如何开通商户平台的代金券或立减优惠功能,商家向指定用户发送代金券,查询发送记录,代金券信息等。


浅析微信支付系列已经更新十四篇了哟~,没有看过的朋友们可以看一下哦。

浅析微信支付:商户平台开通现金红包、指定用户发放、红包记录查询

浅析微信支付:(余额提现)企业付款到微信用户零钱或银行卡账户

浅析微信支付:支付验收示例和验收指引

浅析微信支付:如何使用沙箱环境测试

首先我们需要了解一下什么是代金券和立减优惠?

代金券是微信支付为商家提供的一个营销工具,他的主要功能可以简单理解为商家的满减券,比如常见的“满十减一”、“满x减x”这类,需要用户主动领取或者平台主动为用户发放,核销时会在微信支付调起界面显示优惠券信息。

立减优惠是微信支付为商家提供的另一种自主核销优惠,为何叫自主核销?因为此优惠是一个门槛,不需要用户领取,商家设置一个用户群里,比如全员优惠“满十减一”,那么所有人都可以享受这个优惠,直接在购买商品时自动扣减金额。

以上为简单的解释,下面我会结合官方文档来解释这两个优惠方式。

代金券

微信支付代金券业务是基于微信支付,为了协助商户方便地实现营销优惠措施。针对部分有开发能力的商户,微信支付提供通过API接口实现运营代金券的功能

官方文档地址:

https://pay.weixin.qq.com/wiki/doc/api/tools/sp_coupon.php?chapter=12_2&index=2

首先,这里我们讲接口发放代金券的方式,下面是代金券的三个接口:
代金券接口介绍

操作代金券开通和如何手动创建的官方文档如下:

https://pay.weixin.qq.com/wiki/doc/api/tools/sp_coupon.php?chapter=12_7&index=3

这里说一下重点需要注意的地方,首先,代金券分为单品券和全场券,简单理解:

  1. 单品券:指定某几个商品ID的商品可以使用的代金券
  2. 全场券:所有商品都可以使用的代金券

PS:通过高级接口发放的代金券不能插入卡包,并且用户是没有感知的,这是一个缺点,大家一定要记住。

微信支付的代金券核销时都是在微信的确认支付窗口,如果有多个代金券,可以选择或者合并代金券支付,支付后在支付通知中会显示记录代金券使用的记录。

还需要注意一点,单品代金券核销时需要验证商品ID,这个商品ID在预支付单单品优惠活动detail字段传入,json格式必填参数,字段中goods_id就是我们在商户后台创建代金券时填入的商品ID,具体的代码可以看我的统一下单接口文章和GitHub源码。

浅析微信支付:统一下单接口

show me the code:

/**
 * [单品优惠券] - 根据订单VO拼接统一下单需要的 detail 参数,此参数用于[单品优惠券]时自动抵扣 <br>
 * 统一下单API(支持单品优惠参数) - 享受了单品优惠的订单不支持部分退款,对账单与普通支付保持一致 <br>
 * 接口地址:https://pay.weixin.qq.com/wiki/doc/api/danpin.php?chapter=9_102&index=2
 * @param orderList 订单list
 * 
/** * 微信支付帮助库 * ==================================================== * 接口分三种类型: * 【请求型接口】--Wxpay_client_ * 统一支付接口类--UnifiedOrder * 订单查询接口--OrderQuery * 退款申请接口--Refund * 退款查询接口--RefundQuery * 对账单接口--DownloadBill * 短链接转换接口--ShortUrl * 【响应型接口】--Wxpay_server_ * 通用通知接口--Notify * Native支付——请求商家获取商品信息接口--NativeCall * 【其他】 * 静态链接二维码--NativeLink * JSAPI支付--JsApi * ===================================================== * 【CommonUtil】常用工具: * trimString(),设置参数时需要用到的字符处理函数 * createNoncestr(),产生随机字符串,不长于32位 * formatBizQueryParaMap(),格式化参数,签名过程需要用到 * getSign(),生成签名 * arrayToXml(),array转xml * xmlToArray(),xml转 array * postXmlCurl(),以post方式提交xml到对应的接口url * postXmlSSLCurl(),使用证书,以post方式提交xml到对应的接口url */ include_once("SDKRuntimeException.php"); include_once("WxPay.pub.config.php"); /** * 所有接口的基类 */ class Common_util_pub { function __construct() { } function trimString($value) { $ret = null; if (null != $value) { $ret = $value; if (strlen($ret) == 0) { $ret = null; } } return $ret; } /** * 作用:产生随机字符串,不长于32位 */ public function createNoncestr( $length = 32 ) { $chars = "abcdefghijklmnopqrstuvwxyz0123456789"; $str =""; for ( $i = 0; $i $v) { if($urlencode) { $v = urlencode($v); } //$buff .= strtolower($k) . "=" . $v . "&"; $buff .= $k . "=" . $v . "&"; } $reqPar; if (strlen($buff) > 0) { $reqPar = substr($buff, 0, strlen($buff)-1); } return $reqPar; } /** * 作用:生成签名 */ public function getSign($Obj) { foreach ($Obj as $k => $v) { $Parameters[$k] = $v; } //签名步骤一:按字典序排序参数 ksort($Parameters); $String = $this->formatBizQueryParaMap($Parameters, false)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值