فهرست منبع

补充OMG现行退款文档说明

qmj 3 روز پیش
والد
کامیت
df66a2d62c

+ 2 - 0
specs/016-omg-payment/data-model.md

@@ -1,5 +1,7 @@
 # Data Model: OMG(歐買尬/FunPoint)AIO 支付接入
 
+> **2026-10-15 现行补充**:本文件保留 016 初版数据模型供历史追溯,下面的旧支付流水和退款表 DDL 不是现行迁移脚本。现行支付尝试为 `pos_order_omg_attempt`,退款意图为按 `attempt_id` 唯一的 `pos_order_omg_refund`;`effective_at`、环境快照及完整增量 SQL 见 [037 规格](../037-order-no-rider-auto-cancel/spec.md)与 `updatesql/sql.md` 的 2026-10-15 节。
+
 **Feature**: specs/016-omg-payment/spec.md
 **Date**: 2026-07-29
 

+ 12 - 5
specs/016-omg-payment/frontend-integration.md

@@ -1,6 +1,8 @@
 # OMG(歐買尬/FunPoint)支付 — 前端接入文档
 
-**适用端**:客户 App(uni-app) | **后端分支**:`OmgPayController` 已完成 | **日期**:2026-08-14
+> **2026-10-15 现行补充**:本页保留 016 初期接入说明;退款请求和返回语义以更新后的 §3.4 为准。无人接单自动取消与退款由后端任务处理,前端展示订单及退款状态即可。后端计时、测试环境限制见 [037 规格](../037-order-no-rider-auto-cancel/spec.md)。
+
+**适用端**:客户 App(uni-app) | **后端入口**:`OmgPaymentController` | **初版日期**:2026-08-14
 
 ---
 
@@ -151,23 +153,28 @@ App 返回后用 Header `token` 和 JSON `{"orderId":"..."}` 调用。接口只
 
 ### 3.4 退款(取消已支付订单)— `POST /pay/omg/refund`
 
-**用途**:用户取消已支付的信用卡/Apple Pay 订单时退款。
+**用途**:订单已取消且 OMG 实收后,登记退款意图。接口成功只表示意图已接受,正式环境由后台任务按网关状态异步退款;前端不能立即显示“已退款”。无人接单自动取消时由后端自行登记,前端无需主动调用本接口。
 
 | 项 | 内容 |
 |----|------|
 | Method | `POST` |
 | Header | `token: <用户JWT>` |
-| 入参 | query:`orderid` = ddId |
+| 入参 | JSON body:`{"orderId":"订单号"}` |
 | 鉴权 | 订单本人 |
 
 **请求**
 ```
-POST {baseURL}/pay/omg/refund?orderid=DD202608060001
+POST {baseURL}/pay/omg/refund
 Header: token: eyJ...
+Content-Type: application/json
+
+{"orderId":"DD202608060001"}
 ```
 
 **返回**
-| code=200 | 信用卡/Apple Pay 退刷成功,`pos_order.pay_status` 置 2 |
+| code=200 | 已登记退款意图;需继续查询订单/退款状态,不能据此认定资金已退回 |
+
+测试环境没有 OMG 信用卡真实退款能力,接口会返回不可退款错误;测试退款意图不会被标记为成功。正式环境需配置商户 CreditCheckCode 并完成真实网关联调,详见 [037 计划](../037-order-no-rider-auto-cancel/plan.md)。
 
 ---
 

+ 3 - 1
specs/016-omg-payment/omg-official-api-ref.md

@@ -1,5 +1,7 @@
 # OMG(歐買尬/FunPoint)全方位金流 官方接口参考
 
+> **2026-10-15 项目现状**:本页保留当时的官方接口摘录;下文“本项目只用 Action=R”等旧实现说明已过时。现行代码先查询信用卡状态,按状态执行 N、E 后 N 或 R;测试环境不支持实际退款。实现与部署口径见 [037 规格](../037-order-no-rider-auto-cancel/spec.md)。
+
 > **来源**:OMG 官方介接技术文件 https://developers.omg.com.tw/payment/aio/
 > **文档版本**:V 1.5.3(2026-07,首页标注,茂為歐買尬數位科技)
 > **抓取日期**:2026-08-12
@@ -15,7 +17,7 @@
 | 正式 | `https://payment.funpoint.com.tw` |
 | 测试 | `https://payment-stage.funpoint.com.tw` |
 
-本项目配置(`application.yml` → `omg.base-url`):测试期指向 stage。
+本项目当前通过 `omgpay.environment` 选择 TEST(默认)或 PRODUCTION,按创建支付尝试时的环境快照查询交易;退款还要求正式环境及对应商户的 CreditCheckCode。
 
 凭证:门店级 `pos_store_omg`(merchant_id / hash_key / hash_iv / store_id),CheckMacValue 用 HashKey/HashIV 签名。
 

+ 2 - 0
specs/016-omg-payment/plan.md

@@ -1,5 +1,7 @@
 # Implementation Plan: OMG(歐買尬/FunPoint)AIO 支付接入
 
+> **2026-10-15 现行补充**:本文件记录 016 初期设计,以下旧支付流水、退款表与 stage 退款步骤不再代表当前实现。现行支付尝试使用 `pos_order_omg_attempt`;无人接单取消、正式环境自动退款和部署边界见 [037 规格](../037-order-no-rider-auto-cancel/spec.md)、[037 计划](../037-order-no-rider-auto-cancel/plan.md)及 `updatesql/sql.md` 的 2026-10-15 节。测试环境无法实际退款,不能据此标记退款成功。
+
 **Branch**: `(待创建,暂未建分支/未提交)` | **Date**: 2026-07-29 | **Spec**: [spec.md](spec.md)
 
 **Input**: Feature specification from `/specs/016-omg-payment/spec.md`

+ 2 - 0
specs/016-omg-payment/quickstart.md

@@ -1,5 +1,7 @@
 # Quickstart: OMG(歐買尬/FunPoint)AIO 支付接入
 
+> **2026-10-15 现行补充**:以下为 016 初期验证草案,旧 `pos_order_omg_payment` DDL 和“默认 R 退刷”步骤不得按现行部署流程执行。当前使用 `pos_order_omg_attempt` 与幂等退款意图;按网关信用卡状态选择 N、E 后 N 或 R。测试环境退款不可用,正式环境的部署与验收口径见 [037 规格](../037-order-no-rider-auto-cancel/spec.md)及 `updatesql/sql.md` 的 2026-10-15 节。
+
 **Feature**: specs/016-omg-payment/spec.md
 **Date**: 2026-07-29
 

+ 2 - 0
specs/016-omg-payment/spec.md

@@ -1,5 +1,7 @@
 # Feature Specification: OMG 支付接入(订单在线支付)
 
+> **2026-10-15 现行补充**:本文件保留 016 初期需求与决策记录;支付尝试、退款及测试/正式环境边界已由后续实现调整。现行无人接单自动取消与 OMG 正式退款规格见 [037 规格](../037-order-no-rider-auto-cancel/spec.md),迁移 SQL 见 `updatesql/sql.md` 的 2026-10-15 节。
+
 **Feature Branch**: `(待创建,暂未建分支/未提交)`
 
 **Created**: 2026-07-29