支付宝-同步核销券码
支付宝-同步核销券码
官方文档 https://opendocs.alipay.com/open/03s1jf?ref=api&scene=c689c4eacdb24992a811d5965b7d35ed
注意事项:
1.创建商家券之后 可以在异步通知消息内直接同步券码。这也是官方推荐的
2.同步券码成功后,并不代表该商家券可以领取了。我们需要进行提交库存该商家券才会生效 也就是 修改商家券活动发券数量上限
3.修改商家券活动发券数量上限 所传入的券数量必须是和同步券码的数量一致
4.沙箱环境不会校验券码有效性。
5.沙箱环境下券核销后,对应商家券活动的“券已核销数量”不会更新。
如果我讲的听不懂可以看 接入指南
直接上代码了
请求参数
@Data
public class AlipayVoucherCodeDepositReq implements Serializable {
private static final long serialVersionUID = 474437106418183323L;
@NotBlank(message = "活动ID不能为空")
@ApiModelProperty(value = "活动ID-选填")
private String activityId;
@NotEmpty(message = "券码的数量列表不能为空")
@ApiModelProperty(value = "券码的数量列表。接口参数为列表类型" +
"限制:目前最大上传 1000 个。单个code最长64位。" +
"商户上传的券code列表,code允许包含的字符有0-9、a-z、A-Z、-、_、+、=、|。")
private List<String> voucherCodes;
}
同步券码
public ResponseResult<JSONObject> alipayMarketingActivityOrderVoucherCodeDeposit(AlipayVoucherCodeDepositReq alipayVoucherCodeDepositReq) {
// 获取支付宝客户端
AlipayClient alipayClient = DefaultAlipayConfig.ALIPAY_CLIENT;
// 同步商家券券码模型类
AlipayMarketingActivityOrdervoucherCodedepositModel codeDepositModel = new AlipayMarketingActivityOrdervoucherCodedepositModel();
// 同步商家券券码请求类
AlipayMarketingActivityOrdervoucherCodedepositRequest codeDepositRequest = new AlipayMarketingActivityOrdervoucherCodedepositRequest();
// 同步商家券券码响应类
AlipayMarketingActivityOrdervoucherCodedepositResponse codeDepositResponse;
// 定义响应结果
JSONObject jsonObject = new JSONObject();
try {
// 活动ID
codeDepositModel.setActivityId(alipayVoucherCodeDepositReq.getActivityId());
// 券码列表
codeDepositModel.setVoucherCodes(alipayVoucherCodeDepositReq.getVoucherCodes());
// 外部业务单号,用作幂等控制
codeDepositModel.setOutBizNo(UUID.randomUUID().toString().replace("-",""));
/*
商户接入模式
SELF_MODE 商户自接入模式
AGENCY_MODE 服务商代接入模式
*/
codeDepositModel.setMerchantAccessMode("SELF_MODE");
// 设置请求参数
codeDepositRequest.setBizModel(codeDepositModel);
// 发送请求
codeDepositResponse = alipayClient.execute(codeDepositRequest);
if (codeDepositResponse.isSuccess()) {
// 响应信息
String bodyData = codeDepositResponse.getBody();
// 解析响应结果
jsonObject = JSON.parseObject(bodyData);
}
} catch (AlipayApiException e) {
throw new RuntimeException(e);
}
return codeDepositResponse.isSuccess() ? ResponseResult.success("同步成功", jsonObject) : ResponseResult.success("同步失败", jsonObject);
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· .NET10 - 预览版1新功能体验(一)