调用这个接口前需要先创建卡券模板,参考该贴:https://openclub.alipay.com/read.php?tid=2135&fid=8 官方接口文档:https://docs.open.alipay.com/api_24/alipay.pass.instance.add 其核心代码
//发放卡券接口(alipay.pass.instance.add)
public static void PassinstanceAdd(){
AlipayClient alipayClient=alipayclient();
AlipayPassInstanceAddRequest request = new AlipayPassInstanceAddRequest();
request.setBizContent(
//该值固定为1–订单信息
"{\\"recognition_type\\":\\"1\\","
//创建卡券模板接口返回的tpl_id
+ "\\"tpl_id\\":\\"2017082810350676154413356\\","
+ "\\"recognition_info\\":{\\"partner_id\\":\\"2088*******\\","
+ "\\"out_trade_no\\":\\"ydzflw12\\"},"
+ "\\"tpl_params\\":"
+ "{"
+ "\\"validStartDate\\":\\"2017-08-28 08:00:00\\","
+ "\\"validEndDate\\":\\"2024-08-09 20:00:00\\","
+ "\\"channelID\\":\\"201410********\\","
+ "\\"discountInfo\\":\\"凭此券即可打0.5折\\","
+ "\\"code\\":\\"201607232562587i\\","
+ "\\"useStateDesc\\":\\"可使用\\","
+ "\\"logoText\\":\\"2017年七夕8月28日优惠券\\","
+ "\\"serialNumber\\":\\"xm4333673662423559_lw_006\\"}}");
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":"{\\"passId\\":\\"14822120756\\",\\"operate\\":\\"ADD\\",\\"errorCode\\":\\"SUCCESS\\",\\"serialNumber\\":\\"xm4333673662423559_lw_006\\",\\"errorMsg\\":\\"处理成功\\"}","success":true},"sign":"uhG7riyhKXxcf6G2wR6uBaqFLJRDXVduaOsIwwe+YkBk5cbNQ8bZLZv1mJ03ZDIs8/0zyM1k3DDlxY4U/24ZDx72E0FGG4M5QEEMBiL93uqnOk0CJvoN/K1YdnZDboWjm1jzOG6FHPJVj7TMFAjKADYRhtCBbHuMSgz7f9c5dTo="}
注意点 1.tpl_params中的json节点即为模板创建时设置的自定义参数(即模板中定义的$xxxx$),每次发券可以自己定义内容,且其中的serialNumber支付宝有唯一性校验,每次请求请保证唯一性,不要重复 2.tpl_id:模板创建接口请求成功后获取的模板ID,即步创建卡券模板中获取,见我该贴创建接口返回参数 3.recognition_info:真实存在的支付宝交易,包括partner_id(商户的签约账号)和out_trade_no(某笔订单号)4.channelID:可设置为APPID(从创建应用处获取)或者pid 然后我们根据对应的商家的pid和对应交易的out_trade_no以及调用接口成功发券,在这个交易号对应的账户下收到卡券,其详细信息见下图所示:
接下来的操作流程: 更新卡券接口(alipay.pass.instance.update):https://openclub.alipay.com/read.php?tid=2236&fid=8