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.
View on GitHubpaid-tw/skills
newebpay
January 22, 2026
Select agents to install to:
npx add-skill https://github.com/paid-tw/skills/blob/main/plugins/newebpay/skills/newebpay-checkout/SKILL.md -a claude-code --skill newebpay-checkoutInstallation paths:
.claude/skills/newebpay-checkout/# 藍新金流 MPG 支付串接任務
你的任務是在用戶的專案中實作藍新金流 MPG 幕前支付功能。
## 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>
</form>
```
## Step 5: 建立回調處理
建立兩個端點:
1. **NotifyURL** (背景通知): `POST /payment/notify`
- 接收藍新背景通知
- 解密 TradeInfo
- 更新訂單狀態
- 回應 "OK"
2. **ReturnURL** (前台返回): `GET/POST /payment/return`
- 用戶支付完成後導向
- 顯示交易結果
## Step 6: 測試驗證
引導用戶進行測試:
1. 使用測試環境 `https://ccore.newebpay.com`
2. 測試信用卡號: `4000-2211-1111-1111`
3. 驗證加密解密正確性
4. 確認回調可正常接收
---
## API 參考
### 端點
| 環境 | URL |
|------|-----|
| 測試 | `https://ccore.newebpay.com/MPG/mpg_gateway` |
| 正式 | `https://core.newebpay.com/MPG/mpg_gateway` |
### TradeInfo 必要參數
| 參數 | 類型 | 說明 |
|------|------|------|
| MerchantID | String(15) | 商店代號 |
| RespondType | String | `JSON` |
| TimeStamp | Number | Unix timestamp |
| Version | String | `2.3` |
| MerchantOrderNo | String(30) | 訂單編號(不可重複)|
| Amt | Number