全部产品
云市场

云市场创建订单接口

更新时间:2019-10-20 20:50:20

描述

创建订单接口

请确保在使用该接口前,已充分了解云市场产品的收费方式和价格
目前支持购买、续费及升级订单的创建。入参配置商品选项,返回订单号及可能绑定的实例号
商业镜像创建订单接口请参考文档

请注意示例中部分符号为全角,实际请求时应全部使用半角符号。

请求参数

参数 类型 是否必选 示例值 描述
Action String CreateOrder 创建订单
ClientToken String 2709c68a-d569-4819-9c5d-1222ed2ee924

用于保证请求的幂等性。由客户端生成该参数值,要保证在不同请求间唯一,最大不值过 64 个 ASCII 字符。

Commodity String

InstanceBuyCommodity示例:
{“components”:{“package_version”:”yuncode1806900001”},”couponId”:””,”duration”:1,”pricingCycle”:”Month”,”productCode”:”cmgj024069”,”properties”:{},”quantity”:1,”queryPromotion”:true,”skuCode”:”cmgj024069-prepay”}

InstanceRenewCommodity示例:
{“components”:{“package_version”:”yuncode1806900001”},”quantity”:1,”duration”:2,”instanceId”:”6227091”,”productCode”:”cmgj024069”,”pricingCycle”:”Month”,”properties”:{},”skuCode”:”cmgj024069-prepay”}

InstanceUpgradeCommodity示例:
{“components”:{“package_version”:”yuncode1806900002”},”quantity”:1,”duration”:1,”instanceId”:”6227091”,”productCode”:”cmgj024069”,”pricingCycle”:”Month”,”properties”:{},”skuCode”:”cmgj024069-prepay”}

订单配件信息。

可根据指定的 OrderType,使用对应的配件再进行序列化。

不同 OrderType 分别对应的 CommodityType 如下所示:

  • INSTANC_BUY:InstanceBuyCommodity
  • INSTANCE_RENEW:InstanceRenewCommodity
  • INSTANCE_UPGRADE:InstanceUpgradeCommodity
  • INSTANCE_DOWNGRADE:InstanceDowngradeCommodity
  • INSTANCE_EXPAND:InstanceExpandCommodity

Commodity参数说明:
ProductCode:商品码;
SkuCode:规格码;
PricingCycle:购买周期;
Quantity:订购数量;
QueryPromotion:是否查询优惠;
CouponId:优惠卷ID;
Properties:订单扩展属性字符串,JSON的dict格式;
Components:模块类商品(镜像 API)下单参数,JSON的dict格式。具体值来自各个商品配置。

OrderType String INSTANCE_BUY

订单类型。 可选值:

  • INSTANCE_BUY,商品购买
  • INSTANCE_RENEW,实例续费
  • INSTANCE_UPGRADE,实例升级
  • INSTANCE_DOWNGRADE,实例降配(后续支持)
  • INSTANCE_EXPAND,实例扩容 (后续支持)
PaymentType String HAND

付款方式:

  • AUTO:余额自动支付
  • HAND:手动支付

返回参数

参数 类型 示例值 描述
RequestId String 904A07C3-D30A-4E2C-93B2-DDECAE4B66E8

requestid

OrderId String 202008594930117

订单id

InstanceIds String 5604018

实例id

示例

请求示例

  1. /?Action=CreateOrder&ClientToken=2709c68a-d569-4819-9c5d-1222ed2ee924
  2. &Commodity={"components":{"package_version":"yuncode1394000000"},"duration":100,"pricingCycle":"Year","productCode":"cmfw019940","properties":{},"quantity":1,"skuCode":"cmfw019940-prepay"}
  3. &OrderType=INSTANCE_BUY
  4. &PaymentType=HAND
  5. &<公共请求参数>

正常返回示例

XML 格式

  1. <CreateOrderResponse>
  2. <InstanceIds>
  3. <InstanceId>5604651</InstanceId>
  4. </InstanceIds>
  5. <OrderId>202008595220117</OrderId>
  6. </CreateOrderResponse>

JSON 格式

  1. {
  2. "InstanceIds":{
  3. "InstanceId":["5604018"]
  4. },
  5. "OrderId":"202008594930117"
  6. }

异常返回示例

抛出异常格式

  1. com.aliyuncs.exceptions.ServerException: 501 : failed to create order,please try again
  2. RequestId : 6FB4CBF4-2D82-462D-8086-E3453DD737AA
  3. at com.aliyuncs.DefaultAcsClient.parseAcsResponse(DefaultAcsClient.java:203)
  4. at com.aliyuncs.DefaultAcsClient.getAcsResponse(DefaultAcsClient.java:115)
  5. at com.aliyun.market.openapi.CreateOrderTest.testCreateBuyOrder(CreateOrderTest.java:51)
  6. at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
  7. at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
  8. at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
  9. at java.lang.reflect.Method.invoke(Unknown Source)
  10. ....