跳到主要内容

mgtv.requestPaymentVip(Object object)

功能描述

发起购买会员请求

参数

Object object

属性类型默认值必填说明
signDatastring原串
signstring签名,见签名算法说明
timestampnumber时间戳(单位:毫秒)
successfunction成功的回调函数
failfunction失败的回调函数
completefunction接口调用结束的回调函数(调用成功、失败都会执行)

signData

属性类型默认值必填说明
vipTypenumber会员类型(1-小屏;2-全屏;3-svip;4-亲密会员)
outTradeNostring业务订单号

购买失败

错误码错误信息说明
-1网络异常/频繁调用
200订单未支付
500订单异常
1000参数错误

购买成功

属性返回值说明
tradeNoResultVipTradeNoResult[]购买结果

VipTradeNoResult

属性类型说明
outTradeNostring订单号
statusnumber状态(21-成功)
vipTypenumber会员类型(1-小屏;2-全屏;3-svip;4-亲密会员)
vipDaysnumber会员天数

示例代码

mgtv.requestPaymentVip({
signData: '{"outTradeNo":"20250807165422FT_1qlkv","vipType":1}',
sign: 'f9fb49030135808460994c9170039854377c12d9431e3b1bcf5b7f6b0986a87e',
timestamp: 1754556862496,
success(res) {
console.log('success', res);
},
fail({ errMsg, errCode}) {
console.error(errMsg, errCode)
}
})

签名算法说明

sign 参数的签名算法,使用小游戏开发设置中的 AppSecret 对支付的请求进行签名,代表请求经过开发者服务端的支付模块发起。

签名算法伪代码为:

sign = to_hex(hmac_sha256(app_secret, timestamp + '&' + signData))

签名代码 python 实现

import hmac
import hashlib
import urllib.parse

# sign_data 支付原串
# app_secret 开放平台小程序 AppSecret
# timestamp 时间戳
def gen_sign(sign_data, app_secret, timestamp):
need_encode_body = timestamp + '&' + sign_data
print(need_encode_body)
return hmac.new(key=app_secret.encode('utf-8'), msg=need_encode_body.encode('utf-8'),
digestmod=hashlib.sha256).hexdigest()