発行者プロフィールを1回設定し、返ってくる受信URLを Stripe の Webhook に貼るだけ。以降あなたのコードは0行です。細かく制御したい開発者向けに、APIを直接叩く方法も用意しています。
所要 約3分。$WAVIS_KEY はあなたのAPIキー(早期アクセスでお渡しします)。
発行者名・登録番号(T+13桁)・配送方法を一度だけ登録します。
# 発行者プロフィールを設定 → あなた専用の受信URL(ingest_url)が返る curl https://api.wavis.xyz/v1/account/profile \ -H "Authorization: Bearer $WAVIS_KEY" \ -d '{"issuer":"あなたの会社","registration_number":"T1234567890123", "delivery_mode":"email","delivery_email":"keiri@example.com"}' # → { "ingest_url": "https://api.wavis.xyz/v1/ingest/ing_xxxxx", ... }
Stripe ダッシュボード → 開発者 → Webhook → エンドポイントを追加。送信イベントは
charge.succeeded / invoice.paid / invoice.payment_succeeded。
適格請求書PDFが自動生成され、常にWavisに保存(ダッシュボードで確認)。delivery_mode:"email" なら買い手へ自動送付(あなたをBcc)。同じ決済は二重発行しません(冪等)。
決済→発行を自分で制御したい場合。決済オブジェクトをその場で渡して1通だけ生成します。
# 決済オブジェクト(Stripe/PAY.JP/Square/任意JSON)から1通生成 curl https://api.wavis.xyz/v1/invoices/from_payment \ -H "Authorization: Bearer $WAVIS_KEY" \ -H "Content-Type: application/json" \ -d '{"issuer":"あなたの会社","registration_number":"T1234567890123", "provider":"stripe","payment_object":{"amount":11000,"currency":"jpy"}}' \ -o receipt.pdf
# 決済オブジェクトから1通生成(requests)
import requests, os
r = requests.post(
"https://api.wavis.xyz/v1/invoices/from_payment",
headers={"Authorization": f"Bearer {os.environ['WAVIS_KEY']}"},
json={
"issuer": "あなたの会社",
"registration_number": "T1234567890123",
"provider": "stripe",
"payment_object": {"amount": 11000, "currency": "jpy"},
},
)
open("receipt.pdf", "wb").write(r.content)// 決済オブジェクトから1通生成(Node 18+ / fetch)
import { writeFile } from "node:fs/promises";
const r = await fetch("https://api.wavis.xyz/v1/invoices/from_payment", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.WAVIS_KEY}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
issuer: "あなたの会社",
registration_number: "T1234567890123",
provider: "stripe",
payment_object: { amount: 11000, currency: "jpy" },
}),
});
await writeFile("receipt.pdf", Buffer.from(await r.arrayBuffer()));任意項目から組み立てるなら POST /v1/invoices(明細・税率・源泉徴収を指定)。
/openapi.json で公開しています。openapi-generator や openapi-typescript で好みの言語のクライアントを自動生成できます。対話実行は APIリファレンス(/docs) から。配送は「排他の2択」ではありません。常にWavisに保存(=いつでも確認)したうえで、買い手へ自動メールするかを選びます。
すべての発行を必ずWavisが保管。ダッシュボードで一覧・PDF閲覧・ダウンロード、または GET /v1/invoices/stored でAPI取得。
delivery_mode:"email" にすると、決済の買い手へPDFを自動送付(あなたを Bcc)。もちろん保存もされます。
| メソッド / パス | 役割 |
|---|---|
POST /v1/account/profile | 発行者プロフィール設定 → 受信URL取得 |
POST /v1/ingest/{token} | 決済イベント受信 → 自動発行(Stripeが叩く) |
GET /v1/invoices/stored | 自動発行した請求書の一覧 |
GET /v1/invoices/stored/{id} | 保存済みPDFのダウンロード |
POST /v1/invoices(/from_payment) | JSON/決済から1通だけ生成 |
GET /v1/me | プラン・当月使用量・見込み額 |