# alipay.trade.subscription.create(订阅创建)
支持第三方代理调用:本接口支持第三方开发者代用户发起调用
## 通用场景
订阅场景对商户提供的创建接口
### 公共请求参数
|参数英文名|类型|是否必选|长度/取值|描述|示例值|
|---|---|---|---|---|---|
|app_id|String|必选|32|支付宝分配给开发者的应用ID|2014072300007148|
|method|String|必选|128|接口名称|alipay.trade.subscription.create|
|format|String|可选|40|仅支持JSON|JSON|
|charset|String|必选|10|请求使用的编码格式,如utf-8,gbk,gb2312等|utf-8|
|sign_type|String|必选|10|商户生成签名字符串所使用的签名算法类型,目前支持RSA2和RSA,推荐使用RSA2|RSA2|
|sign|String|必选|344|商户请求参数的签名串,详见[签名](https://opendocs.alipay.com/common/02khjm)|详见示例|
|timestamp|String|必选|19|发送请求的时间,格式"yyyy-MM-dd HH:mm:ss"|2014-07-24 03:07:50|
|version|String|必选|3|调用的接口版本,固定为:1.0|1.0|
|app_auth_token|String|可选|40|详见[应用授权概述](https://opendocs.alipay.com/isv/10467/xldcyq)||
|biz_content|String|必选||请求参数的集合,最大长度不限,除公共参数外所有请求参数都必须放在这个参数中传递,具体参照各产品快速接入文档||
### 业务请求参数
|参数英文名|类型|是否必选|长度/取值|描述|示例值|
|---|---|---|---|---|---|
|trial_desc|String|可选|12|用于签约页展示,若不传该字段,则展示默认文案。 低价试用场景文案:"{pay_amount}元试用{trial_period_days}天";免费试用场景文案:"免费试用{trial_period_days}天|新用户免费试用|
|trial_period_days|Number|可选|365|试用期天数:试用期天数设置为正整数,通常建议试用期天数3-7天|7|
|metadata|String|可选|512|商户可通过此字段进行订阅信息的自定义传参,订阅生效后不可修改,将在全链路通知或查询中返回|{"key":"value"}|
|pay_amount|Number|可选|1000000000|支付金额,单位分; 仅用于商户自定义金额,若传了该值,用户实际支付金额会以该值为准|100|
|items|SubscriptionItem|可选||订阅项目信息||
|items.item_id|String|可选|64|订阅生效后,查询接口(alipay.trade.subscription.query)或通知接口(alipay.trade.subscription.changed)返回的item_id,使用方式详见具体场景接入指南。|2026032012314|
|items.price_id|String|可选|64|价格创建接口(alipay.trade.price.create)返回的价格id,代表本次操作的目标价格信息,使用方式详见具体场景接入指南。|202603201234567889|
|items.quantity|String|可选|8|购买的商品数量,目前仅在席位商品的订阅创建(alipay.trade.subscription.create)场景按需传入该参数,使用方式详见具体场景接入指南。|10|
|items.source_quantity|String|可选|8|目前仅用于席位商品的订阅修改(alipay.trade.subscription.modify)场景下指定当前已生效的订阅项中商品的数量,使用方式详见具体场景接入指南。|10|
|items.target_quantity|String|可选|8|目前仅用于席位商品的订阅修改(alipay.trade.subscription.modify)场景下指定订阅项的目标商品数量,使用方式详见具体场景接入指南。|100|
|items.coupon_id|String|可选|40|营销创建接口(alipay.trade.promotion.coupon.create)返回的优惠id,使用方式详见具体场景接入指南|9WJ36SEC|
|subscribe_title|String|可选|256|订单标题,若无特殊需求,无需使用该字段,默认使用商品名称|订阅月会员|
|customer_id|String|必须|64|客户id,客户创建接口(alipay.trade.customer.create)返回的客户id|208812345678|
|deduct_type|String|可选|32|有限枚举,托管扣款类型,默认为SUBSCRIBE_DEDUCT。1.SUBSCRIBE_DEDUCT:托管模式(支付宝自动扣款,默认);2.MERCHANT_DEDUCT:非托管模式(商户自助扣款)
**枚举值**
SUBSCRIBE_DEDUCT:SUBSCRIBE_DEDUCT
MERCHANT_DEDUCT:MERCHANT_DEDUCT|SUBSCRIBE_DEDUCT|
|extend_params|String|可选|512|扩展参数,用于订阅特殊能力的传参,使用方式详见具体场景接入指南|{"key":"value"}|
### 请求示例
#### 默认示例
##### java
```
package com.java.sdk.demo;
import com.alipay.api.AlipayApiException;
import com.alipay.api.AlipayClient;
import com.alipay.api.DefaultAlipayClient;
import com.alipay.api.AlipayConfig;
import com.alipay.api.domain.SubscriptionItem;
import com.alipay.api.domain.AlipayTradeSubscriptionCreateModel;
import com.alipay.api.response.AlipayTradeSubscriptionCreateResponse;
import com.alipay.api.request.AlipayTradeSubscriptionCreateRequest;
import com.alipay.api.FileItem;
import java.util.Base64;
import java.util.ArrayList;
import java.util.List;
public class AlipayTradeSubscriptionCreate {
public static void main(String[] args) throws AlipayApiException {
// 初始化SDK
AlipayClient alipayClient = new DefaultAlipayClient(getAlipayConfig());
// 构造请求参数以调用接口
AlipayTradeSubscriptionCreateRequest request = new AlipayTradeSubscriptionCreateRequest();
AlipayTradeSubscriptionCreateModel model = new AlipayTradeSubscriptionCreateModel();
// 设置试用期描述
model.setTrialDesc("新用户免费试用");
// 设置试用期天数
model.setTrialPeriodDays(7L);
// 设置订阅信息元数据
model.setMetadata("{\"key\":\"value\"}");
// 设置支付金额
model.setPayAmount(100L);
// 设置订阅项目信息
List items = new ArrayList();
SubscriptionItem items0 = new SubscriptionItem();
items0.setQuantity("10");
items0.setCouponId("9WJ36SEC");
items0.setItemId("2026032012314");
items0.setPriceId("202603201234567889");
items0.setSourceQuantity("10");
items0.setTargetQuantity("100");
items.add(items0);
model.setItems(items);
// 设置订单标题
model.setSubscribeTitle("订阅月会员");
// 设置支付宝客户id
model.setCustomerId("208812345678");
// 设置托管扣款类型
model.setDeductType("SUBSCRIBE_DEDUCT");
// 设置扩展参数
model.setExtendParams("{\"key\":\"value\"}");
request.setBizModel(model);
// 第三方代调用模式下请设置app_auth_token
// request.putOtherTextParam("app_auth_token", "<-- 请填写应用授权令牌 -->");
AlipayTradeSubscriptionCreateResponse response = alipayClient.execute(request);
System.out.println(response.getBody());
if (response.isSuccess()) {
System.out.println("调用成功");
} else {
System.out.println("调用失败");
// sdk版本是"4.38.0.ALL"及以上,可以参考下面的示例获取诊断链接
// String diagnosisUrl = DiagnosisUtils.getDiagnosisUrl(response);
// System.out.println(diagnosisUrl);
}
}
private static AlipayConfig getAlipayConfig() {
String privateKey = "<-- 请填写您的应用私钥,例如:MIIEvQIBADANB ... ... -->";
String alipayPublicKey = "<-- 请填写您的支付宝公钥,例如:MIIBIjANBg... -->";
AlipayConfig alipayConfig = new AlipayConfig();
alipayConfig.setServerUrl("https://openapi.alipay.com/gateway.do");
alipayConfig.setAppId("<-- 请填写您的AppId,例如:2019091767145019 -->");
alipayConfig.setPrivateKey(privateKey);
alipayConfig.setFormat("json");
alipayConfig.setAlipayPublicKey(alipayPublicKey);
alipayConfig.setCharset("UTF-8");
alipayConfig.setSignType("RSA2");
return alipayConfig;
}
}
```
##### php
```
setBizContent(json_encode($model,JSON_UNESCAPED_UNICODE));
// 如果是第三方代调用模式,请设置app_auth_token(应用授权令牌)
$responseResult = $alipayClient->execute($request, null, "<-- 请填写应用授权令牌 -->", null);
$responseApiName = str_replace(".","_",$request->getApiMethodName())."_response";
$response = $responseResult->$responseApiName;
if(!empty($response->code)&&$response->code==10000){
echo("调用成功");
}
else{
echo("调用失败");
}
function getAlipayConfig()
{
$privateKey = '<-- 请填写您的应用私钥,例如:MIIEvQIBADANB ... ... -->';
$alipayPublicKey = '<-- 请填写您的支付宝公钥,例如:MIIBIjANBg... -->';
$alipayConfig = new AlipayConfig();
$alipayConfig->setServerUrl('https://openapi.alipay.com/gateway.do');
$alipayConfig->setAppId('<-- 请填写您的AppId,例如:2019091767145019 -->');
$alipayConfig->setPrivateKey($privateKey);
$alipayConfig->setFormat('json');
$alipayConfig->setAlipayPublicKey($alipayPublicKey);
$alipayConfig->setCharset('UTF-8');
$alipayConfig->setSignType('RSA2');
return $alipayConfig;
}
```
##### csharp
```
using System;
using System.Collections.Generic;
using Aop.Api;
using Aop.Api.Request;
using Aop.Api.Response;
using Aop.Api.Domain;
using Aop.Api.Util;
namespace SdkDemoTest
{
public class AlipayTradeSubscriptionCreate
{
public static void Main(string[] args)
{
// 初始化SDK
IAopClient alipayClient = new DefaultAopClient(GetAlipayConfig());
// 构造请求参数以调用接口
AlipayTradeSubscriptionCreateRequest request = new AlipayTradeSubscriptionCreateRequest();
AlipayTradeSubscriptionCreateModel model = new AlipayTradeSubscriptionCreateModel();
// 设置试用期描述
model.TrialDesc = "新用户免费试用";
// 设置试用期天数
model.TrialPeriodDays = 7;
// 设置订阅信息元数据
model.Metadata = "{\"key\":\"value\"}";
// 设置支付金额
model.PayAmount = 100;
// 设置订阅项目信息
List items = new List();
SubscriptionItem items0 = new SubscriptionItem();
items0.Quantity = "10";
items0.CouponId = "9WJ36SEC";
items0.ItemId = "2026032012314";
items0.PriceId = "202603201234567889";
items0.SourceQuantity = "10";
items0.TargetQuantity = "100";
items.Add(items0);
model.Items = items;
// 设置订单标题
model.SubscribeTitle = "订阅月会员";
// 设置支付宝客户id
model.CustomerId = "208812345678";
// 设置托管扣款类型
model.DeductType = "SUBSCRIBE_DEDUCT";
// 设置扩展参数
model.ExtendParams = "{\"key\":\"value\"}";
request.SetBizModel(model);
// 第三方代调用模式下请设置app_auth_token
// request.PutOtherTextParam("app_auth_token", "<-- 请填写应用授权令牌 -->");
AlipayTradeSubscriptionCreateResponse response = alipayClient.Execute(request);
if(!response.IsError)
{
Console.WriteLine("调用成功");
}
else
{
Console.WriteLine("调用失败");
}
}
private static AlipayConfig GetAlipayConfig()
{
string privateKey = "<-- 请填写您的应用私钥,例如:MIIEvQIBADANB ... ... -->";
string alipayPublicKey = "<-- 请填写您的支付宝公钥,例如:MIIBIjANBg... -->";
AlipayConfig alipayConfig = new AlipayConfig();
alipayConfig.ServerUrl = "https://openapi.alipay.com/gateway.do";
alipayConfig.AppId = "<-- 请填写您的AppId,例如:2019091767145019 -->";
alipayConfig.PrivateKey = privateKey;
alipayConfig.Format = "json";
alipayConfig.AlipayPublicKey = alipayPublicKey;
alipayConfig.Charset = "UTF-8";
alipayConfig.SignType = "RSA2";
return alipayConfig;
}
}
}
```
##### http
```
curl 'https://openapi.alipay.com/gateway.do?charset=UTF-8&method=alipay.trade.subscription.create&format=json&sign=${sign}&app_id=${appid}&version=1.0&sign_type=RSA2×tamp=${now}' \
-F 'app_auth_token=${app_auth_token}' \
-F 'biz_content={
"trial_desc":"新用户免费试用",
"trial_period_days":7,
"metadata":"{\"key\":\"value\"}",
"pay_amount":100,
"items":[
{
"quantity":"10",
"coupon_id":"9WJ36SEC",
"item_id":"2026032012314",
"price_id":"202603201234567889",
"source_quantity":"10",
"target_quantity":"100"
}
],
"subscribe_title":"订阅月会员",
"customer_id":"208812345678",
"deduct_type":"SUBSCRIBE_DEDUCT",
"extend_params":"{\"key\":\"value\"}"
}'
```
### 公共响应参数
|参数英文名|类型|是否必选|长度/取值|描述|示例值|
|---|---|---|---|---|---|
|code|String|必须|~|网关返回码,[详见文档](https://docs.open.alipay.com/common/105806)|40004|
|msg|String|必须|~|网关返回码描述,[详见文档](https://docs.open.alipay.com/common/105806)|Business Failed|
|sub_code|String|可选|~|业务返回码,参见具体的API接口文档||
|sub_msg|String|可选|~|业务返回码描述,参见具体的API接口文档||
|sign|String|必须|64|签名,[详见文档](https://docs.open.alipay.com/291/106074)|DZXh8eeTuAHoYE3w1J+POiPhfDxOYBfUNn1lkeT/V7P4zJdyojWEa6IZs6Hz0yDW5Cp/viufUb5I0/V5WENS3OYR8zRedqo6D+fUTdLHdc+EFyCkiQhBxIzgngPdPdfp1PIS7BdhhzrsZHbRqb7o4k3Dxc+AAnFauu4V6Zdwczo=|
### 业务响应参数
|参数英文名|类型|是否必选|长度/取值|描述|示例值|
|---|---|---|---|---|---|
|promotion_info|String|可选|1000|订阅创建生成的优惠信息|{\"originAmount\":\"30.00\",\"2026042802400000001\":\"{\\\"couponName\\\":\\\"新用户立减10元-前三次\\\",\\\"amountOff\\\":\\\"10.00\\\",\\\"couponId\\\":\\\"9WJ36SEC\\\"}\",\"discountAmount\":\"10.00\"}|
|trial_end|String|可选|32|试用期结束时间,格式 yyyy-MM-dd HH:mm:ss|2026-04-22 14:10:00|
|trial_start|String|可选|32|试用期开始时间,格式 yyyy-MM-dd HH:mm:ss|2026-04-22 14:10:00|
|order_no|String|可选|32|创建订阅时生成的支付请求单号|123456789|
|pay_amount|Number|可选|1000000000|支付金额,单位分|100|
|alipay_jump_schema|String|可选|4096|长链,适用于跳转拉起支付宝端|alipays://platformapi/startApp?appId=60000157&orderStr=XXXXXXXXXX|
|alipay_schema|String|可选|4096|短链,适用于生成二维码|https://basementurl.test.alipay.net/_1bQzQBRlIPjfo4eyx5SlMJ|
|subscription_id|String|可选|64|订阅id,本次订阅操作生成的唯一标识|20260320123156789|
|schema_effective_end|String|可选|32|签约链接有效期截止时间,格式 yyyy-MM-dd HH:mm:ss|2026-05-28 16:10:00|
### 响应示例
#### 正常响应示例
```
{
"alipay_trade_subscription_create_response":{
"code":"10000",
"msg":"Success",
"promotion_info":"{\\\"originAmount\\\":\\\"30.00\\\",\\\"2026042802400000001\\\":\\\"{\\\\\\\"couponName\\\\\\\":\\\\\\\"新用户立减10元-前三次\\\\\\\",\\\\\\\"amountOff\\\\\\\":\\\\\\\"10.00\\\\\\\",\\\\\\\"couponId\\\\\\\":\\\\\\\"9WJ36SEC\\\\\\\"}\\\",\\\"discountAmount\\\":\\\"10.00\\\"}",
"trial_end":"2026-04-22 14:10:00",
"trial_start":"2026-04-22 14:10:00",
"order_no":"123456789",
"pay_amount":100,
"alipay_jump_schema":"alipays://platformapi/startApp?appId=60000157&orderStr=XXXXXXXXXX",
"alipay_schema":"https://basementurl.test.alipay.net/_1bQzQBRlIPjfo4eyx5SlMJ",
"subscription_id":"20260320123156789",
"schema_effective_end":"2026-05-28 16:10:00"
},
"sign":"ERITJKEIJKJHKKKKKKKHJEREEEEEEEEEEE"
}
```
#### 异常响应示例
```
{"alipay_trade_subscription_create_response":{"code":"20000","msg":"Service Currently Unavailable","sub_code":"isp.unknow-error","sub_msg":"系统繁忙"},"sign":"ERITJKEIJKJHKKKKKKKHJEREEEEEEEEEEE"}
```
### 业务错误码
|错误码|错误描述|解决方案|
|---|---|---|
|SYSTEM_ERROR|系统繁忙|服务器异常 可能发生了网络或者系统异常,导致服务调用失败,商户可以用同样的请求发起重试|
|INVALID_PARAMETER|参数有误|请根据接口返回的参数非法的具体错误信息,修改参数后进行重试|