支付宝卡包——发放卡劵(alipay.pass.instance.add)

简介: 接口名称:支付宝pass新建卡券实例接口英文名称:alipay.pass.instance.add上一步:[url]https://openclub.alipay.com/read.php?tid=13240&fid=72[/url]下一步:[url]https://openclub.alipay.com/read.php?tid=13243&fid=72[/url]一、注意事项该接口用于将卡劵发放到用户卡包内。

接口名称:支付宝pass新建卡券实例接口

英文名称:alipay.pass.instance.add

上一步:[url]https://openclub.alipay.com/read.php?tid=13240&fid=72[/url]

下一步:[url]https://openclub.alipay.com/read.php?tid=13243&fid=72[/url]

一、注意事项

该接口用于将卡劵发放到用户卡包内。

recognition_info中的out_trade_no参数值为支付接口中,交易成功的out_trade_no参数值。

即使交易进行退款等操作,只有交易成功后,可以根据该参数值进行发放卡劵。

二、参数说明

1、recognition_type:设置固定参数值为“1”——订单信息;

2、tpl_id:卡劵模版ID,为模板创建接口返回的tpl_id参数值;

3、recognition_info:

(1)partner_id:out_trade_no对应的签约商户pid(与调用接口对应的pid可以不一致);

(2)out_trade_no:必须是交易成功的外部交易号(交易失败或交易关闭无法发劵);

4、tpl_params:为模板创建接口返回的tpl_params参数信息——自定义参数;

(1)code:支付宝卡劵的外部显示卡号;

(2)serialNumber:支付宝有唯一性校验,每次请求请保证唯一性,不要重复 ;

(3)channelID:可设置为APPID(从创建应用处获取)或者pid ,(与调用接口的appid不是同一个账户,不会影响使用,只与卡劵更新接口的channelID参数有关);

三、接口请求示例

Java版本请求示例

