Skip to main content

UpdateSKU

Updates one or more fields of an existing SKU. Only names, coverImageFileId, and description require audit approval before taking effect. All other fields take effect immediately without audit. Note: sellingPrice and originalPrice are ignored for pricing_mode = "tiered" — the effective values are always auto-calculated from pricing_tiers.

Host: dip-cb.binanceapi.com

PATCH /mp-api/v1/apps/{appId}/skus/{skuId}

Header

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

Path Parameters

ParameterDescription
appIdThe AppId of the mini program
skuIdThe skuId of the SKU

Body Parameters

ParameterTypeRequiredDescriptionExample
categorystringNoCategory of this SKU.
See Valid Categories for accepted values.
"Games"
coverImageFileIdstringNoCover image for this SKU.
Must be a file ID returned by UploadFile. The file must have passed safety checks before use.
f7574adb-0ccb-4281-9ed6-943f11a1e85a
names{[key:string]: string}NoLocale-keyed display name map for this SKU.
Rules: en key is required. Maximum 128 characters per value.
Replaces the entire existing map when provided.
{"en": "pubg 100 point"}
originalPricenumberRequired when pricing_mode is "flat"List price in USD.
"flat" mode: Required. Must be > 0. Must be ≥ sellingPrice. Sub-cent amounts are truncated (e.g., 9.9999 → 9.99).
"tiered" mode: Ignored if provided — auto-calculated from pricing_tiers as the maximum original_price_usd_cent across all tiers.
"custom" mode: Optional. Saved as-is if provided.
9.99
sellingPricenumberRequired when pricing_mode is "flat"Actual selling price in USD.
"flat" mode: Required. Must be > 0. Must be ≤ originalPrice. Sub-cent amounts are truncated (e.g., 9.9999 → 9.99).
"tiered" mode: Ignored if provided — auto-calculated from pricing_tiers as the minimum selling_price_usd_cent across all tiers.
"custom" mode: Optional. Saved as-is if provided.
6
discountPercentageintRequired when pricing_mode is "custom"Discount percentage shown to buyers.
Values: 1–99.
"custom" mode: Required. Used to back-calculate originalPrice from min_selling_price_usd_cent (formula: original = min / (1 − discount/100)).
"flat" / "tiered" mode: Optional. Displayed as the price reduction badge.
32
countryWhitelistArray<String>NoCountries where this SKU is eligible to be displayed.
Values: ISO 3166-1 alpha-2 country codes.
If empty, SKU can be displayed in all countries. Replaces the entire existing list when provided.
["JP"]
countryBlacklistArray<String>NoCountries where this SKU must not be displayed.
Values: ISO 3166-1 alpha-2 country codes.
Replaces the entire existing list when provided.
["CN", "GB"]
pathstringNoMini-program page path to open when the SKU is tapped.
Rules: Must start with /. Maximum 1024 characters. Query parameters (after ?) are parsed and stored separately.
/hello/world?foo=bar
descriptionstringYesDescription for this SKU.A virtual top-up item
stocksintNoMerchant-provided inventory quantity.100
autoDeliveryboolNoWhether the SKU supports automatic delivery after purchase.true
pricing_modestringNoDetermines how the SKU is priced. Absent means no change to the current mode.
Values:
- "flat" — single fixed price defined by sellingPrice / originalPrice.
- "tiered" — multiple fixed denominations defined by pricing_tiers.
- "custom" — buyer enters any amount within the range defined by min_selling_price_usd_cent / max_selling_price_usd_cent.
"tiered"
pricing_tiersArray<PricingTier>NoList of fixed denomination options for this SKU.
Rules: 1–50 tiers. Each tier must have a unique tier_id. Replaces all existing tiers when provided.
"tiered" mode: Must be non-empty.
"flat" / "custom" mode: Must be absent or empty.
See PricingTier Object in CreateSKUInAudit.
see CreateSKUInAudit
min_selling_price_usd_centintNoMinimum amount the buyer may enter, in USD cents.
Rules: Must be > 0. Must be < max_selling_price_usd_cent.
Required when changing pricing_mode to "custom". Only applies when pricing_mode is "custom".
1000
max_selling_price_usd_centintNoMaximum amount the buyer may enter, in USD cents.
Rules: Must be > min_selling_price_usd_cent.
Required when changing pricing_mode to "custom". Only applies when pricing_mode is "custom".
50000
custom_price_options_usd_centArray<int>NoPreset quick-select amounts shown to the buyer, in USD cents.
Rules: Maximum 5 entries. Each value must be > 0 and within [min_selling_price_usd_cent, max_selling_price_usd_cent].
Only applies when pricing_mode is "custom". Replaces existing presets when provided; absent means no change.
[1000, 2500, 5000]

Note:

  1. The following fields require audit approval before taking effect: names, coverImageFileId, and description. All other fields — including category, path, countryWhitelist, countryBlacklist, sellingPrice, originalPrice, discountPercentage, pricing_mode, pricing_tiers, min_selling_price_usd_cent, max_selling_price_usd_cent, custom_price_options_usd_cent, stocks, and autoDelivery — take effect immediately without audit. When pricing_mode is "tiered", sending sellingPrice or originalPrice has no effect — those values are always derived from pricing_tiers by the server.
  2. Updating each field will overwrite its entire original value.

Request Body

​{
"names": {
"en": "PUBG 100 points",
"zh-TW": "PUBG 100 點",
},
"countryWhitelist": ["JP"],
"countryBlacklist": ["CN", "TW"]
}

Response

HTTP 200 in JSON

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

Valid Categories

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