Skip to content

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///result

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 支付工具類型:
  • account: 儲值帳戶
  • bank: 銀行帳戶
  • creditcard: 信用卡
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