会员卡开卡表单模板配置(alipay.marketing.card.formtemplate.set)JAVA版本demo

简介: 官方接口文档:[url]https://docs.open.alipay.com/251/105668/[/url],我这里写的是开卡组件前两步的操作流程,仅供参考 1.调用接口前的准备工作(创建应用等)参考该文档:[url]https://docs.

官方接口文档:[url]https://docs.open.alipay.com/251/105668/[/url],我这里写的是开卡组件前两步的操作流程,仅供参考 

1.调用接口前的准备工作(创建应用等)参考该文档[url]https://docs.open.alipay.com/251/105731/[/url] 

2.核心代码,这里要说明一下,目前测试发现这个接口的model原型有问题,推荐使用拼接字符串或者使用我下面的这个代码来编写项目,后面这个会将其优化model 

示例代码

//会员卡开卡表单模板配置(alipay.marketing.card.formtemplate.set)     public  static void CardForm_templateSet(){         AlipayClient   alipayClient=alipayclient();         AlipayMarketingCardFormtemplateSetRequest request = new AlipayMarketingCardFormtemplateSetRequest();                      String templateId = "20180131000000000782698000300330";         JSONObject bizParams = new JSONObject();         bizParams.put("template_id", templateId);            ArrayList
  
  
    requiredFields = new ArrayList
   
   
    ();         requiredFields.add("OPEN_FORM_FIELD_NAME");         requiredFields.add("OPEN_FORM_FIELD_MOBILE");         requiredFields.add("OPEN_FORM_FIELD_IDCARD");         requiredFields.add("OPEN_FORM_FIELD_GENDER");             ArrayList
    
    
      optionalFields = new ArrayList
     
     
      ();         optionalFields.add("OPEN_FORM_FIELD_EMAIL");         optionalFields.add("OPEN_FORM_FIELD_BIRTHDAY");             JSONObject fields = new JSONObject();         JSONObject requiredField = new JSONObject();         requiredField.put("common_fields", requiredFields);            JSONObject optionalField = new JSONObject();         optionalField.put("common_fields", optionalFields);            fields.put("required", requiredField);         fields.put("optional", optionalField);         bizParams.put("fields", fields);             request.setBizContent(bizParams.toString());                      AlipayMarketingCardFormtemplateSetResponse 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_marketing_card_formtemplate_set_response":{"code":"10000","msg":"Success"},"sign":"PK9mGX8uy3xfwRKygPxPCuf62YQU5JrdY4yDSn5dRhRcjtcTlzm8Gzv1yhnNXOhyITDzY6O8+rwPpSUqrQXT3VvS6dkMvEnoXsT5uKefRKX9PuvwbttN5Vc7Me57aPX9dReiBji4HgBVMI22gcugZ8mBTuNIecYNAAxiVcZjUFQ="}

注意点: 
1.template_id为会员卡模板ID,【创建会员卡模板】将会返回该id 

然后开始操作第二步的流程,调用获取会员卡领卡投放链接(alipay.marketing.card.activateurl.apply),其核心代码 
注意点: 
1.template_id为会员卡模板ID,创建会员卡模板将会返回该id 
2.callback为会员卡领卡表单页面成功回调地址,此地址需要与应用配置的授权回调地址相同。(否则报错ERR010)
 
3.out_string参数由商户自定义设置,确认领卡成功后将作为url参数拼接在callback回调地址之后原样带回 
4.follow_app_id,需要关注的生活号AppId。若需要在领卡页面展示“关注生活号”提示,可设置此参数为待关注的生活AppId
 

获取会员卡领卡投放链接示例代码

//alipay.marketing.card.activateurl.apply(获取会员卡领卡投放链接)     public  static void CardActivateurl_Apply(){         AlipayClient   alipayClient=alipayclient();         AlipayMarketingCardActivateurlApplyRequest request = new AlipayMarketingCardActivateurlApplyRequest();         request.setBizContent("{" +         "\"template_id\":\"20180131000000000782698000300330\"," +         "\"out_string\":\"test_callback\"," +         "\"callback\":\"https://www.baidu.com\"," +         "\"follow_app_id\":\"2014100900013222\"" +         "  }");         AlipayMarketingCardActivateurlApplyResponse 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_marketing_card_activateurl_apply_response":{"code":"10000","msg":"Success","apply_card_url":"https%3A%2F%2Fmemberprod.alipay.com%2Faccount%2Fopenform%2Factivecard.htm%3Fapp_id%3D2014100900013222%26template_id%3D20180131000000000782698000300330%26__webview_options__%3DcanPullDown%253dNO%2526transparentTitle%253dauto%26out_string%3Dtest_callback%26follow_id%3D2014100900013222%26callback%3Dhttps%3A%2F%2Fwww.baidu.com"},"sign":"mcie0QYbGM8cs/9KXUtFHEqoG5j1+N9N2pAqMKigR2iWmtKHKAlc5HjutFqGEhJ/MN6gGOlqRv8xDYD9FDGqlDhtz80gKwU0AKfIaOMTURANmcL7YrGuymfatLTsoF14jkJf6NqPuoNleJZDY9kXQmHx7MBWlJY8EUPS+RRqnOk="}

