newebpay-checkoutlisted
Install: claude install-skill Oelshafei1/skills
# 藍新金流 MPG 支付串接任務
你的任務是在用戶的專案中實作藍新金流 MPG 幕前支付功能。
## 串接 Checklist
完成以下步驟即可完成串接:
- [ ] **環境確認** - 確認框架類型與支付方式需求
- [ ] **環境變數** - 設定 NEWEBPAY_MERCHANT_ID、HASH_KEY、HASH_IV
- [ ] **支付模組** - 建立加密解密與訂單建立功能
- [ ] **支付表單** - 建立送出至藍新的 HTML 表單
- [ ] **回調處理** - 建立 NotifyURL 與 ReturnURL 端點
- [ ] **測試驗證** - 使用測試環境與測試卡號驗證
---
## Step 1: 確認專案環境
詢問用戶:
1. **框架類型**:你使用什麼框架?
- PHP (Laravel / CodeIgniter / 原生)
- Node.js (Express / Fastify / NestJS)
- Python (Django / Flask / FastAPI)
- 其他
2. **支付方式**:需要支援哪些支付方式?(可複選)
- 信用卡
- LINE Pay
- Apple Pay / Google Pay
- ATM 轉帳
- 超商代碼/條碼
用戶輸入: `$ARGUMENTS`
## Step 2: 檢查環境變數
搜尋專案中的 `.env` 或設定檔,確認是否已設定:
- `NEWEBPAY_MERCHANT_ID`
- `NEWEBPAY_HASH_KEY`
- `NEWEBPAY_HASH_IV`
若未設定,引導用戶設定環境變數。
## Step 3: 建立支付模組
根據用戶框架建立支付模組檔案。
**建立位置建議:**
- Laravel: `app/Services/NewebPayService.php`
- Express: `services/newebpay.js`
- Django: `payments/services.py`
**核心功能:**
1. `encrypt(data)` - AES256 加密
2. `decrypt(data)` - AES256 解密
3. `generateSha(tradeInfo)` - SHA256 簽章
4. `createOrder(orderData)` - 建立訂單並回傳表單資料
5. `handleNotify(payload)` - 處理回調通知
## Step 4: 建立支付表單頁面
根據框架建立支付表單,需包含:
```html
<form method="post" action="https://ccore.newebpay.com/MPG/mpg_gateway">
<input type="hidden" name="MerchantID" value="{商店代號}">
<input type="hidden" name="TradeInfo" value="{加密資料}">
<input type="hidden" name="TradeSha" value="{SHA256簽章}">
<input type="hidden" name="Version" value="2.3">
<button type="submit">前往付款</button>
</f