更新卡券接口(alipay.pass.instance.update)JAVA版本小样

简介: 官方接口文档:https://docs.open.alipay.com/199/105250/ 发放卡券接口参考该贴:https://openclub.alipay.com/read.php?tid=2193&fid=8 使用场景介绍对于已经发布的卡券,商户可通过此接口进行更新,更新卡券接口包含三大主要功能:核销卡券、失效卡券、更新卡券样式内容 核销卡券功能 核销卡券主要描述开发者如何将发放出去的卡券进行核销,使卡券在用户的支付宝客户端展示为已使用状态。

官方接口文档:https://docs.open.alipay.com/199/105250/ 

发放卡券接口参考该贴:https://openclub.alipay.com/read.php?tid=2193&fid=8 

使用场景介绍

对于已经发布的卡券,商户可通过此接口进行更新,更新卡券接口包含三大主要功能:核销卡券、失效卡券、更新卡券样式内容 

核销卡券功能 

核销卡券主要描述开发者如何将发放出去的卡券进行核销,使卡券在用户的支付宝客户端展示为已使用状态。对于支付宝卡券而言,核销操作只是将卡券状态变更为USED(已使用),用户客户端展示为已使用状态,未涉及资金流的核销。仅支持核销有效状态的卡券,若卡券处于卡券删除或者已转赠,不可进行核销操作 

失效卡券功能 

失效卡券主要描述开发者如何将发放出去的卡券进行作废,让卡券在用户的支付宝客户端消失的过程 

更新卡券功能 更新卡券样式内容,包括内容、logo、背景图、样式等(要支持更新,必须在模板中将对应字段设置成可变参数) 

其核心代码如下:

//更新卡券接口(alipay.pass.instance.update)
public static void alipaypassinstanceupdate(){
    AlipayClient   alipayClient=alipayclient();
    AlipayPassInstanceUpdateRequest request = new AlipayPassInstanceUpdateRequest();
         request.setBizContent(
                    "{\"status\":\"USED\","
                    //channl_id取发放卡券时候设置的值 
                    + "\"channel_id\":\"2014100900013222\","
                    //serial_number取发放成功的卡券的值
                    + "\"serial_number\":\"xm4333673662423559_lw_006\","
                    + "\"tpl_params\":"
                    + "{"
                    + "\"validStartDate\":\"2017-08-28 08:00:00\","
                    + "\"validEndDate\":\"2024-08-09 20:00:00\","
                    + "\"channelID\":\"2014100900013222\","
                    + "\"discountInfo\":\"凭此券即可打0.5折\","
                    + "\"code\":\"201607232562587i\","
                    + "\"useStateDesc\":\"不可使用\","
                    + "\"logoText\":\"2017年七夕8月28日优惠券\","
                    + "\"serialNumber\":\"xm4333673662423559_lw_006\"},"
        
                    +"\"verify_code\":\"201607232562587i\","
                    +"\"verify_type\":\"barcode\""
                    + "}");
         AlipayPassInstanceUpdateResponse response=null;
        try {
            response = alipayClient.execute(request);
            System.out.println(response.getBody());
         } catch (AlipayApiException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
         }
         if(response.isSuccess()){
         System.out.println("调用成功");
         } else {
         System.out.println("调用失败");
         }

然后同步返回信息如下:

{"alipay_pass_instance_update_response":{"code":"10000","msg":"Success","result":"{"operate":"UPDATE","serialNumber":"xm4333673662423559_lw_006"}","success":true},"sign":"AKSe17jNvsZAC2SPv3kwrApJfOXTgAzZ628jBuumLSVrF3g424BYCMx9aGqI+mzDphH7DnmTTR/39sVDeLZD8buaXl3h6VBkcdq3LAqY7K2JK60Nk7t0tTNz1tXAL1xflaq8P0t1K3k81EuVXGbyiMxRHg0Q2yZ3koOOXcnnNOY="}

注意点: 

1.channl_id取发放卡券时候设置的值

2.serial_number取发放成功的卡券的值

3.当status传值为USED后更新卡券,会在对应的支付宝的失效卡券里面看到,也就是上面说的核销卡券功能 

4.当status传值为CLOSED后更新卡券,支付宝对应的卡券包会消失对应的卡券,也就是上面说的失效卡券功能 

5.更新卡券功能参考对应的参数文档示例(在发放卡券接口示例,完成卡券发放的基础上,调用更新卡券接口(更新优惠描述信息和logoText),对卡券进行更新):https://docs.open.alipay.com/199/105249/ 

调用接口后对应的效果图如下: 


目录
相关文章
|
1天前
|
Java
Java接口中可以定义哪些方法?
【4月更文挑战第13天】
4 0
Java接口中可以定义哪些方法?
|
2天前
|
Oracle Java 关系型数据库
Java 开发者必备:JDK 版本详解与选择策略(含安装与验证)
Oracle Java SE 支持路线图显示,JDK 8(LTS)支持至2030年,非LTS版本如9-11每6个月发布且支持有限。JDK 11(LTS)支持至2032年,而JDK 17及以上版本现在提供免费商用许可。LTS版本提供长达8年的支持,每2年发布一次。Oracle JDK与OpenJDK有多个社区和公司构建版本,如Adoptium、Amazon Corretto和Azul Zulu,它们在许可证、商业支持和更新方面有所不同。个人选择JDK时,可考虑稳定性、LTS、第三方兼容性和提供商支持。
6 0
|
3天前
|
设计模式 Java
Java接口与抽象类
Java接口与抽象类
15 0
|
7天前
|
安全 Java 编译器
接口之美,内部之妙:深入解析Java的接口与内部类
接口之美,内部之妙:深入解析Java的接口与内部类
25 0
接口之美,内部之妙:深入解析Java的接口与内部类
|
9天前
|
存储 Java
java接口和内部类
java接口和内部类
|
11天前
|
缓存 安全 Java
Java中函数式接口详解
Java 8引入函数式接口,支持函数式编程。这些接口有单一抽象方法,可与Lambda表达式结合,简化代码。常见函数式接口包括:`Function<T, R>`用于转换操作,`Predicate<T>`用于布尔判断,`Consumer<T>`用于消费输入,`Supplier<T>`用于无参生成结果。开发者也可自定义函数式接口。Lambda表达式使实现接口更简洁。注意异常处理和线程安全。函数式接口广泛应用于集合操作、并行编程和事件处理。提升代码可读性和效率,是现代Java开发的重要工具。
26 0
|
11天前
|
Java 关系型数据库 MySQL
大厂面试题详解:Java抽象类与接口的概念及区别
字节跳动大厂面试题详解:Java抽象类与接口的概念及区别
33 0
|
11天前
|
Java
Java中的多线程实现:使用Thread类与Runnable接口
【4月更文挑战第8天】本文将详细介绍Java中实现多线程的两种方法:使用Thread类和实现Runnable接口。我们将通过实例代码展示如何创建和管理线程,以及如何处理线程同步问题。最后,我们将比较这两种方法的优缺点,以帮助读者在实际开发中选择合适的多线程实现方式。
19 4
|
Java Android开发
java版本的RtpStream
java版本的RtpStream
67 0
|
Java Android开发
java版本的RtpStream
java版本的RtpStream
144 0