跳到主要内容

mgtv.requestPaymentVip(Object object)

框架版本 1.3.0 开始支持。

功能描述​

发起购买会员请求

参数​

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()