Skip to content

创建订阅计划

  • Endpoint: POST /aggregate-pay/api/gateway/subscriptionCreate
  • Tags: 收单/订阅计划管理

Description

PayerMax提供多种类型的订阅计划:普通订阅、n天试用、前n期优惠;可以通过创建订阅计划的入参来控制订阅计划的类型。

Parameters

FieldInTypeRequiredConstraintsDescription
Content-TypeheaderstringYes
signheaderstringYes签名信息请参考技术文档

Parameter Examples

  • Content-Type: "application/json"
  • sign: "FPFVT3o227JrFRbqu19boZCpVVTF9KznxyRawUmxpfXilHV/0yK46haPhAjNu1hPUMy7Vw/ILXhfzffNm4Fj0apWknlTY9OJxnSoQxS9BTFtc61tn5yV1q69x/kkBl82/qwg+XTJ4fOzy7Mar3VaC1E2PlDA6RkkKBUyNE6RYgsdB+Su7an4+4HVTNAnoe74WyvBgxTLMNg28igBTdqxaO3w/UBY6ObVp7vkqkQGdL1Y+HgmMYaAVwrM3+ALWGId0sJ+YqTY4WJ+0xCRGhaSnybiIjZsQEYyID68WNUfuavDLDsEhaMm/HfQvf5p0R1Ltovp3wwJnEbQcjY458iX5A=="

Request Body

Content-Type: application/json

FieldTypeRequiredConstraintsDescriptionEnum
versionstringYesmaxLength: 8接口版本 当前值为:1.5
keyVersionstringYesmaxLength: 8密钥版本 当前值为:1
requestTimestringYesmaxLength: 32请求时间,符合rfc3339规范,格式:yyyy-MM-dd'T'HH:mm:ss.SSSXXX 时间需要在当前时间两分钟内
appIdstringYesmaxLength: 64商户应用Id,PayerMax分配给商户应用的唯一标识
merchantNostringNomaxLength: 32商户号,商户与PayerMax业务签约时生成的唯一标识
dataobjectYes
data.subscriptionRequestIdstringYesmaxLength: 64商户创建订阅计划的单号。
data.userIdstringYesmaxLength: 64用户id。
data.callbackUrlstringYesmaxLength: 256订阅结果和扣款结果的通知地址。
data.subscriptionPlanobjectYes订阅计划信息。
data.subscriptionPlan.subjectstringYesmaxLength: 256标题。
data.subscriptionPlan.descriptionstringNomaxLength: 256描述。
data.subscriptionPlan.totalPeriodsnumberYes总期数。
data.subscriptionPlan.firstPeriodStartDate ⚠️stringNo第一期扣款开始时间。如:2025-02-26T12:00:00+00:00
data.subscriptionPlan.periodRuleobjectNo扣款规则。当填写prices后,periodRule不用填写,否则periodRule必填
data.subscriptionPlan.periodRule.periodUnitstringYesmaxLength: 2按M(月),D(日),W(周),Y(年)扣款。
data.subscriptionPlan.periodRule.periodCountnumberYes扣款频次。如periodUnit=M、periodCount=1表示每1个月扣款一次。
data.subscriptionPlan.periodAmountobjectNo每期扣款金额。当填写prices后,periodAmount不用填写,否则periodAmount必填
data.subscriptionPlan.periodAmount.amountnumberYes金额。
data.subscriptionPlan.periodAmount.currencystringYesmaxLength: 3币种。
data.subscriptionPlan.trialPeriodConfigobjectNo优惠期配置。
data.subscriptionPlan.trialPeriodConfig.trialPeriodCountnumberYes优惠期数。
data.subscriptionPlan.trialPeriodConfig.trialPeriodAmountobjectYes优惠期扣款金额。
data.subscriptionPlan.trialPeriodConfig.trialPeriodAmount.amountnumberNo金额。
data.subscriptionPlan.trialPeriodConfig.trialPeriodAmount.currencystringNomaxLength: 3币种。
data.subscriptionPlan.trialConfigobjectNo试用期配置
data.subscriptionPlan.trialConfig.trialAmountobjectYes试用期金额信息
data.subscriptionPlan.trialConfig.trialAmount.amountnumberYes试用期金额
data.subscriptionPlan.trialConfig.trialAmount.currencystringYes试用期币种
data.subscriptionPlan.trialConfig.trialDaysnumberYes试用天数
data.subscriptionPlan.pricesarray[object]No价格和坐席列表
data.subscriptionPlan.prices[].priceIdstringYes价格ID
data.subscriptionPlan.prices[].quantitynumberYes坐席或数量

