Documentation Index
Fetch the complete documentation index at: https://waffo.com/docs/llms.txt
Use this file to discover all available pages before exploring further.
連携ルートを選択する
連携を開始する前に、まず1つのルートを選択してください。どちらのルートでも、最後にサンドボックステストを完了し、受け入れ資料を Waffo の技術連携グループへ提出します。
API integration
独自のチェックアウトを持っている場合、サーバーサイドの決済フローを完全に制御したい場合、または API Reference に沿って手動連携したい場合に適しています。
決済プロダクトを選択する
単発課金にはワンタイム決済、継続課金にはサブスクリプション決済を使用します。
必須 API を連携する
API 直接 のロードマップに沿って、必須 API を実装します。 追加の決済設定を完了する
Apple Pay または Google Pay が必要な場合は、サンドボックスとテスト の追加テストと設定を完了してください。 受け入れ結果を提出する
サンドボックステストを完了し、受け入れケーステンプレートをダウンロードして記入したうえで、結果を Waffo の技術連携グループへ提出します。
AI コーディングツールに SDK 連携コード、テストコード、テストレポートを生成させたい場合に適しています。
waffo-integrate をインストールする
npx @waffo/waffo-integrate を実行します。
連携を起動する
Claude Code または Cursor で Waffo 連携を起動します。
ビジネス質問に回答する
プロダクト種別、返金、サブスクリプション、Webhook 連携が必要かなど、AI からのビジネス質問に回答します。
コードとテストレポートを確認する
AI がコードを生成し、統合テストを実行して、テストレポートを出力します。
テストレポートを提出する
テストレポートを Waffo の技術連携グループへ提出して確認を受けます。
推奨: AI統合ツール(waffo-integrate)を使用する
waffo-integrate は、Waffo公式のAI統合Skillです。対話型ウィザードを使用して本番環境対応のコードを自動生成し、手動統合より33%高速、成功率は100%です。
インストール
npx @waffo/waffo-integrate
使い方
インストール後、AIアシスタント内で起動します:
integrate waffo と入力
- Skillが次の手順をガイドします: 機能の選択(決済 / 返金 / サブスクリプション / Webhook) → 言語の検出 → コード生成 → 検証テストの実行
サポート言語と機能
| 言語 | SDK | フレームワーク |
|---|
| Node.js | @waffo/waffo-node | Express、NestJS、Fastify |
| Java | com.waffo:waffo-java | Spring Boot |
| Go | github.com/waffo-com/waffo-go | Gin、Echo、Fiber、Chi |
すべての機能はSkill経由で自動統合可能です: 決済、返金、サブスクリプション(アップグレード/ダウングレード含む)、Webhook、加盟店設定照会、決済手段照会。
メリット
| 指標 | Skill使用時 | 手動統合 |
|---|
| 合格率 | 100%(16/16アサーション) | 75%(12/16) |
| 統合時間 | 約128秒 | 約192秒 |
| 13個の組み込みAPIルール | エラーの自動防止(フィールド名、列挙値、必須項目) | ドキュメントを手動で確認する必要あり |
手動統合
AIツールを使用しない場合は、以下の手順で手動統合を行います。
前提条件
- Waffo加盟店アカウント
- API Key(ダッシュボードから取得)
- RSAキーペア(認証と署名を参照)
SDKのインストール
npm install @waffo/waffo-node
クライアントの初期化
import { Waffo, Environment } from '@waffo/waffo-node';
const waffo = new Waffo({
apiKey: process.env.WAFFO_API_KEY,
privateKey: process.env.WAFFO_PRIVATE_KEY,
waffoPublicKey: process.env.WAFFO_PUBLIC_KEY,
merchantId: process.env.WAFFO_MERCHANT_ID,
environment: Environment.SANDBOX,
});
決済を作成する
import { randomUUID } from 'crypto';
const paymentRequestId = randomUUID().replace(/-/g, '');
const response = await waffo.order().create({
paymentRequestId,
merchantOrderId: `ORDER_${Date.now()}`,
orderCurrency: 'HKD',
orderAmount: '100.00',
orderDescription: 'Test Payment',
notifyUrl: 'https://your-site.com/webhook/waffo',
userInfo: {
userId: 'user_123',
userEmail: 'user@example.com',
userTerminal: 'WEB',
},
paymentInfo: { productName: 'ONE_TIME_PAYMENT' },
goodsInfo: { goodsUrl: 'https://your-site.com/product/001' },
});
if (response.isSuccess()) {
const data = response.getData();
// ユーザーをWaffoチェックアウトページへリダイレクト
redirect(data.orderAction);
}
次のステップ