Jkos Online Pay Result
Description
接收 JKOS Online PAY 付款結果。
此 API 是給街口支付呼叫的。
當全通路向街口請求付款成功後,街口會打這支 API 把付款結果送給全通路。
此 API URL 的 company_id、shop_id 是全通路請求街口付款(Jkos Online Entry) API 時就設定好,並以 result_url 傳給街口,街口帶給全通路時就知道是哪間公司門市,不須額外請街口相關人員設定。
Resource
POST /v1/payment/jkos/online/
Request Body Parameters
| Name | Type | Description |
|---|---|---|
| transaction | Transaction | 交易內容 |
Request Body Parameters - Transaction
| Name | Type | Description |
|---|---|---|
| platform_order_id | string | 訂單編號 |
| status | Status | 訂單狀態代碼 |
| tradeNo | string | 街口端交易序號 |
| trans_time | boolean | 交易時間 |
| currency | string | 付款貨幣[ISO 4217],請帶入TWD |
| final_price | string | 訂單實際消費金額 |
| redeem_amount | string | 折抵金額=街口幣折抵+官方街口券折抵+店家街口券折抵 |
| redeem_detail | Redeem Detail | 街口線上支付加密金鑰 (option) |
| debit_amount | string | 付款方式扣款金額(折抵後金額) |
| invoice_vehicle | string | 街口帳戶發票載具 (option) |
| channel_type | string | 支付工具類型:
|
| transaction_seq | string | 街口線上支付加密金鑰 (option) |
Response Body Parameters - Status
| Status Code | Description |
|---|---|
| 0 | 交易成功 |
| 1 | 付款處理中 |
| 101 | 此訂單號尚未付款 |
| 102 | 此訂單號不存在 |
Request Body Parameters - Redeem Detail
| Name | Type | Description |
|---|---|---|
| jko_coin_amount | integer | 街口幣折抵 |
| official_coupon_amount | integer | 官方街口券折抵 |
| store_coupon_amount | integer | 店家街口券折 |
Request Example
POST /v1/payment/jkos/online/18090377/000030/result
{
"transaction": {
"platform_order_id": "00003025050900011",
"status": 0,
"tradeNo": "J0081521125050800003",
"trans_time": "2025-05-08 11:50:57",
"currency": "TWD",
"final_price": "20",
"redeem_amount": "6",
"redeem_detail": {
"jko_coin_amount": 6,
"official_coupon_amount": 0,
"store_coupon_amount": 0
},
"debit_amount": "8",
"invoice_vehicle": "/7692CV2",
"channel_type": "account",
"transaction_seq": "S20250508000009"
}
}
Response Example - Http Code 200
{}
接收 JKOS Online PAY 付款結果流程圖
sequenceDiagram
participant JKOS as 街口支付
participant Omni as 全通路平台
participant DB as 全通路資料庫
JKOS->>Omni: POST /jkos/online/{company_id}/{shop_id}/result
Omni->>Omni: 判斷是否使用街口券
alt 未使用街口券
Omni->>DB: 更新 weborder02 為 is_paid = 1
Omni-->>JKOS: Response(200, {})
else 有使用街口券
Omni->>Omni: 判斷券為支付方式 or 商品
alt 為支付方式
Omni->>DB: 攤提折扣至 weborder01
Omni->>DB: 寫入 weborder02 金額與券資料
else 為商品
Omni->>DB: 寫入 weborder01 為商品項目
Omni->>DB: 更新 weborder00 實付金額
end
Omni->>DB: 更新發票金額
Omni->>DB: 更新 weborder02 為 is_paid = 1
Omni-->>JKOS: Response(200, {})
end