コンテンツにスキップ

決済プラットフォーム

外部プロバイダや複数サービスにまたがる決済システム。

GitHub でソースを見る · アプリで開く

System ビュー
System ビュー
Deploy ビュー
Deploy ビュー
payment-platform/system.krs
// Demonstrates: multiple [external] services, complex service topology, deploy diagram
// A payment processing platform integrating with card networks and banks.
@import "theme.krs.style"
system PaymentPlatform {
label "決済プラットフォーム"
user Merchant {
label "加盟店"
role "決済APIを利用するオンラインショップ・実店舗"
}
user PlatformAdmin [human] {
label "プラットフォーム管理者"
role "加盟店管理・決済モニタリングを担当する運用者"
}
service Gateway {
label "決済ゲートウェイ"
description "加盟店からの決済リクエストを受け付け、処理フローを制御する"
domain Authorization {
label "オーソリ"
usecase Authorize { label "決済を承認する" }
usecase Capture { label "売上を確定する" }
usecase Void { label "オーソリを取り消す" }
}
domain Refund {
label "返金"
usecase RequestRefund { label "返金を申請する" }
usecase ProcessRefund { label "返金を実行する" }
}
}
service RiskEngine {
label "リスク判定エンジン"
description "不正検知・トランザクションスコアリング"
domain FraudDetection {
label "不正検知"
usecase ScoreTransaction { label "トランザクションをスコアリングする" }
usecase BlockSuspicious { label "疑わしい取引をブロックする" }
}
}
service Ledger {
label "台帳サービス"
description "売上・手数料・精算の記録管理"
domain Settlement {
label "精算"
usecase RecordTransaction { label "取引を記録する" }
usecase CalculateFee { label "手数料を計算する" }
usecase SettleToMerchant { label "加盟店へ振り込む" }
}
}
// External card networks
service VisaNet [external] {
label "Visa Net"
description "Visaカード決済ネットワーク"
}
service MasterNet [external] {
label "Mastercard Network"
description "Mastercardカード決済ネットワーク"
}
// External banking partner
service BankAPI [external] {
label "銀行API"
description "加盟店への精算振込を行うパートナー銀行"
}
// External compliance service
service ThreeDSecure [external] {
label "3-D Secure"
description "本人確認のための3Dセキュア認証サービス"
}
Merchant -> Gateway "決済リクエストを送る"
PlatformAdmin -> Gateway "決済状況をモニタリングする"
PlatformAdmin -> Ledger "精算レポートを確認する"
Gateway -> RiskEngine "不正スコアを取得する"
Gateway -> ThreeDSecure "本人確認を行う"
Gateway -> VisaNet "Visa決済を処理する"
Gateway -> MasterNet "Mastercard決済を処理する"
Gateway --> Ledger "取引を記録する"
Ledger --> BankAPI "加盟店へ振り込む"
}
deploy Production {
label "本番環境 (AWS)"
// Gateway as an executable JAR (Spring Boot)
jar "gateway-service" {
label "決済ゲートウェイ"
runtime "Java 21 / Spring Boot 3"
realizes Gateway
}
// Risk engine as a container (GPU-enabled scoring)
oci "risk-engine" {
label "リスク判定エンジン"
image "risk-engine:2.0.4"
runtime "Python 3.12 / FastAPI"
realizes RiskEngine
}
// Lightweight fraud check as a serverless function
lambda "fraud-check" {
label "不正チェック関数"
runtime "Node.js 22"
realizes RiskEngine
}
// Ledger as a container
oci "ledger-service" {
label "台帳サービス"
image "ledger:1.8.2"
runtime "Go 1.22"
realizes Ledger
}
// Admin dashboard as a static SPA
assets "admin-dashboard" {
label "管理ダッシュボード"
runtime "CloudFront / S3"
}
// One-off migration job (no schedule = single run)
job "ledger-migration" {
label "台帳データ移行"
runtime "Python 3.12"
}
// Daily settlement batch (runs every night at 2am JST)
job "daily-settlement" {
label "日次精算バッチ"
schedule "0 17 * * *"
runtime "Java 21"
realizes Ledger
}
// Monthly fee report
job "monthly-fee-report" {
label "月次手数料レポート"
schedule "0 2 1 * *"
runtime "Python 3.12"
realizes Ledger
}
}

© 2026 Hiroki Kondo · Licensed under Apache-2.0