Package com.foxinmy.weixin4j.mp.api
Class CardApi
- java.lang.Object
-
- com.foxinmy.weixin4j.api.BaseApi
-
- com.foxinmy.weixin4j.mp.api.MpApi
-
- com.foxinmy.weixin4j.mp.api.CardApi
-
-
Field Summary
Fields Modifier and Type Field Description protected TokenManager
tokenManager
-
Fields inherited from class com.foxinmy.weixin4j.api.BaseApi
weixinExecutor
-
-
Constructor Summary
Constructors Constructor Description CardApi(TokenManager tokenManager)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description ApiResult
activateMemberCard(MemberInitInfo memberInitInfo)
激活方式说明 接口激活通常需要开发者开发用户填写资料的网页。通常有两种激活流程: 1.String
addGiftCardPage(GiftCardPage page)
创建一个礼品卡货架String
addGiftCardPayWhitelist(String subMchId)
申请礼品卡的微信支付权限ApiResult
bindGiftCardPaySubMch(String wxaAppid, String subMchId)
绑定商户号到礼品卡小程序ApiResult
consumeGiftCard(String code, String cardId)
当礼品卡被使用完毕或者发生转存、绑定等操作后,开发者可以通过该接口核销用户的礼品卡,使礼品卡在列表中沉底并不再被使用。String
createCardCoupon(CardCoupon cardCoupon)
创建卡券:创建卡券接口是微信卡券的基础接口,用于创建一类新的卡券,获取card_id,创建成功并通过审核后, 商家可以通过文档提供的其他接口将卡券下发给用户,每次成功领取,库存数量相应扣除。 1.需自定义Code码的商家必须在创建卡券时候,设定use_custom_code为true,且在调用投放卡券接口时填入指定的Code码。 指定OpenID同理。特别注意:在公众平台创建的卡券均为非自定义Code类型。 2.can_share字段指领取卡券原生页面是否可分享,建议指定Code码、指定OpenID等强限制条件的卡券填写false。 3.创建成功后该卡券会自动提交审核 ,审核结果将通过事件通知商户。开发者可调用设置白名单接口设置用户白名单,领取未通过审核的卡券,测试整个卡券的使用流程。QRResult
createCardQR(Integer expireSeconds, CardQR... cardQRs)
创建卡券二维码: 开发者可调用该接口生成一张卡券二维码供用户扫码后添加卡券到卡包。com.alibaba.fastjson.JSONObject
getCardInfo(String cardId)
查询某个card_id的创建信息、审核状态以及库存数量。com.alibaba.fastjson.JSONObject
getGiftCardInfo(String code, String cardId)
开发者可以通过该接口查询到code对应的信息,如余额、有效期、订单号等,主要用于防止在交易完成后丢单的情况下,用于核销/余额变动时兜底处理。 注意:需在礼品卡核销前调用,否则会报40099 已核销的错误com.alibaba.fastjson.JSONObject
getGiftCardPage(String pageId)
查询礼品卡货架信息String[]
getGiftCardPageIdList()
查询当前商户下所有的礼品卡货架idMemberUserInfo
getMemberUserInfo(String cardId, String code)
拉取会员信息接口。com.alibaba.fastjson.JSONObject
getOrderInfo(String orderId)
查询某个订单号对应的订单详情com.alibaba.fastjson.JSONObject
getOrders(long beginTime, long endTime, String sortType, int offset, int limit)
批量查询礼品卡订单信息接口ApiResult
maintainAllGiftCardPage()
下架所有礼品卡货架ApiResult
maintainGiftCardPage(String pageId)
下架礼品卡货架ApiResult
orderRefund(String orderId)
对一笔礼品卡订单操作退款CardStatus
queryCardStatus(String cardId)
查看获取卡券的审核状态ApiResult
setActivateUserForm(MemberUserForm memberUserForm)
设置开卡字段接口 开发者在创建时填入wx_activate字段后, 需要调用该接口设置用户激活时需要填写的选项,否则一键开卡设置不生效。ApiResult
setCardPayCell(String cardId, boolean isOpen)
设置卡券买单:创建卡券之后,开发者可以通过设置微信买单接口设置该card_id支持微信买单功能。值得开发者注意的是, 设置买单的card_id必须已经配置了门店,否则会报错。ApiResult
setCardSelfConsumeCell(String cardId, boolean isOpen)
设置自助核销:创建卡券之后,开发者可以通过设置微信买单接口设置该card_id支持自助核销功能。值得开发者注意的是, 设置自助核销的card_id必须已经配置了门店,否则会报错。ApiResult
setGiftCardWxaCode(String wxaAppid, String pageId)
上传礼品卡小程序代码 (提供小程序APPID及货架ID,由微信平台为你小程序帐号上传一套现成的礼品卡小程序,直接用于礼品卡售卖)ApiResult
setTestWhiteList(List<String> openIds, List<String> userNames)
由于卡券有审核要求,为方便公众号调试,可以设置一些测试帐号,这些帐号可领取未通过审核的卡券,体验整个流程。 1.同时支持“openid”、“username”两种字段设置白名单,总数上限为10个。 2.设置测试白名单接口为全量设置,即测试名单发生变化时需调用该接口重新传入所有测试人员的ID.Boolean
updateCardCoupon(String cardId, CardCoupon card)
支持更新所有卡券类型的部分通用字段及特殊卡券(会员卡、飞机票、电影票、会议门票)中特定字段的信息。ApiResult
updateGiftCardPage(GiftCardPage page)
更新礼品卡货架com.alibaba.fastjson.JSONObject
updateGiftCardUserBalance(CardInfo cardInfo)
更新用户礼品卡信息 当礼品卡被使用后,可以通过该接口变更某个礼品卡的余额信息。com.alibaba.fastjson.JSONObject
updateMemberUserInfo(MemberUpdateInfo updateInfo)
更新会员 result_bonus 当前用户积分总额 result_balance 当前用户预存总金额 openid 用户openid-
Methods inherited from class com.foxinmy.weixin4j.mp.api.MpApi
weixinBundle
-
Methods inherited from class com.foxinmy.weixin4j.api.BaseApi
getRequestUri
-
-
-
-
Field Detail
-
tokenManager
protected final TokenManager tokenManager
-
-
Constructor Detail
-
CardApi
public CardApi(TokenManager tokenManager)
-
-
Method Detail
-
createCardCoupon
public String createCardCoupon(CardCoupon cardCoupon) throws WeixinException
创建卡券:创建卡券接口是微信卡券的基础接口,用于创建一类新的卡券,获取card_id,创建成功并通过审核后, 商家可以通过文档提供的其他接口将卡券下发给用户,每次成功领取,库存数量相应扣除。- 1.需自定义Code码的商家必须在创建卡券时候,设定use_custom_code为true,且在调用投放卡券接口时填入指定的Code码。 指定OpenID同理。特别注意:在公众平台创建的卡券均为非自定义Code类型。
- 2.can_share字段指领取卡券原生页面是否可分享,建议指定Code码、指定OpenID等强限制条件的卡券填写false。
- 3.创建成功后该卡券会自动提交审核 ,审核结果将通过事件通知商户。开发者可调用设置白名单接口设置用户白名单,领取未通过审核的卡券,测试整个卡券的使用流程。
- Parameters:
cardCoupon
- 卡券对象- Returns:
- 卡券ID
- Throws:
WeixinException
- See Also:
- 创建卡券,
CardCoupons
,MediaApi.uploadImage(java.io.InputStream, String)
-
setCardPayCell
public ApiResult setCardPayCell(String cardId, boolean isOpen) throws WeixinException
设置卡券买单:创建卡券之后,开发者可以通过设置微信买单接口设置该card_id支持微信买单功能。值得开发者注意的是, 设置买单的card_id必须已经配置了门店,否则会报错。- Parameters:
cardId
- 卡券IDisOpen
- 是否开启买单功能,填true/false- Returns:
- 操作结果
- Throws:
WeixinException
- See Also:
createCardCoupon(CardCoupon)
-
setCardSelfConsumeCell
public ApiResult setCardSelfConsumeCell(String cardId, boolean isOpen) throws WeixinException
设置自助核销:创建卡券之后,开发者可以通过设置微信买单接口设置该card_id支持自助核销功能。值得开发者注意的是, 设置自助核销的card_id必须已经配置了门店,否则会报错。- Parameters:
cardId
- 卡券IDisOpen
- 是否开启买单功能,填true/false- Returns:
- 操作结果
- Throws:
WeixinException
- See Also:
createCardCoupon(CardCoupon)
-
createCardQR
public QRResult createCardQR(Integer expireSeconds, CardQR... cardQRs) throws WeixinException
创建卡券二维码: 开发者可调用该接口生成一张卡券二维码供用户扫码后添加卡券到卡包。- Parameters:
expireSeconds
- 指定二维码的有效时间,范围是60 ~ 1800秒。不填默认为365天有效cardQRs
- 二维码参数:二维码领取单张卡券/多张卡券- Returns:
- 二维码结果对象
- Throws:
WeixinException
- See Also:
QRResult
,QRParameter
, 投放卡券
-
setTestWhiteList
public ApiResult setTestWhiteList(List<String> openIds, List<String> userNames) throws WeixinException
由于卡券有审核要求,为方便公众号调试,可以设置一些测试帐号,这些帐号可领取未通过审核的卡券,体验整个流程。 1.同时支持“openid”、“username”两种字段设置白名单,总数上限为10个。 2.设置测试白名单接口为全量设置,即测试名单发生变化时需调用该接口重新传入所有测试人员的ID. 3.白名单用户领取该卡券时将无视卡券失效状态,请开发者注意。- Parameters:
openIds
- the open idsuserNames
- the user names- Throws:
WeixinException
- Since:
- 2016 -12-20 11:22:57
- See Also:
- 设置测试白名单 a >
-
queryCardStatus
public CardStatus queryCardStatus(String cardId) throws WeixinException
查看获取卡券的审核状态- Throws:
WeixinException
- Since:
- 2016 -12-20 11:48:23
- See Also:
- 查看卡券详情
-
getCardInfo
public com.alibaba.fastjson.JSONObject getCardInfo(String cardId) throws WeixinException
查询某个card_id的创建信息、审核状态以及库存数量。- Parameters:
cardId
-- Returns:
- Throws:
WeixinException
-
updateCardCoupon
public Boolean updateCardCoupon(String cardId, CardCoupon card) throws WeixinException
支持更新所有卡券类型的部分通用字段及特殊卡券(会员卡、飞机票、电影票、会议门票)中特定字段的信息。- Parameters:
cardId
- the card idcard
- the card- Returns:
- 是否提交审核,false为修改后不会重新提审,true为修改字段后重新提审,该卡券的状态变为审核中
- Throws:
WeixinException
- the weixin exception- Since:
- 2016 -12-21 15:29:10
-
activateMemberCard
public ApiResult activateMemberCard(MemberInitInfo memberInitInfo) throws WeixinException
激活方式说明 接口激活通常需要开发者开发用户填写资料的网页。通常有两种激活流程: 1. 用户必须在填写资料后才能领卡,领卡后开发者调用激活接口为用户激活会员卡; 2. 是用户可以先领取会员卡,点击激活会员卡跳转至开发者设置的资料填写页面,填写完成后开发者调用激活接口为用户激活会员卡。- Throws:
WeixinException
- See Also:
- 接口激活 a >
-
setActivateUserForm
public ApiResult setActivateUserForm(MemberUserForm memberUserForm) throws WeixinException
设置开卡字段接口 开发者在创建时填入wx_activate字段后, 需要调用该接口设置用户激活时需要填写的选项,否则一键开卡设置不生效。- Throws:
WeixinException
- See Also:
- 一键激活 a >
-
getMemberUserInfo
public MemberUserInfo getMemberUserInfo(String cardId, String code) throws WeixinException
拉取会员信息接口。- Parameters:
cardId
- the card idcode
- the code- Throws:
WeixinException
- Since:
- 2016 -12-21 11:28:45
-
updateMemberUserInfo
public com.alibaba.fastjson.JSONObject updateMemberUserInfo(MemberUpdateInfo updateInfo) throws WeixinException
更新会员 result_bonus 当前用户积分总额 result_balance 当前用户预存总金额 openid 用户openid- Parameters:
updateInfo
-- Returns:
- Throws:
WeixinException
-
addGiftCardPage
public String addGiftCardPage(GiftCardPage page) throws WeixinException
创建一个礼品卡货架- Parameters:
page
-- Returns:
- 货架ID
- Throws:
WeixinException
-
getGiftCardPage
public com.alibaba.fastjson.JSONObject getGiftCardPage(String pageId) throws WeixinException
查询礼品卡货架信息- Parameters:
pageId
- 货架ID- Returns:
- Throws:
WeixinException
-
getGiftCardPageIdList
public String[] getGiftCardPageIdList() throws WeixinException
查询当前商户下所有的礼品卡货架id- Returns:
- Throws:
WeixinException
-
maintainGiftCardPage
public ApiResult maintainGiftCardPage(String pageId) throws WeixinException
下架礼品卡货架- Parameters:
pageId
- 礼品卡货架ID- Returns:
- Throws:
WeixinException
-
maintainAllGiftCardPage
public ApiResult maintainAllGiftCardPage() throws WeixinException
下架所有礼品卡货架- Returns:
- Throws:
WeixinException
-
getOrderInfo
public com.alibaba.fastjson.JSONObject getOrderInfo(String orderId) throws WeixinException
查询某个订单号对应的订单详情- Parameters:
orderId
- 礼品卡订单号,商户可以通过购买成功的事件推送或者批量查询订单接口获得- Returns:
- Throws:
WeixinException
-
getOrders
public com.alibaba.fastjson.JSONObject getOrders(long beginTime, long endTime, String sortType, int offset, int limit) throws WeixinException
批量查询礼品卡订单信息接口- Parameters:
beginTime
- 查询的时间起点,十位时间戳(utc+8)endTime
- 查询的时间终点,十位时间戳(utc+8)sortType
- 填"ASC" / "DESC",表示对订单创建时间进行“升 / 降”排序offset
- 查询的订单偏移量,如填写100则表示从第100个订单开始拉取limit
- 查询订单的数量,如offset填写100,count填写10,则表示查询第100个到第110个订单- Returns:
- Throws:
WeixinException
-
updateGiftCardPage
public ApiResult updateGiftCardPage(GiftCardPage page) throws WeixinException
更新礼品卡货架- Parameters:
page
-- Returns:
- Throws:
WeixinException
-
addGiftCardPayWhitelist
public String addGiftCardPayWhitelist(String subMchId) throws WeixinException
申请礼品卡的微信支付权限- Parameters:
subMchId
- 微信支付子商户号,须为普通服务商模式或者直连商户号,建议为礼品卡专用商户号;商户号必须为公众号申请的商户号 公众号须与商户号同主体,非同主体情况须和对接人联系申请- Returns:
- 商户平台确认地址,请获得后点击打开登录商户平台后台并点击确认
- Throws:
WeixinException
-
bindGiftCardPaySubMch
public ApiResult bindGiftCardPaySubMch(String wxaAppid, String subMchId) throws WeixinException
绑定商户号到礼品卡小程序- Parameters:
wxaAppid
- 礼品卡小程序APPIDsubMchId
- 微信支付商户号- Returns:
- Throws:
WeixinException
-
setGiftCardWxaCode
public ApiResult setGiftCardWxaCode(String wxaAppid, String pageId) throws WeixinException
上传礼品卡小程序代码 (提供小程序APPID及货架ID,由微信平台为你小程序帐号上传一套现成的礼品卡小程序,直接用于礼品卡售卖)- Parameters:
wxaAppid
- 微信小程序APPIDpageId
- 礼品卡货架ID- Returns:
- Throws:
WeixinException
-
updateGiftCardUserBalance
public com.alibaba.fastjson.JSONObject updateGiftCardUserBalance(CardInfo cardInfo) throws WeixinException
更新用户礼品卡信息 当礼品卡被使用后,可以通过该接口变更某个礼品卡的余额信息。- Parameters:
cardInfo
-- Returns:
- Throws:
WeixinException
-
consumeGiftCard
public ApiResult consumeGiftCard(String code, String cardId) throws WeixinException
当礼品卡被使用完毕或者发生转存、绑定等操作后,开发者可以通过该接口核销用户的礼品卡,使礼品卡在列表中沉底并不再被使用。- Parameters:
code
- 卡券Code码。cardId
- 卡券ID,自定义code卡券必填,否则非必填。- Returns:
- Throws:
WeixinException
-
getGiftCardInfo
public com.alibaba.fastjson.JSONObject getGiftCardInfo(String code, String cardId) throws WeixinException
开发者可以通过该接口查询到code对应的信息,如余额、有效期、订单号等,主要用于防止在交易完成后丢单的情况下,用于核销/余额变动时兜底处理。 注意:需在礼品卡核销前调用,否则会报40099 已核销的错误- Parameters:
code
- 卡券Code码cardId
- 卡券ID,自定义code卡券必填,否则非必填。- Returns:
- Throws:
WeixinException
-
orderRefund
public ApiResult orderRefund(String orderId) throws WeixinException
对一笔礼品卡订单操作退款- Parameters:
orderId
- 订单ID- Returns:
- Throws:
WeixinException
-
-