将apply_card_url的值使用urldecode解码得到的值,使用二维码生成器生成,然后使用支付宝扫码可以预览到领卡界面,如果字段申请都得到通过的话,这些必填字段都会获取到的,如要修改信息,点击修改按钮即可 

目录
相关文章
|
3月前
|
安全 架构师 Java
Java LTS版本进化秀:从8到21的欢乐升级之旅
困惑于Java版本选择?轻松幽默地穿越Java LTS版本时光隧道,掌握从Java 8到21的关键特性。通过一家初创公司的系统升级故事,直观了解每个版本如何解决代码冗余、性能瓶颈等开发痛点,助你在技术选型中做出明智决策。
|
4月前
|
Cloud Native Java API
Java Spring框架技术栈选和最新版本及发展史详解(截至2025年8月)-优雅草卓伊凡
Java Spring框架技术栈选和最新版本及发展史详解(截至2025年8月)-优雅草卓伊凡
897 0
|
5月前
|
安全 Java API
Java 17 及以上版本核心特性在现代开发实践中的深度应用与高效实践方法 Java 开发实践
本项目以“学生成绩管理系统”为例,深入实践Java 17+核心特性与现代开发技术。采用Spring Boot 3.1、WebFlux、R2DBC等构建响应式应用,结合Record类、模式匹配、Stream优化等新特性提升代码质量。涵盖容器化部署(Docker)、自动化测试、性能优化及安全加固,全面展示Java最新技术在实际项目中的应用,助力开发者掌握现代化Java开发方法。
268 1
|
7月前
|
JavaScript Java 关系型数据库
家政系统源码,java版本
这是一款基于SpringBoot后端框架、MySQL数据库及Uniapp移动端开发的家政预约上门服务系统。
227 6
家政系统源码,java版本
|
10月前
|
JavaScript NoSQL Java
接替此文【下篇-服务端+后台管理】优雅草蜻蜓z系统JAVA版暗影版为例-【蜻蜓z系列通用】-2025年全新项目整合搭建方式-这是独立吃透代码以后首次改变-独立PC版本vue版搭建教程-优雅草卓伊凡
接替此文【下篇-服务端+后台管理】优雅草蜻蜓z系统JAVA版暗影版为例-【蜻蜓z系列通用】-2025年全新项目整合搭建方式-这是独立吃透代码以后首次改变-独立PC版本vue版搭建教程-优雅草卓伊凡
500 96
接替此文【下篇-服务端+后台管理】优雅草蜻蜓z系统JAVA版暗影版为例-【蜻蜓z系列通用】-2025年全新项目整合搭建方式-这是独立吃透代码以后首次改变-独立PC版本vue版搭建教程-优雅草卓伊凡
|
Java Linux Windows
如何查看已安装的 Java 版本
要查看已安装的 Java 版本,打开命令提示符或终端,输入 `java -version`,回车后即可显示当前系统中 Java 的版本信息。
4442 1
|
Ubuntu Java Linux
如何检查 Java 版本是否兼容
要检查Java版本是否兼容,可在命令行输入“java -version”查看当前安装的Java版本,然后对比目标应用所需的Java版本,确保其满足要求。
956 1
Java相关配置
Java相关配置
1377 0
|
2月前
|
JSON 网络协议 安全
【Java】(10)进程与线程的关系、Tread类;讲解基本线程安全、网络编程内容;JSON序列化与反序列化
几乎所有的操作系统都支持进程的概念,进程是处于运行过程中的程序,并且具有一定的独立功能,进程是系统进行资源分配和调度的一个独立单位一般而言,进程包含如下三个特征。独立性动态性并发性。
196 1
|
2月前
|
JSON 网络协议 安全
【Java基础】(1)进程与线程的关系、Tread类;讲解基本线程安全、网络编程内容;JSON序列化与反序列化
几乎所有的操作系统都支持进程的概念,进程是处于运行过程中的程序,并且具有一定的独立功能,进程是系统进行资源分配和调度的一个独立单位一般而言,进程包含如下三个特征。独立性动态性并发性。
218 1