BAC DocumentBAC Document
首页
目录
贡献指南
  • QQ交流群(综合技术交流)
  • Telegram交流群(Github Bot推送)
GitHub
首页
目录
贡献指南
  • QQ交流群(综合技术交流)
  • Telegram交流群(Github Bot推送)
GitHub
  • 微信&支付宝方式充电

微信&支付宝方式充电

操作流程:

  1. 申请充电二维码及扫码秘钥,秘钥临时保存备用
  2. 使用qr_code_url中的值生成二维码
  3. 用支付宝或微信扫描
  4. 以扫码秘钥作为参数轮询检查扫码支付结果

申请充电二维码及扫码秘钥

https://api.bilibili.com/x/ugcpay/web/v2/trade/elec/pay/qr_code/create

请求方式:POST

认证方式:Cookie(SESSDATA)

秘钥有效时间为10分钟

正文参数( application/x-www-form-urlencoded ):

参数名类型内容必要性备注
bp_numnum充电B币数量必要必须在2-9999之间
is_bp_remains_priorbool是否优先扣除B币必要true:是
false:否
在B币不足时剩余的部分利用支付平台支付
up_midnum充电对象用户mid必要
otypestr充电来源必要up:空间充电
archive:视频充电
oidnum充电来源代码必要空间充电:充电对象用户mid
视频充电:稿件avid
csrfstrCSRF Token(位于cookie)必要

json回复:

根对象:

字段类型内容备注
codenum返回值0:成功
-101:账号未登录
-111:csrf校验失败
-400:请求错误
-500:服务器错误
messagestr错误信息默认为0
ttlnum1
dataobj信息本体

data对象:

字段类型内容备注
qr_code_urlstr支付二维码生成内容存在转义
qr_tokenstr扫码秘钥
expnum获得经验数

示例:

申请空间的方式向用户23215368充电10电池且不使用B币的支付二维码

curl 'https://api.bilibili.com/x/ugcpay/trade/elec/pay/qr_code/create' \
--data-urlencode 'elec_num=10' \
--data-urlencode 'up_mid=23215368' \
--data-urlencode 'is_bp_remains_prior=false' \
--data-urlencode 'otype=up' \
--data-urlencode 'oid=23215368' \
--data-urlencode 'csrf=xxx' \
-b 'SESSDATA=xxx'
查看响应示例:
{
	"code": 0,
	"message": "0",
	"ttl": 1,
	"data": {
		"qr_code_url": "https://api.bilibili.com/x/ugcpay/trade/elec/pay/qr_code/gateway?mid=293793435&token=c1cb1d95d2194ba58df6bb0f24ae1aaa",
		"qr_token": "c1cb1d95d2194ba58df6bb0f24ae1aaa",
		"exp": 1
	}
}

检查扫码支付结果

https://api.bilibili.com/x/ugcpay/trade/elec/pay/order/status

请求方式:GET

认证方式:Cookie(SESSDATA)

url参数:

参数名类型内容必要性备注
qr_tokenstr扫码秘钥必要

json回复:

根对象:

字段类型内容备注
codenum返回值0:成功
-101:账号未登录
messagestr错误信息默认为0
ttlnum1
dataobj信息本体

data对象:

字段类型内容备注
qr_tokenstr扫码秘钥
order_nostr留言token未成功则无此项
用于添加充电留言
midnum当前用户mid
statusnum状态值若秘钥错误则无此项
1:已支付
2:未扫描
3:未确认

示例:

当申请到的支付二维码未被扫描时,data.status的值为2

curl -G 'https://api.bilibili.com/x/ugcpay/trade/elec/pay/order/status' \
--data-urlencode 'qr_token=c7cbdc47fc424cd18f2146db653597b8' \
-b 'SESSDATA=xxx'
查看响应示例:
{
    "code": 0,
    "message": "0",
    "ttl": 1,
    "data": {
        "qr_token": "c7cbdc47fc424cd18f2146db653597b8",
        "mid": 293793435,
        "status": 2
    }
}

当申请到的支付二维码已扫描但未确认时,data.status的值为3

curl -G 'https://api.bilibili.com/x/ugcpay/trade/elec/pay/order/status' \
--data-urlencode 'qr_token=c7cbdc47fc424cd18f2146db653597b8' \
-b 'SESSDATA=xxx'
查看响应示例:
{
    "code": 0,
    "message": "0",
    "ttl": 1,
    "data": {
        "qr_token": "c7cbdc47fc424cd18f2146db653597b8",
        "mid": 293793435,
        "status": 3
    }
}

成功支付后,data.status的值为1,且data.order_no存在留言token

curl -G 'https://api.bilibili.com/x/ugcpay/trade/elec/pay/order/status' \
--data-urlencode 'qr_token=c7cbdc47fc424cd18f2146db653597b8' \
-b 'SESSDATA=xxx'
查看响应示例:
{
    "code": 0,
    "message": "0",
    "ttl": 1,
    "data": {
        "qr_token": "bd649c836c524550bfe22a369334fc05",
        "order_no": "BPTD36U3KP82I31RSSLG",
        "mid": 293793435,
        "status": 1
    }
}
在 GitHub 上编辑此页
最近更新:: 2025/2/25 15:51
Contributors: SocialSisterYi, SessionHu, wuziqian211
Copyright © 2020-2025 SocialSisterYi | CC-BY-NC-4.0 Licensed