ecpay
Provides ECPay (綠界科技) integration guide including payment setup and electronic invoice integration. Use when integrating ECPay…
Implements PAYUNi transaction query functionality using Query API. Use when building order status checking, transaction verification, or payment confirmation features for 統一金流.
$ npx -y skills add paid-tw/skills --skill payuni-query --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/payuni-queryContext preview
The summary Claude sees to decide when to auto-load this skill.
Implements PAYUNi transaction query functionality using Query API. Use when building order status checking, transaction verification, or payment confirmation features for 統一金流.
name: payuni-query description: > Implements PAYUNi transaction query functionality using Query API. Use when building order status checking, transaction verification, or payment confirmation features for 統一金流. argument-hint: "[查詢情境: 單筆查詢/批次對帳/狀態確認]" context: fork agent: general-purpose disable-model-invocation: true allowed-tools: - Read - Write - Edit - Bash - Grep - Glob user-invocable: true
你的任務是在用戶的專案中實作統一金流交易查詢功能。
用戶輸入: `$ARGUMENTS`
詢問用戶:
1. **查詢情境**:需要什麼查詢功能?
2. **專案框架**:你使用什麼框架?
在現有的支付模組中加入查詢方法,或建立新模組。
**核心功能:** 1. `generateQueryParams(orderNo)` - 產生查詢參數 2. `queryTrade(orderNo)` - 查詢單筆交易
import crypto from 'crypto';
const config = {
merchantId: process.env.PAYUNI_MERCHANT_ID!,
hashKey: process.env.PAYUNI_HASH_KEY!,
hashIV: process.env.PAYUNI_HASH_IV!,
isTest: process.env.PAYUNI_TEST_MODE === 'true',
};
function getQueryEndpoint(): string {
return config.isTest
? 'https://sandbox-api.payuni.com.tw/api/query'
: 'https://api.payuni.com.tw/api/query';
}
function encrypt(data: string): string {
const key = Buffer.from(config.hashKey.padEnd(32, '\0').slice(0, 32), 'utf8');
const iv = Buffer.from(config.hashIV.padEnd(16, '\0').slice(0, 16), 'utf8');
const cipher = crypto.createCipheriv('aes-256-cbc', key, iv);
let encrypted = cipher.update(data, 'utf8', 'hex');
encrypted += cipher.final('hex');
return encrypted;
}
function generateHashInfo(encryptInfo: string): string {
return crypto
.createHash('sha256')
.update(encryptInfo)
.digest('hex')
.toUpperCase();
}
async function queryTrade(orderNo: string): Promise<{
success: boolean;
data?: any;
error?: string;
}> {
try {
const queryData = {
MerID: config.merchantId,
MerTradeNo: orderNo,
};
const queryString = new URLSearchParams(queryData).toString();
const encryptInfo = encrypt(queryString);
const hashInfo = generateHashInfo(encryptInfo);
const response = await fetch(getQueryEndpoint(), {
method: 'POST',
headers: { 'Content-Type': 'application/x-www-form-urlencoded' },
body: new URLSearchParams({
MerID: config.merchantId,
EncryptInfo: encryptInfo,
HashInfo: hashInfo,
}),
});
const result = await response.json();
return {
success: result.Status === 'SUCCESS',
data: result,
};
} catch (error) {
return {
success: false,
error: error instanceof Error ? error.message : 'Query failed',
};
}
}
// 使用範例
const result = await queryTrade('ORDER-123');
if (result.success) {
console.log('交易狀態:', result.data.TradeStatus);
}建議整合方式:
---
| 環境 | URL | |------|-----| | 測試 | `https://sandbox-api.payuni.com.tw/api/query` | | 正式 | `https://api.payuni.com.tw/api/query` |
| 參數 | 類型 | 必填 | 說明 | |------|------|:----:|------| | MerID | String | ✓ | 商店代號 | | EncryptInfo | String | ✓ | 加密後的查詢參數 | | HashInfo | String | ✓ | SHA256 雜湊值 |
| 參數 | 類型 | 必填 | 說明 | |------|------|:----:|------| | MerID | String | ✓ | 商店代號 | | MerTradeNo | String | ✓ | 商店訂單編號 |
| 值 | 說明 | |:--:|------| | 0 | 未付款 | | 1 | 已付款 | | 2 | 付款失敗 | | 3 | 已取消 | | 6 | 已退款 |
---
---
| 代碼 | 說明 | 解決方式 | |------|------|---------| | TRA10001 | 查無此筆交易 | 確認訂單編號正確 | | TRA10002 | 驗證錯誤 | 確認加密參數正確 | | TRA10003 | 商店代號錯誤 | 確認 MerchantID 正確 |
台灣第三方金流 Skills for AI Agents - 藍新金流、綠界科技 ECPay、統一金流 PAYUNi、KryptoGO 穩定幣支付 支援 Claude Code、Cursor、Codex、GitHub Copilot 等 AI coding agents。
Provides ECPay (綠界科技) integration guide including payment setup and electronic invoice integration. Use when integrating ECPay…
Implements KryptoGO Payment checkout integration including Payment Intent creation, React SDK usePayment hook, and Direct API…
Implements KryptoGO Payment query functionality for checking payment intent status and listing payment intents. Use when building…
Implements KryptoGO Payment token transfer/withdrawal functionality using the Asset Pro Transfer API. Use when building…
Implements KryptoGO Payment webhook/callback handling for receiving payment status notifications. Use when building webhook…
Provides KryptoGO Payment integration overview and guides users to the appropriate skill. Use when starting KryptoGO crypto…