第三方支付

統一下單 / 訂單查詢 / 訂單退款三件套。支持支付寶、微信、QQ 錢包等支付方式,PC 與移動端通用:按返回的 pay_type 渲染二維碼或打開收銀臺地址即可。

/api/pay/

服務說明

支付服務把「下單 → 用戶付款 → 到賬 / 發貨」這條鏈路收斂成三個接口:/api/pay/create 下單拿到支付參數,/api/pay/query 查詢並同步訂單狀態,/api/pay/refund 退款。調用方不需要對接各支付平臺的協議與簽名。

支付結果只認異步回調與主動查單,頁面跳轉不算:用戶付款完成後,平臺會異步通知本站,本站校驗簽名與金額後推進訂單(給調用項目的點數餘額充值);通知偶有丟失,因此調用方可在支付後輪詢 query 接口兜底,兩邊都能觸發且只會發貨一次。

PC 與移動端同一條路:支付形態由平臺按 method / device 返回 ——pay_info 直接在頁面渲染即可(qrcode 出二維碼,jump 打開收銀臺地址)。移動端 H5 / 內嵌 WebView 用 method=jump + device=mobile,原生 App 內喚起用 method=app,微信內用 device=wechat。

響應格式

所有接口返回同一個 JSON 信封,業務數據都在 data 裡:

{
  "code": 10000,
  "msg": "成功",
  "data": { ... }
}
  • code:業務狀態碼,10000 表示成功;其餘為各類錯誤,完整清單見「錯誤碼」頁。
  • msg:給人看的提示文案,可直接展示給終端用戶,但不要用它做邏輯判斷。
  • data:業務數據;出錯時通常為 null。各接口 data 的具體字段見該接口的「響應說明」。

判斷成功與否請看 code,不要依賴 HTTP 狀態碼。 查看完整錯誤碼

易支付

ezfp.cn(聚合支付網關,RSA 簽名) 需簽名

聚合支付网关,网关地址与商户凭据(商户 ID + 商户私钥 + 平台公钥)由本站后台「支付设置」维护,调用方无需也不应持有。下单的 notify_url 由本站固定为/pay/notify/ezfp/,调用方不需要传。实际可用的支付方式取决于商户用户组开通了哪些,未开通的方式下单时平台会直接报错。

POST /api/pay/create 累計調用 0 次 免費 服務價

統一下單

創建一筆支付訂單,返回支付參數(二維碼內容或收銀臺跳轉地址)與商戶訂單號。

必填。與商戶用戶組開通的方式一致,否則平臺報錯

必填。大於 0 的數字,兩位小數;不得低於後臺設置的單筆最低金額

選填。不傳則用第一個啟用的渠道(當前僅 ezfp)

選填。用戶在收銀臺看到的商品名,不傳則用「訂單支付」

選填。只影響用戶付款後瀏覽器跳回哪裡,不參與到賬判定

選填。原樣回傳,便於對賬時把訂單與自己系統的業務單關聯起來

選填。移動端 H5 / WebView 建議 jump;原生 App 用 app

選填。移動端建議 mobile,微信內 wechat

  • 拿到返回後按 pay_type 渲染:qrcode 直接把 pay_info 做成二維碼;jump 用瀏覽器 / WebView 打開 pay_info(收銀臺頁自帶二維碼與付款入口)。實測同一筆微信支付在 method=web 下返回 qrcode,在 method=jump 下返回 https 收銀臺地址,故不要硬編碼某一種形態。
  • 到賬只認異步回調與主動查單:return_url 的頁面跳轉只代表用戶看到了結果頁,不能作為發貨依據;請以 query 接口的 paid 或本站異步通知後的餘額變化為準。
  • 只扣一次:同一訂單重複回調 / 回調與查單同時命中時,本站用行鎖 + 狀態判斷保證發貨只發生一次。
  • 移動端無需自備二維碼庫:用 method=jump 時返回的是普通網頁地址,PC 瀏覽器、手機瀏覽器、WebView 都能直接打開。
  • 下單本身不消耗項目點數(本服務單價為 0 點/次),因此餘額為 0 的項目也能調用本接口給自己的項目充值。
