|
|
@@ -13,7 +13,7 @@ OMG(欧买尬/FunPoint)是**网页托管式支付网关**(AIO = All-In-One
|
|
|
| LINE Pay | 有 LINE App | 唤起 LINE App 内 | deep link 唤起 |
|
|
|
| **OMG / FunPoint** | **没有 App** | **OMG 的网页收银台** | **form post 跳网页** |
|
|
|
|
|
|
-后端 `ChoosePayment=ALL` 已把 **信用卡 / Apple Pay / ATM / 超商 / AFTEE** 全聚合在一个收银台里,用户在那个网页上自己选方式付款。**前端不需要集成任何支付 SDK,只需要把用户「跳过去」再「接回来」。**
|
|
|
+后端固定使用 `ChoosePayment=Credit`、`UnionPay=2`,OMG 收银台只提供 **信用卡与 Apple Pay**。**前端不需要集成任何支付 SDK,只需要把用户「跳过去」再「接回来」。**
|
|
|
|
|
|
---
|
|
|
|
|
|
@@ -32,7 +32,7 @@ OMG(欧买尬/FunPoint)是**网页托管式支付网关**(AIO = All-In-One
|
|
|
│
|
|
|
│ omgPay.html 自动 submit 隐藏表单 → 跳转
|
|
|
▼
|
|
|
-[OMG 收银台网页] 用户选支付方式(信用卡/Apple Pay/ATM/超商)并付款
|
|
|
+[OMG 收银台网页] 用户使用信用卡或 Apple Pay 付款
|
|
|
│
|
|
|
│ ③ 付款后 OMG 把 web-view 跳回 OrderResultURL
|
|
|
│ 后端 /pay/omg/return 302 → 前端结果页?ddId=xxx
|
|
|
@@ -55,7 +55,7 @@ OMG(欧买尬/FunPoint)是**网页托管式支付网关**(AIO = All-In-One
|
|
|
| 1 | 放一个 `omgPay.html` 到 `static/`,作为 web-view 收银台跳转页 | uni-app 工程 |
|
|
|
| 2 | 发起支付:调 `/pay/omg/create` → 拼 URL → 打开 web-view | 发起支付页 |
|
|
|
| 3 | 支付结果页:接收 `ddId` → 查状态 → 展示成功/失败/取号 | 支付结果页 |
|
|
|
-| 4 | ATM/超商取号展示页:调 `/pay/omg/paymentInfo/{orderid}` 展示虚帐/缴费码 | 取号页(可与结果页合并) |
|
|
|
+| 4 | 不再实现 ATM/超商取号展示;后端旧接口仅兼容变更前交易 | 无新增页面 |
|
|
|
| 5 | (可选)取消订单退款:调 `/pay/omg/refund` | 订单取消逻辑 |
|
|
|
| 6 | 告诉后端两个前端地址(见 §6 配置依赖) | 沟通 |
|
|
|
| 7 | 所有面向用户文字走 i18n 4 语言 | zh/tw/en/vi |
|
|
|
@@ -99,7 +99,8 @@ Header: token: eyJhbGciOi...
|
|
|
"TradeDesc": "food order DD202608060001",
|
|
|
"ItemName": "order DD202608060001",
|
|
|
"ReturnURL": "https://api.xxx.com/pay/omg/notify",
|
|
|
- "ChoosePayment": "ALL",
|
|
|
+ "ChoosePayment": "Credit",
|
|
|
+ "UnionPay": "2",
|
|
|
"EncryptType": "1",
|
|
|
"InvoiceMark": "N",
|
|
|
"NeedExtraPaidInfo": "Y",
|
|
|
@@ -136,9 +137,9 @@ Header: token: eyJhbGciOi...
|
|
|
|
|
|
---
|
|
|
|
|
|
-### 3.3 ATM/超商取号查询 — `GET /pay/omg/paymentInfo/{orderid}`
|
|
|
+### 3.3 历史 ATM/超商取号查询(新客户端不得调用)
|
|
|
|
|
|
-**用途**:延期支付(ATM/超商/AFTEE)取号后,展示虚拟帐号 / 缴费码 / 期限。即时支付(信用卡)也可用它查 `payStatus`。
|
|
|
+**用途**:仅用于排查或兼容变更前已经创建的延期支付交易。新客户端统一调用 `/pay/omg/query` 查询信用卡/Apple Pay 状态,不再展示虚拟帐号或缴费码。
|
|
|
|
|
|
| 项 | 内容 |
|
|
|
|----|------|
|
|
|
@@ -333,9 +334,9 @@ const poll = (ddId) => {
|
|
|
|
|
|
> 轮询建议:每 2s 一次,最多 15 次(30s);超过仍未成功提示「支付结果确认中,请稍后在订单列表查看」。
|
|
|
|
|
|
-### 4.4 ATM/超商取号展示(延期支付)
|
|
|
+### 4.4 历史 ATM/超商取号展示(不再开发)
|
|
|
|
|
|
-用户选 ATM/超商后,付款不是即时的——OMG 先给一个虚拟帐号/缴费码,用户在期限内自己去缴。前端展示来自 §3.3 的 `info`:
|
|
|
+以下示例只用于维护变更前交易,不属于新客户端范围:
|
|
|
|
|
|
```html
|
|
|
<view>银行代码:{{ info.BankCode }}</view>
|
|
|
@@ -368,7 +369,7 @@ const poll = (ddId) => {
|
|
|
| `AFTEE_AFTEE` | AFTEE 先享后付 | 延期 | ❌ 人工 |
|
|
|
|
|
|
> **即时支付**(信用卡/Apple Pay)→ 结果页轮询 `payStatus` 变 1 即成功。
|
|
|
-> **延期支付**(ATM/超商/AFTEE)→ 结果页展示取号信息,等用户线下缴款后 OMG 异步回调才置 1,无需前端轮询到成功。
|
|
|
+> 新订单不再产生延期支付。历史 ATM/超商/AFTEE 交易仍由后端回调兼容,不应重新开放其前端入口。
|
|
|
|
|
|
---
|
|
|
|
|
|
@@ -379,7 +380,7 @@ const poll = (ddId) => {
|
|
|
| 配置项 | 含义 | 需要的值(示例) |
|
|
|
|--------|------|----------------|
|
|
|
| `omg.order-result-url` | 付款后跳回的前端结果页 | `https://app.xxx.com/#/pages/pay/omgResult` |
|
|
|
-| `omg.payment-info-url` | ATM/超商取号回调(后端地址,**前端不用管**) | `https://api.xxx.com/pay/omg/paymentInfo` |
|
|
|
+| 历史 `paymentInfo` 路由 | 仅兼容变更前 ATM/超商交易,**前端不用管** | 不进入新表单 |
|
|
|
| `omg.return-url` | 服务端结果回调(后端地址,**前端不用管**) | `https://api.xxx.com/pay/omg/notify` |
|
|
|
|
|
|
> 前端只需要确认:**`omgResult` 页面的完整 URL**(含 hash 路由或 history 路由),交给后端填 `omg.order-result-url`。测试期可用测试域名。
|
|
|
@@ -393,8 +394,8 @@ const poll = (ddId) => {
|
|
|
3. **iOS web-view 不可另开窗**——收银台必须是完整页 web-view,不能 `window.open`、不能 iframe 嵌套。
|
|
|
4. **query 传参必须 encodeURIComponent**——`MerchantTradeDate` 含 `/` 和空格,不编码会截断。
|
|
|
5. **多次发起**——同一订单可重复发起(每次新 `MerchantTradeNo`),后端按 OMG 交易号 `tradeNo` 幂等,前端重复点「支付」不会重复扣款,但仍建议按钮防抖(后端已加 1s `@RepeatSubmit`)。
|
|
|
-6. **延期支付别轮询到成功**——ATM/超商是线下缴款,可能几小时甚至跨天,前端展示取号信息即可,不要无限轮询。
|
|
|
-7. **退款只对信用卡/Apple Pay 自动**——ATM/超商选了就退不了,接口会返回「需人工」,前端按提示展示。
|
|
|
+6. **不要重新开放延期支付入口**——新表单只认 `ChoosePayment=Credit`、`UnionPay=2`;历史回调兼容不代表可创建 ATM/超商交易。
|
|
|
+7. **退款范围**——新订单只有信用卡/Apple Pay;历史 ATM/超商交易若出现退款仍按后台人工流程处理。
|
|
|
|
|
|
---
|
|
|
|