public static void main(String[] args) throws AlipayApiException {
 	   AlipayClient alipayClient = new DefaultAlipayClient(AlipayConfig.gatewayUrl, AlipayConfig.app_id, AlipayConfig.merchant_private_key, AlipayConfig.format, AlipayConfig.charset, AlipayConfig.alipay_public_key, AlipayConfig.sign_type); 
       AlipayPassInstanceAddRequest request = new AlipayPassInstanceAddRequest();
//     自定义参数
       request.setBizContent(
            //该值固定为1–订单信息
            "{"recognition_type":"1","
            //创建卡券模板接口返回的tpl_id
            + ""tpl_id":"2019013016274826850929194","
            + ""recognition_info":{"partner_id":"2088102180198585","
            //partner_id必须是交易创建的外部订单号对应的商户pid,可以与调用接口的pid不一致
            //此时我设置的2088102180198585是我卖家沙箱账户。
            //必须是交易创建的外部订单号
            + ""out_trade_no":"sao2018816105156165"},"
            //模版动态参数信息
            + ""tpl_params":"
            + "{"
            + ""validStartDate":"2018-06-28 11:55:42","
            + ""validEndDate":"2020-06-01 11:55:42","
            + ""secondLogoText":"我是副标题","
            //channelID和调用接口的appid不是同一个账户,不会影响使用,只与更新接口的channelID参数有关
            + ""channelID":"2016101800718925","
            + ""discountInfo":"凭此券即可打0.5","
            //支付宝卡包的劵码,是更新接口的verify_code参数值,建议实时更新
            + ""code":"2016072325625921","
            + ""useStateDesc":"可使用","
            + ""logoText":"2018年支付宝卡包测试-优惠劵","
            //支付宝有唯一性校验,每次请求请保证唯一性,不要重复 
            + ""serialNumber":"20170809147614221"}}");
         AlipayPassInstanceAddResponse 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_add_response":{"code":"10000","msg":"Success","result":"{"operate":"ADD","serialNumber":"20170809147614221","passId":"93434757086","errorCode":"SUCCESS","errorMsg":"处理成功"}","success":true},"sign":"Y3USnGyTWvdfoJ5j9mqL0N54yCjhx91HsPQg0eg9XEjxJ++TqQeKHBxTVQbQ7K6qWRUKMv4eka6eUWsW5xdJuLHaUI3lVFIfmH1EZZqgWhpAsVGB8EGusF9WUM5UOOxc/r6tjZe3cwijr//M3X8URsi1deTWRzlaipka8m6gT8iEANGvNb7YTlkIQlGzlvjQLurnwMyVfuY4qnU7vQV8Vtx/2VHoI7ZJBLVL4nE7fta/7JMGH+74R+UzWNzsWHdAO3kDqFe/EJECrQuKGHG+CgZJLvSjGQGB+i6xbhJIMD6HaZkN8NysyH1bTVxeesSctkQUhIYEeWhcIqMOb5dxJA=="}


PHP版本请求示例

<?php
require_once 'AopSdk.php';
$aop = new AopClient ();
$aop->appId = '填写您的appid';
$aop->rsaPrivateKey = '填写您的私钥';
$aop->alipayrsaPublicKey='填写您的支付宝公钥';
$aop->gatewayUrl = 'https://openapi.alipay.com/gateway.do';
$aop->apiVersion = '1.0';
$aop->signType = 'RSA2';
$aop->postCharset='utf-8';
$aop->format='json';
$date=date("YmdHis");
$arr=range(1000,9999);
shuffle($arr);
$request = new AlipayPassInstanceAddRequest ();
$request->setBizContent(
//该值固定为1–订单信息
            "{"recognition_type":"1","
            //创建卡券模板接口返回的tpl_id
            . ""tpl_id":"2019022209351735229484926","
            . ""recognition_info":{"partner_id":"2088102180198585","
            //partner_id必须是交易创建的外部订单号对应的商户pid,可以与调用接口的pid不一致
            //此时我设置的2088102180198585是我卖家沙箱账户。
            //必须是交易创建的外部订单号
            . ""out_trade_no":"sao2018816105156165"},"
            //模版动态参数信息
            . ""tpl_params":"
            . "{"
            . ""validStartDate":"2018-06-28 11:55:42","
            . ""validEndDate":"2020-06-01 11:55:42","
            . ""secondLogoText":"我是副标题","
            //channelID和调用接口的appid不是同一个账户,不会影响使用,只与更新接口的channelID参数有关
            . ""channelID":"2016101800718925","
            . ""discountInfo":"凭此券即可打0.5","
            //支付宝卡包的劵码,是更新接口的verify_code参数值,建议实时更新
            . ""code":"2016072325625921","
            . ""useStateDesc":"可使用","
            . ""logoText":"2018年支付宝卡包测试-优惠劵","
            //支付宝有唯一性校验,每次请求请保证唯一性,不要重复 
            . ""serialNumber":"20170809147614255"}}");
$result = $aop->execute ( $request);

var_dump($result);
$responseNode = str_replace(".", "_", $request->getApiMethodName()) . "_response";
$resultCode = $result->$responseNode->code;
if(!empty($resultCode)&&$resultCode == 10000){
	echo "成功";
} else {
	echo "失败";
}

响应参数返回示例

public 'alipay_pass_instance_add_response' => 
    object(stdClass)[9]
      public 'code' => string '10000' (length=5)
      public 'msg' => string 'Success' (length=7)
      public 'result' => string '{"operate":"ADD","serialNumber":"20170809147614255","passId":"22589","errorCode":"SUCCESS","errorMsg":"处理成功"}' (length=117)
      public 'success' => boolean true
  public 'sign' => string 'gSKobcHCKlZXZ01KWNJG18KP+wbmC42xDu6g0KUATmQSmQMsYnjTjP1JBz5QemPsg7mS/4X2+ERYLtMaenHDw0wsqzRArPqPc3Pq3gBFnTS52bFFK/Cj3CGpargIcs34PeqnUJdbbo4NtOKPwMnjIIW44oPKINGgU/GaEb/mD9g65MS2zp7EpX75n+xlHvRNWx4NZWi0IPSK3iENW1zU+VpkD5N0wKl7ADL0y2QqTyEEGctuNtsMbuQoww9dn4qPGGTffme1GSZfR9LNANMlKdAxpluRH/6Kt2fNtzpfH0/3xiwaMMSvQJeQ9IV23qpymJXy+bkwICw0G+U8T+60bw==' (length=344)


.NET版本请求示例

IAopClient client = new DefaultAopClient(config.gatewayUrl, config.app_id, config.private_key, "json", "1.0", "RSA2", config.alipay_public_key, config.charset, false);


        AlipayPassInstanceAddRequest request = new AlipayPassInstanceAddRequest();


        request.BizContent = "{"
                + ""recognition_type":"1","
                + ""tpl_id":"2019040215104450132405465","
                + ""recognition_info":{"partner_id":"2088501624560335","
                + ""out_trade_no":"20190218ygyg4544745451"},"
                + ""tpl_params":"
                + "{"
                + ""validStartDate":"2019-02-18 17:00:00","
                + ""validEndDate":"2020-03-30 20:00:00","
                + ""channelID":"2088522421611655","
                + ""discountInfo":"凭煜雨的券即可打8.5","
                + ""code":"201901295762587i03236","
                + ""useStateDesc":"可使用","
                + ""logoText":"疯狂来电85折券","
                + ""serialNumber":"20190402ygyg00001"}}";

        AlipayPassInstanceAddResponse response = client.Execute(request);
			

        Response.Write(response.Body);

响应参数返回示例

{"alipay_pass_instance_add_response":{"code":"10000","msg":"Success","result":
目录
相关文章
|
SQL 前端开发 Java
Java+Mysql图书管理系统(完整实训代码)
​ ✨博主:命运之光 🌸专栏:Python星辰秘典 🐳专栏:web开发(html css js) ❤️专栏:Java经典程序设计 ☀️博主的其他文章:点击进入博主的主页
1163 0
|
搜索推荐 定位技术 API
校园导航系统解决方案:智慧校园精准指引,提升校园服务质量
本文面向学校、相关技术人员以及对校园导航系统感兴趣的读者,提供校园导航系统的核心技术与功能的解析,包括高精度定位、三维地图构建及 AR/VR 集成等,推动智慧校园建设。如需校园导航系统解决方案欢迎私信获取,如有项目合作及技术交流欢迎私信作者哦~
905 2
校园导航系统解决方案:智慧校园精准指引,提升校园服务质量
|
Dubbo Java 应用服务中间件
IntelliJ IDEA & Apache Dubbo,IDEA 官方插件正式发布!
IntelliJ IDEA & Apache Dubbo,IDEA 官方插件正式发布!
1845 106
|
移动开发 小程序 开发工具
微信支付的类型分析(JSAPI+APP+H5+NATIVE+付款码+合单)
微信支付的类型分析(JSAPI+APP+H5+NATIVE+付款码+合单)
1776 1
|
人工智能 搜索推荐
用满血版DeepSeek搭建自己的智能体
智能体是以云为基础、AI为核心的智能系统,可构建个性化健康饮食推荐助手。用户可基于DeepSeek-R1模型创建应用,定制专属饮食计划,涵盖个性化营养、疾病管理及过敏处理等场景。通过阿里云平台,用户能轻松完成从创建到发布的全流程,享受科学合理的饮食建议,帮助实现健康目标。应用链接:https://bailian.console.aliyun.com/share/089d8662e9ba4716af96a8ff03443cd3
|
搜索推荐 数据挖掘
优质网络舆情监测系统大盘点
一款出色的网络舆情监测系统,不仅能够助力相关主体迅速捕捉舆情信息,有效应对危机,还能够助力其更好地把握舆论动态,维护自身形象。那么,市场上有哪些比较好的网络舆情监测系统呢?这里,本文有为各位整理了一些好用的舆情检测系统,以供各位参考!
639 0
|
人工智能 Java 程序员
一文彻底拿下HarmonyOS实战开发之HMRouter实现跳转
本文介绍HarmonyOS页面跳转的两种方式:组件导航(Navigation)和页面路由(@ohos.router)。重点推荐使用组件导航,因其灵活性和多端部署能力更强。此外,还介绍了HMRouter,一个简化页面跳转的工具,支持自定义注解、路由拦截、动画配置等功能。通过详细步骤,展示了如何在项目中集成HMRouter并实现页面跳转,帮助开发者更高效地开发鸿蒙应用。君志所向,一往无前!关注我,带你起飞鸿蒙开发!
1186 0
LangChain-26 Custom Agent 自定义一个Agent并通过@tool绑定对应的工具 同时让大模型自己调用编写的@tools函数
LangChain-26 Custom Agent 自定义一个Agent并通过@tool绑定对应的工具 同时让大模型自己调用编写的@tools函数
1053 3
LangChain-26 Custom Agent 自定义一个Agent并通过@tool绑定对应的工具 同时让大模型自己调用编写的@tools函数
|
机器学习/深度学习 运维 算法
智能合约量化交易系统开发技术规则
智能合约量化交易系统基于区块链技术,通过智能合约实现交易自动化与去中心化管理,结合量化策略提升交易效率和准确性。其开发流程涵盖需求分析、系统架构设计、智能合约编写、量化模型开发、系统集成与测试、部署运维等环节,涉及区块链、大数据、机器学习等关键技术。开发者可通过开源社区、商业软件或自主开发获取源码。
|
分布式计算 资源调度 Hadoop
【赵渝强老师】基于ZooKeeper实现Hadoop HA
本文介绍了如何在4个节点(bigdata112、bigdata113、bigdata114和bigdata115)上部署HDFS高可用(HA)架构,并同时部署Yarn的HA。详细步骤包括环境变量设置、配置文件修改、ZooKeeper集群启动、JournalNode启动、HDFS格式化、ZooKeeper格式化以及启动Hadoop集群等。最后通过jps命令检查各节点上的后台进程,确保部署成功。
566 0