Partner API · UPI 仅提链

← 返回 UPI 提链页 · 选择产品 · JSON 自描述

UPI 提链 API 对接文档

对应客户页 /open/upi · UPI 印度仅提链。 仅 product=extract + channel=upi(出 UPI 支付链接)。 不经过荷兰号池 / extract_pay。 面向 客户后端服务 用 API Key 对接。

Base: https://open.756257.xyz 正确域名: open.756257.xyz 对接位置: 后端服务 鉴权: API Key 成功状态: link_ready 检测中…

对接方式 鉴权 提交 轮询 取消 状态 错误码 示例 注意

0. 对接方式

请在客户自己的后端服务调用本 API,例如 PHP / Java / Node / Python 服务端、定时任务或服务器脚本。

1. 鉴权

API Key 由站长在服务器配置(环境变量 OPEN_EXTRACT_API_KEY),请私下索取,不要写在公开页面

请求头(二选一)

X-Open-Api-Key: YOUR_API_KEY
Authorization: Bearer YOUR_API_KEY

也可放在 JSON 字段 api_key(不推荐,易进日志)。

已配置

— 可调用 POST

限流

同一 Key 约 120 次 / 10 分钟(提交)。超限返回 429。

2. 提交提链

POST https://open.756257.xyz/api/open/v1/extract

Body(JSON)

字段必填说明
cdk提链卡密;普通卡批量时一行一个;合并多次卡可一张对应多条 session
tokenSession / AccessToken;支持多条
channelupi(默认,可省略)。当前客户对接以 UPI 为准
email辅助邮箱;一般可从 token 解析
product忽略接口强制为 extract;传 extract_pay 会被拒绝

成功响应(节选)

{
  "ok": true,
  "count": 1,
  "order": {
    "id": "订单ID",
    "view_key": "查询密钥(务必保存)",
    "status": "queued",
    "product": "extract",
    "channel": "upi",
    "progress": 5,
    "status_label": "排队中"
  },
  "orders": [ /* 批量时多条 */ ],
  "message": "已提交,处理中"
}

也可用 POST /api/open/redeem + 同一 API Key,但 product 必须为 extract

3. 轮询订单

GET https://open.756257.xyz/api/open/v1/extract/order/<order_id>?k=<view_key>

等价于 GET /api/open/order/<id>?k=...。无 view_key 时只返回粗粒度状态,拿不到支付链接

成功出链时字段

字段说明
statuslink_ready 表示提链成功
pay_url / pix_url支付链接(UPI/PIX 通用字段名)
pix_emv仅 PIX 可能有复制码
email脱敏邮箱

建议间隔 2–5 秒轮询,直到 link_readyfailed

取消提链 / 停止

排队中或提链处理中可取消;成功后会退回 CDK。已出链(link_ready)不可取消。

POST https://open.756257.xyz/api/open/v1/extract/order/<order_id>/cancel
Content-Type: application/json
X-Open-Api-Key: YOUR_API_KEY

{"k":"提交时返回的 view_key"}

也可用 /stop 路径,效果相同。鉴权:API Key + view_key,或 body 里提供与订单一致的 cdk。

4. 订单状态

status含义下一步
queued排队继续轮询
extracting提链处理中继续轮询
link_ready已出链读取 pay_url
failed失败看 message;卡密通常已退回
pool_waiting号池等待纯提链 API 不应出现(属 extract_pay)

5. 常见 HTTP 状态

HTTP场景
200业务成功(仍看 body.ok)
400参数/Session/卡密格式问题
401API Key 无效或缺失
403通道关闭,或试图用 Key 走 extract_pay
404订单不存在
429提交过频
503服务器未配置 OPEN_EXTRACT_API_KEY

其它接口(无需 Key)

6. 调用示例

curl

curl -sS -X POST "https://open.756257.xyz/api/open/v1/extract" \
  -H "Content-Type: application/json" \
  -H "X-Open-Api-Key: YOUR_API_KEY" \
  -d '{"cdk":"你的提链卡密","token":"你的Session","channel":"upi"}'

# 轮询
curl -sS "https://open.756257.xyz/api/open/v1/extract/order/订单ID?k=view_key"

Python

import time, requests

BASE = "https://open.756257.xyz"
KEY = "YOUR_API_KEY"

r = requests.post(
    f"{BASE}/api/open/v1/extract",
    headers={"X-Open-Api-Key": KEY},
    json={"cdk": "你的提链卡密", "token": "你的Session", "channel": "upi"},
    timeout=30,
)
r.raise_for_status()
data = r.json()
assert data.get("ok"), data
order = data["order"]
oid, vk = order["id"], order["view_key"]

while True:
    q = requests.get(
        f"{BASE}/api/open/v1/extract/order/{oid}",
        params={"k": vk},
        timeout=20,
    ).json()
    o = q.get("order") or {}
    st = o.get("status")
    print(st, o.get("message"))
    if st == "link_ready":
        print("pay_url:", o.get("pay_url") or o.get("pix_url"))
        break
    if st == "failed":
        raise SystemExit(o.get("message") or "failed")
    time.sleep(3)

7. 注意

机器可读:GET /api/open/v1/extract

© extract partner api · open.756257.xyz