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

简介: 使用场景介绍对于已经发布的卡券,商户可通过此接口进行更新,更新卡券接口包含三大主要功能:核销卡券、失效卡券、更新卡券样式内容 核销卡券功能 核销卡券主要描述开发者如何将发放出去的卡券进行核销,使卡券在用户的支付宝客户端展示为已使用状态。

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

使用场景介绍

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

核销卡券功能 

核销卡券主要描述开发者如何将发放出去的卡券进行核销,使卡券在用户的支付宝客户端展示为已使用状态。对于支付宝卡券而言,核销操作只是将卡券状态变更为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/ 

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


目录
相关文章
|
26天前
|
JSON Java Apache
非常实用的Http应用框架,杜绝Java Http 接口对接繁琐编程
UniHttp 是一个声明式的 HTTP 接口对接框架,帮助开发者快速对接第三方 HTTP 接口。通过 @HttpApi 注解定义接口,使用 @GetHttpInterface 和 @PostHttpInterface 等注解配置请求方法和参数。支持自定义代理逻辑、全局请求参数、错误处理和连接池配置,提高代码的内聚性和可读性。
102 3
|
17天前
|
Java
在Java中,接口之间可以继承吗?
接口继承是一种重要的机制,它允许一个接口从另一个或多个接口继承方法和常量。
55 1
|
27天前
|
Java
java线程接口
Thread的构造方法创建对象的时候传入了Runnable接口的对象 ,Runnable接口对象重写run方法相当于指定线程任务,创建线程的时候绑定了该线程对象要干的任务。 Runnable的对象称之为:线程任务对象 不是线程对象 必须要交给Thread线程对象。 通过Thread的构造方法, 就可以把任务对象Runnable,绑定到Thread对象中, 将来执行start方法,就会自动执行Runable实现类对象中的run里面的内容。
39 1
|
1月前
|
Java 开发者
在Java多线程编程的世界里,Lock接口正逐渐成为高手们的首选,取代了传统的synchronized关键字
在Java多线程编程的世界里,Lock接口正逐渐成为高手们的首选,取代了传统的synchronized关键字
44 4
|
1月前
|
Java
Java基础(13)抽象类、接口
本文介绍了Java面向对象编程中的抽象类和接口两个核心概念。抽象类不能被实例化,通常用于定义子类的通用方法和属性;接口则是完全抽象的类,允许声明一组方法但不实现它们。文章通过代码示例详细解析了抽象类和接口的定义及实现,并讨论了它们的区别和使用场景。
|
5月前
|
Java API 开发者
Java版本对比:特性、升级改动与优势分析
Java版本对比:特性、升级改动与优势分析
99 0
|
存储 Java 程序员
Java 17 版本的新特性
Java 17 版本的新特性
372 0
|
算法 JavaScript 安全
Java 各个版本的特性一览
Java 各个版本的特性一览
650 0
|
Java 索引
Java最近版本新特性使用介绍
                                               本文来自http://blog.
804 0
|
21天前
|
Java 开发者
Java多线程编程中的常见误区与最佳实践####
本文深入剖析了Java多线程编程中开发者常遇到的几个典型误区,如对`start()`与`run()`方法的混淆使用、忽视线程安全问题、错误处理未同步的共享变量等,并针对这些问题提出了具体的解决方案和最佳实践。通过实例代码对比,直观展示了正确与错误的实现方式,旨在帮助读者构建更加健壮、高效的多线程应用程序。 ####