響應說明 外層統一格式
字段 類型 說明
out_trade_no string 商戶訂單號(本站生成,查詢 / 退款都用它)
trade_no string 平臺訂單號(部分渠道下單時為空,付款後才有)
provider string 渠道標識,當前為 ezfp
pay_type string 支付形態:qrcode=二維碼內容 / jump=收銀臺地址
amount string 金額(元,兩位小數)
subject string 商品名稱
status string 訂單狀態:pending 待支付 / paid 已支付 / partial_refunded 部分退款 / refunded 已退款 / failed 下單失敗 / closed 已關閉
pay_info string 支付參數:pay_type=qrcode 時是二維碼內容,jump 時是收銀臺地址
param string 業務擴展參數,原樣返回
返回示例
{
  "out_trade_no": "XY20261002120000123456",
  "trade_no": "2026100222001412345678",
  "provider": "ezfp",
  "pay_type": "qrcode",
  "amount": "1.00",
  "subject": "账户充值",
  "status": "pending",
  "pay_info": "weixin://wxpay/bizpayurl?pr=AbCdEfG",
  "param": ""
}
POST /api/pay/query 累計調用 0 次 免費 服務價

訂單查詢

按商戶訂單號查詢訂單,並把平臺最新狀態同步回本站(已支付會補發貨)。

必填。下單接口返回的 out_trade_no

  • 只能查本調用方自己下的單:訂單按 APPID 歸屬隔離,別人的單一律返回「訂單不存在」。
  • 查到平臺已支付且本站訂單還沒推進時,本接口會當場補發貨(按後臺匯率給調用項目加點數),因此「回調沒收到」也能靠輪詢查單兜底。
  • 已下單後建議每 3~5 秒查一次,直到 paid=true 或超時;不必高頻輪詢,平臺側訂單狀態不會瞬間多次跳變。
響應說明 外層統一格式
字段 類型 說明
out_trade_no string 商戶訂單號(本站生成,查詢 / 退款都用它)
trade_no string 平臺訂單號(部分渠道下單時為空,付款後才有)
provider string 渠道標識,當前為 ezfp
pay_type string 支付形態:qrcode=二維碼內容 / jump=收銀臺地址
amount string 金額(元,兩位小數)
subject string 商品名稱
status string 訂單狀態:pending 待支付 / paid 已支付 / partial_refunded 部分退款 / refunded 已退款 / failed 下單失敗 / closed 已關閉
pay_info string 支付參數:pay_type=qrcode 時是二維碼內容,jump 時是收銀臺地址
param string 業務擴展參數,原樣返回
paid bool 是否已支付(true 時訂單已推進並發貨)
返回示例
{
  "out_trade_no": "XY20261002120000123456",
  "trade_no": "2026100222001412345678",
  "provider": "ezfp",
  "pay_type": "qrcode",
  "amount": "1.00",
  "subject": "账户充值",
  "status": "paid",
  "pay_info": "weixin://wxpay/bizpayurl?pr=AbCdEfG",
  "param": "",
  "paid": true
}
POST /api/pay/refund 累計調用 0 次 免費 服務價

訂單退款

對已支付的訂單發起退款;`amount` 留空表示退回剩餘可退金額。

必填。要退款的訂單號

選填。不得大於可退金額(訂單金額 − 已退金額)

  • 只能退本調用方自己的訂單。退款是否支持分筆、到賬時長由支付平臺與渠道決定,本接口只負責提交並把結果回寫訂單。
  • 退款成功後本站訂單狀態變為 refunded(部分退款為 partial_refunded),累計退款額記在 refund_amount。
  • ⚠️ 已充進調用項目點數的訂單退款,點數不會自動扣回 ——需要人工核賬時請聯繫本站管理員。
響應說明 外層統一格式
字段 類型 說明
out_trade_no string 商戶訂單號(本站生成,查詢 / 退款都用它)
trade_no string 平臺訂單號(部分渠道下單時為空,付款後才有)
provider string 渠道標識,當前為 ezfp
pay_type string 支付形態:qrcode=二維碼內容 / jump=收銀臺地址
amount string 金額(元,兩位小數)
subject string 商品名稱
status string 訂單狀態:pending 待支付 / paid 已支付 / partial_refunded 部分退款 / refunded 已退款 / failed 下單失敗 / closed 已關閉
pay_info string 支付參數:pay_type=qrcode 時是二維碼內容,jump 時是收銀臺地址
param string 業務擴展參數,原樣返回
refund_amount string 累計已退款金額(元)
返回示例
{
  "out_trade_no": "XY20261002120000123456",
  "trade_no": "2026100222001412345678",
  "provider": "ezfp",
  "pay_type": "qrcode",
  "amount": "1.00",
  "subject": "账户充值",
  "status": "refunded",
  "pay_info": "weixin://wxpay/bizpayurl?pr=AbCdEfG",
  "param": "",
  "refund_amount": "1.00"
}
小影API · 通用 API 聚合服務