Example: 1

固定周期订阅

json
{
  "version": "1.5",
  "keyVersion": "1",
  "requestTime": "2025-02-26T05:00:00+00:00",
  "appId": "6666c8b036a245799744912345a123456",
  "merchantNo": "010213834123456",
  "data": {
    "subscriptionRequestId": "testRequestId0001",
    "userId": "test0001",
    "callbackUrl": "http://***.com/notifyUrl/",
    "subscriptionPlan": {
      "subject": "subject",
      "description": "PMMAX周期首期扣款",
      "totalPeriods": 4,
      "periodAmount": {
        "amount": 4000,
        "currency": "KRW"
      },
      "periodRule": {
        "periodCount": 1,
        "periodUnit": "M"
      }
    }
  }
}

Example: 2

N期优惠订阅

json
{
  "version": "1.5",
  "keyVersion": "1",
  "requestTime": "2025-02-26T05:00:00+00:00",
  "appId": "6666c8b036a245799744912345a123456",
  "merchantNo": "010213834123456",
  "data": {
    "subscriptionRequestId": "testRequestId0001",
    "userId": "test0001",
    "callbackUrl": "http://***.com/notifyUrl/",
    "subscriptionPlan": {
      "subject": "subject",
      "description": "PMMAX周期首期扣款。",
      "totalPeriods": 12,
      "periodRule": {
        "periodUnit": "M",
        "periodCount": 1
      },
      "periodAmount": {
        "amount": 404.35,
        "currency": "USD"
      },
      "trialPeriodConfig": {
        "trialPeriodAmount": {
          "amount": 10,
          "currency": "USD"
        },
        "trialPeriodCount": 2
      }
    }
  }
}

Example: 3

7天低价试用

json
{
  "version": "1.5",
  "keyVersion": "1",
  "requestTime": "2025-02-26T05:00:00+00:00",
  "appId": "6666c8b036a245799744912345a123456",
  "merchantNo": "010213834123456",
  "data": {
    "subscriptionRequestId": "testRequestId0001",
    "userId": "test0001",
    "callbackUrl": "http://***.com/notifyUrl/",
    "subscriptionPlan": {
      "subject": "subject",
      "description": "PMMAX周期首期扣款。",
      "totalPeriods": 12,
      "periodRule": {
        "periodUnit": "M",
        "periodCount": 1
      },
      "periodAmount": {
        "amount": 404.35,
        "currency": "USD"
      },
      "trialConfig": {
        "trialAmount": {
          "amount": 4,
          "currency": "USD"
        },
        "trailDays": 7
      }
    }
  }
}

Example: 4

7天免费试用

json
{
  "version": "1.5",
  "keyVersion": "1",
  "requestTime": "2025-02-26T05:00:00+00:00",
  "appId": "6666c8b036a245799744912345a123456",
  "merchantNo": "010213834123456",
  "data": {
    "subscriptionRequestId": "testRequestId0001",
    "userId": "test0001",
    "callbackUrl": "http://***.com/notifyUrl/",
    "subscriptionPlan": {
      "subject": "subject",
      "description": "PMMAX周期首期扣款。",
      "totalPeriods": 12,
      "periodRule": {
        "periodUnit": "M",
        "periodCount": 1
      },
      "periodAmount": {
        "amount": 10,
        "currency": "USD"
      },
      "trialConfig": {
        "trialAmount": {
          "amount": 0,
          "currency": "USD"
        },
        "trailDays": 7
      }
    }
  }
}

Responses

200

