GoPay 提链API v1 返回工作台

独立服务

GoPay-only API

服务固定监听 127.0.0.1:18083,地区固定 ID,币种固定 IDR。

成功判据 只有经过格式校验的 snap_redirect_url 才算提链成功。HTTP 202、Stripe authorize URL、ConfirmationToken 和任务进入队列都不算成功。
基础地址
http://127.0.0.1:18083
请求格式
application/json
默认重试
10 次
单批上限
5000 套
任务鉴权
X-GoPay-Job-Secret

批量提链

POST/api/checkout-batch

sessions、payment_cdk 和至少一条入口代理必填。页面只有一个代理池时,服务会将它同时用于 Checkout 与 GoPay 支付链路。

{
  "sessions": ["<ACCESS_TOKEN_OR_SESSION_JSON>"],
  "link_type": "gopay",
  "payment_cdk": "<CDK>",
  "entry_proxies": ["http://<USER>:<PASS>@<HOST>:<PORT>"],
  "exit_proxies": [],
  "retry_count": 10,
  "use_sen": true,
  "use_promo": true,
  "promo_campaign": "plus-1-month-free"
}

HTTP 202 只表示任务已受理。每个任务分别返回一次性 job_secret:

{
  "ok": true,
  "jobs": [{
    "row": 1,
    "job_id": "<JOB_ID>",
    "job_secret": "<JOB_SECRET>",
    "queue_position": 0
  }],
  "rejected": []
}

进度与取消

GET/api/checkout-progress?job_id={job_id}
curl -sS "http://127.0.0.1:18083/api/checkout-progress?job_id=<JOB_ID>" \
  -H "X-GoPay-Job-Secret: <JOB_SECRET>"
POST/api/checkout-progress/batch
{
  "jobs": [{
    "job_id": "<JOB_ID>",
    "job_secret": "<JOB_SECRET>",
    "log_cursor": 0
  }]
}
POST/api/checkout-cancel
{"job_id":"<JOB_ID>"}

进度与取消都需要任务密钥。密钥错误统一返回 404,响应和日志不会回显 Token、CDK 或代理凭据。

第一阶段资格检测

POST/api/gopay-eligibility

资格检测只验证优惠后金额为 0 且 Checkout 开放 GoPay,不执行 confirm、approval 或提链。

{
  "sessions": ["<ACCESS_TOKEN_OR_SESSION_JSON>"],
  "payment_cdk": "<CDK>",
  "entry_proxies": ["http://<PROXY>"],
  "promo_campaign": "plus-1-month-free"
}
GET/api/gopay-eligibility/{job_id}

查询时使用资格任务自己的 job_secret。

Midtrans 付款状态

POST/api/gopay-payment-status
{"snap_redirect_url":"https://app.midtrans.com/snap/v1/redirection/<TOKEN>"}

返回 midtrans_payment_state:pending、paid、refunded、failed 或 unknown。

只读接口

GET/api/health
GET/api/config
POST/api/cdk-status
GET/api/task-capacity
GET/api/link-success-stats
GET/api/payment-stats

状态与错误

HTTP含义
200查询、取消或只读接口成功。
202任务已受理,尚未证明提链成功。
400字段、代理、数量或 Snap URL 格式不正确。
402CDK 缺失、无效、停用或次数耗尽。
403请求了 GoPay 之外的支付通道。
404任务不存在、密钥不匹配或接口未开放。

任务状态为 queued、running、done、error 或 cancelled。只有结果中存在有效 snap_redirect_url 时才计为提链成功并消费 CDK。