← ClaudeAtlas

newebpay-checkoutlisted

Implements NewebPay MPG checkout integration including AES256 encryption, form submission, and payment callback handling. Use when integrating payment gateway, creating checkout flows, or building 藍新金流 payment pages.
Oelshafei1/skills · ★ 1 · Web & Frontend · score 80
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