FieldTypeRequiredConstraintsDescriptionEnum
codestringYes返回码,’APPLY_SUCCESS’代表成功
msgstringYes返回描述,’Success.’
dataobjectYes
data.subscriptionRequestIdstringYesmaxLength: 64商户创建订阅计划的单号。
data.subscriptionPlanobjectYes
data.subscriptionPlan.subscriptionNostringYesmaxLength: 64订阅单号,PayerMax管理订阅计划时必传,商户管理订阅计划时不传
data.subscriptionPlan.subscriptionStatusstringYesmaxLength: 32订阅计划状态。 INACTIVE:未激活 ACTIVE_FAILED:激活失败 ACTIVE:激活成功 EXPIRED:过期未激活 FINISH:订阅完成 CANCEL:订阅取消 TERMINATE:订阅终止
data.subscriptionPlan.subjectstringNo订阅主题,商户管理订阅计划时必传
data.subscriptionPlan.descriptionstringNo订阅描述,商户管理订阅计划时必传
data.subscriptionPlan.totalPeriodsstringNo总期数,商户管理订阅计划时必传
data.subscriptionPlan.periodRuleobjectNo订阅扣款规则,商户管理订阅计划时必传
data.subscriptionPlan.periodRule.periodUnitstringYes扣款周期:月(M),D(日),W(周),Y(年)扣款,商户管理订阅计划时必传
data.subscriptionPlan.periodRule.periodCountstringYes扣款频率,商户管理订阅计划时必传
data.subscriptionPlan.periodAmountobjectNo扣款金额,商户管理订阅计划时必传
data.subscriptionPlan.periodAmount.amountnumberYes扣款金额,商户管理订阅计划时必传
data.subscriptionPlan.periodAmount.currencystringYes扣款币种,商户管理订阅计划时必传
data.subscriptionPlan.trialPeriodConfigobjectNo优惠期规则
data.subscriptionPlan.trialPeriodConfig.trialPeriodCountstringYes优惠期数
data.subscriptionPlan.trialPeriodConfig.trialPeriodAmountobjectYes优惠期扣款金额
data.subscriptionPlan.trialPeriodConfig.trialPeriodAmount.amountnumberNo优惠期扣款金额
data.subscriptionPlan.trialPeriodConfig.trialPeriodAmount.currencystringNo优惠期扣款币种
data.subscriptionPlan.trialConfigobjectNo试用期参数
data.subscriptionPlan.trialConfig.trialAmountobjectYes试用期金额信息
data.subscriptionPlan.trialConfig.trialAmount.amountnumberYes试用期金额
data.subscriptionPlan.trialConfig.trialAmount.currencystringYes试用期币种
data.subscriptionPlan.trialConfig.trialDaysstringYes试用天数
data.subscriptionPlan.pricesarray[object]No价格和坐席列表
data.subscriptionPlan.prices[].priceIdstringYes价格ID
data.subscriptionPlan.prices[].quantitynumberYes坐席、数量

Response Example

json
{
  "code": "APPLY_SUCCESS",
  "msg": "Success.",
  "data": {
    "subscriptionRequestId": "testRequestId0001",
    "subscriptionPlan": {
      "subject": "subject",
      "trialConfig": {
        "trialDays": 3,
        "trialAmount": {
          "amount": 100,
          "currency": "KRW"
        }
      },
      "description": "PMMAX周期首期扣款",
      "totalPeriods": 4,
      "trialPeriodConfig": {
        "trialPeriodCount": 2,
        "trialPeriodAmount": {
          "amount": 200,
          "currency": "KRW"
        }
      },
      "periodAmount": {
        "amount": 4000,
        "currency": "KRW"
      },
      "subscriptionStatus": "INACTIVE",
      "subscriptionNo": "SUB26052902512201000064003",
      "periodRule": {
        "periodCount": 1,
        "periodUnit": "M"
      },
      "prices": [
        {
          "quantity": 1,
          "priceId": "PRICE0029177685919882013650001"
        },
        {
          "quantity": 2,
          "priceId": "PRICE0060177727844403510340001"
        }
      ]
    }
  }
}

此页面的内容有帮助吗?

感谢您帮助改进 PayerMax 产品文档!

Released under the MIT License.