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.
你的任務是在用戶的專案中實作藍新金流 MPG 幕前支付功能。
完成以下步驟即可完成串接:
詢問用戶:
框架類型:你使用什麼框架?
支付方式:需要支援哪些支付方式?(可複選)
用戶輸入: $ARGUMENTS
搜尋專案中的 .env 或設定檔,確認是否已設定:
NEWEBPAY_MERCHANT_IDNEWEBPAY_HASH_KEYNEWEBPAY_HASH_IV若未設定,引導用戶設定環境變數。
根據用戶框架建立支付模組檔案。
建立位置建議:
app/Services/NewebPayService.phpservices/newebpay.jspayments/services.py核心功能:
encrypt(data) - AES256 加密decrypt(data) - AES256 解密generateSha(tradeInfo) - SHA256 簽章createOrder(orderData) - 建立訂單並回傳表單資料handleNotify(payload) - 處理回調通知根據框架建立支付表單,需包含:
<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>
建立兩個端點:
NotifyURL (背景通知): POST /payment/notify
ReturnURL (前台返回): GET/POST /payment/return
引導用戶進行測試:
https://ccore.newebpay.com4000-2211-1111-1111| 環境 | URL |
|---|---|
| 測試 | https://ccore.newebpay.com/MPG/mpg_gateway |
| 正式 | https://core.newebpay.com/MPG/mpg_gateway |
| 參數 | 類型 | 說明 |
|---|---|---|
| MerchantID | String(15) | 商店代號 |
| RespondType | String | JSON |
| TimeStamp | Number | Unix timestamp |
| Version | String | 2.3 |
| MerchantOrderNo | String(30) | 訂單編號(不可重複) |
| Amt | Number | 金額 |
| ItemDesc | String(50) | 商品描述 |
| String(50) | 付款人 Email | |
| ReturnURL | String | 前台返回網址 |
| NotifyURL | String | 背景通知網址 |
| 參數 | 值 | 說明 |
|---|---|---|
| CREDIT | 1 | 信用卡 |
| INST | 3,6,12 | 分期期數 |
| LINEPAY | 1 | LINE Pay |
| APPLEPAY | 1 | Apple Pay |
| GOOGLEPAY | 1 | Google Pay |
| VACC | 1 | ATM 轉帳 |
| CVS | 1 | 超商代碼 |
| BARCODE | 1 | 超商條碼 |