说明:
目前商户咨询会员卡开卡接口、会员卡更新接口中的 valid_date(会员卡有效期)参数,调用开卡接口时,请求中传入了valid_date参数,到了设置的时间(注:可能存在一定的延时),会员卡会自动失效,从支付宝卡包跳转到失效卡中,从而达到会员卡不可用的效果。针对会员卡更新接口,修改了该参数,会员卡却不能正常失效的问题。
原因:
一般来说,有效期由会员卡开卡的时候确认,更新会员卡不能缩短有效期,如果业务上想将用户的卡设置为失效(用户不可见),建议调用【alipay.marketing.card.delete-会员卡删卡】接口删除会员卡,达到失效会员卡的效果。
失效会员卡样式(如下图)
会员卡删卡代码如下
/** * alipay.marketing.card.delete 会员卡删卡 * */ public static void alipayMarketingCardDelete() { AlipayClient alipayClient = AlipayAPIClientFactory.getAlipayClient(); AlipayMarketingCardDeleteRequest request = new AlipayMarketingCardDeleteRequest(); request.setBizContent("{" + //商户端删卡业务流水号(商户确保流水号唯一性) "\"out_serial_no\":\"2018013000001\"," + //支付宝业务卡号,开卡接口中返回获取 "\"target_card_no\":\"prex0000110600\"," + //卡号ID类型 BIZ_CARD:支付宝卡号 "\"target_card_no_type\":\"BIZ_CARD\"," + //删卡原因 //USER_UNBUND:用户解绑(可以重新绑定) //CANCEL:销户(完成销户后,就不能再重新绑定) //PRESENT:转赠(可以重新绑定) "\"reason_code\":\"USER_UNBUND\"," + //删卡扩展参数,json格式。 //用于商户的特定业务信息的传递,只有商户与支付宝约定了传递此参数且约定了参数含义,此参数才有效。 //目前支持如下key: new_card_no:新卡号 donee_user_id:受赠人userId "\"ext_info\":\"{\\\"new_card_no\\\":\\\"12345\\\",\\\" donee_user_id\\\":\\\"2088102130652460\\\"}\"" + " }"); AlipayMarketingCardDeleteResponse response; try { response = alipayClient.execute(request); if (response.isSuccess()) { System.out.println("调用成功"); System.out.println(response.getBody()); } else { System.out.println("调用失败"); System.out.println(response.getBody()); } } catch (AlipayApiException e) { // TODO Auto-generated catch block e.printStackTrace(); } }
如果大家还有什么疑问欢迎帖子下面跟帖追问吐槽
正确提问方式(方便判断问题):
使用环境(沙箱还是正式环境)+接口名称(中文+英文)+appid+请求时间+请求参数(提供&符号连接的格式)