Project

General

Profile

Actions

CR #843

closed
RA

Requirement #841: Parking APS:自動繳費機後端 API 與五家銀行折抵

CR:實作付款確認、開閘與玉山悠遊卡第二階段折扣

CR #843: CR:實作付款確認、開閘與玉山悠遊卡第二階段折扣

Added by Redmine Admin 5 days ago. Updated 5 days ago.

Status:
Closed
Priority:
P0-Urgent
Assignee:
-
Category:
API
Start date:
10/20/2026
Due date:
10/20/2026
% Done:

100%

Estimated time:
Story Points:

Description

變更內容

  • POST /api/v1/payment/confirm-checkout。
  • 驗證最終應付金額、付款方式與重複付款。
  • 玉山聯名卡以 EASYCARD 支付時追加 5% 現金立減。
  • 付款成功寫入交易序號、付款時間與 gateRelease。

驗證

  • 足額付款、payAmount 不符、重複付款。
  • 玉山 EASYCARD 與非 EASYCARD 的差異。
  • 15 分鐘離場緩衝與開閘訊號。

RA Updated by Redmine Admin 5 days ago Actions #1

CR 建立並進入 In Progress:付款確認、開閘、重複付款防護與玉山悠遊卡第二階段。

RA Updated by Redmine Admin 5 days ago Actions #2

實作完成,進入驗收。

已完成

  • POST /api/v1/payment/confirm-checkout。
  • MockPaymentGateway 產生 TXN 交易序號,重置時序號歸零。
  • 玉山聯名卡以 EASYCARD 付款時追加 5% 現金立減。
  • 5% 折扣只套用一次,且 payAmount 驗證在寫入折扣前完成。
  • 付款成功回傳 gateRelease=true、gateReleaseSignal=true 與 15 分鐘緩衝。

邊界

  • 重複付款回 409。
  • 全額折抵後可完成 0 元付款並開閘。
  • 付款失敗請求不會留下部分 5% 折扣。

RA Updated by Redmine Admin 5 days ago Actions #3

  • Status changed from In Progress to Closed

驗收通過並關閉。

  • 付款、開閘、重複付款與 payAmount 邊界全部通過。
  • 玉山 EASYCARD 5% 第二階段與非 EASYCARD 差異均通過。
  • 全額折抵後 0 元付款可正常開閘。

RA Updated by Redmine Admin 5 days ago Actions #4

付款流程補強:

  • MockPaymentGateway 回傳 approved 與 amount 檢核。
  • 授權成功後才寫入玉山 EASYCARD 5% 折扣,避免失敗請求留下部分狀態。
  • npm run check 重新通過 33/33 測試。
Actions

Also available in: PDF Atom