跳到主要内容

CreateSKUInAudit

Creates a new SKU for the given app and submits it for audit. The SKU is set as available and enabled for sale by default, but will not be visible to users until it passes the audit process.

Host: dip-cb.binanceapi.com

POST /mp-api/v1/apps/{appId}/skus

Header

ParameterRequiredDescription
X-Mp-Open-Api-TokenYesJWT token. Please refer to Description of External Interface Signature Authentication Algorithm

Path Parameters

ParameterDescription
appIdAppId of the mini program

Body Parameters

ParameterTypeRequiredDescriptionExample
categorystringYesCategory of this SKU. See Valid Categories below."Games"
coverImageFileIdstringYesFileId for SKU cover image obtained via UploadFilef7574adb-0ccb-4281-9ed6-943f11a1e85a
names{[key:string]: string}YesName map for this SKU. en is required. Maximum length per name is 128 characters. Accepted language codes can be found in the Language Code section.{"en": "PUBG 100 point"}
skuIdstringYesID for the SKU. Must be unique within your app. Maximum length is 255 characters.pubg_point_100
originalPricenumberNoUnit is USD. Must be a positive number. Sub-cent amounts are truncated (e.g., 9.9999 → 9.99). Not used when pricing_mode is "tiered".9.99
sellingPricenumberRequired when pricing_mode is omitted or "flat"Unit is USD. Must be a positive number. Sub-cent amounts are truncated (e.g., 9.9999 → 9.99). Not used when pricing_mode is "tiered".6
discountPercentageintNoDiscount percentage for display only. Valid range: 0–99. Not used when pricing_mode is "tiered".32
countryWhitelistArray<String>NoCountries eligible to display this SKU. Use ISO 3166-1 alpha-2 codes. If not provided, SKU can be displayed in all countries.["JP"]
countryBlacklistArray<String>NoCountries restricted from displaying this SKU. Use ISO 3166-1 alpha-2 codes.["CN", "GB"]
pathstringYesPath to the SKU page. Maximum length is 1024 characters. Query string parameters (after ?) are parsed and stored separately./pages/index/index?foo=bar&baz=qux
descriptionstringNoOptional description for this SKU.A virtual top-up item
pricing_modestringNoPricing mode. "flat" (default) uses sellingPrice/originalPrice. "tiered" uses pricing_tiers and ignores flat price fields."tiered"
pricing_tiersArray<PricingTier>Required when pricing_mode is "tiered"List of denomination options. Maximum 50 tiers. At most one tier may have tier_type = "custom". See PricingTier object below.see example below

Request Body — flat pricing (default)

​{
"category": "Games",
"coverImageFileId": "f7574adb-0ccb-4281-9ed6-943f11a1e85a",
"names": {
"en": "PUBG 100 points",
"zh-TW": "PUBG 100 點",
},
"skuId": "pubg_point_100",
"originalPrice": 9.99,
"sellingPrice": 9,
"discountPercentage": 30,
"countryWhitelist": ["JP"],
"countryBlacklist": ["CN", "GB"],
"path": "/pages/index/index?foo=bar&baz=qux",
"description": "A virtual top-up item",
}

Request Body — tiered pricing

{
"category": "Games",
"coverImageFileId": "f7574adb-0ccb-4281-9ed6-943f11a1e85a",
"names": { "en": "JD.com CN Gift Card" },
"skuId": "jdcom-cn-giftcard",
"countryWhitelist": ["CN"],
"path": "/pages/index/index",
"pricing_mode": "tiered",
"pricing_tiers": [
{
"tier_id": "tier_jdcn_30cny",
"tier_type": "fixed",
"names": { "en": "JD.com CN 30 CNY" },
"original_price_usd_cent": 590,
"selling_price_usd_cent": 472
},
{
"tier_id": "tier_jdcn_custom",
"tier_type": "custom",
"names": { "en": "Custom amount" },
"description": "Enter any amount between $10 and $500",
"min_selling_price_usd_cent": 1000,
"max_selling_price_usd_cent": 50000
}
]
}

Response

HTTP 200

{
"code": "000000",
"message": null,
"data": {},
"success": true
}
ErrorCodeRemark
000000Success
900001Invalid Parameter
900002JWT Authentication Failed
900003Unexpected Error
900004Invalid FileId
900260Invalid SkuId

PricingTier Object

Each entry in pricing_tiers is a PricingTier object with the following fields:

FieldTypeRequiredDescription
tier_idstringYesStable merchant-assigned identifier for this tier. Must be unique within the SKU. Max 255 characters.
tier_typestringNo"fixed" (default) for a single preset denomination; "custom" to let users enter any USD amount in a range.
names{[key:string]: string}YesLocale-keyed display name map. en is required.
descriptionstringNoOptional description for this tier.
original_price_usd_centintRequired for fixed tiersList price in USD cents. Must be ≥ selling_price_usd_cent.
selling_price_usd_centintRequired for fixed tiersActual selling price in USD cents. Must be > 0 and ≤ original_price_usd_cent.
min_selling_price_usd_centintRequired for custom tiersMinimum amount the user may enter, in USD cents. Must be > 0 and < max_selling_price_usd_cent.
max_selling_price_usd_centintRequired for custom tiersMaximum amount the user may enter, in USD cents.

Validation rules for pricing_tiers:

  • At least one tier is required when pricing_mode is "tiered".
  • Maximum 50 tiers per SKU.
  • tier_id must be unique within the request.
  • At most one tier may have tier_type = "custom".
  • When pricing_mode is "flat", pricing_tiers must be absent or empty.

Valid Categories

Category
AI Tools
eSIM
Fashion & Beauty
Food & Grocery
Entertainment
Games
Shopping
Telecom & Utilities
Travel