ario_server/apis/admin/payment.api
2025-10-10 07:13:36 -07:00

82 lines
2.5 KiB
Plaintext

syntax = "v1"
info (
title: "payment API"
desc: "API for ppanel"
author: "Tension"
email: "tension@ppanel.com"
version: "0.0.1"
)
import "../types.api"
type (
CreatePaymentMethodRequest {
Name string `json:"name" validate:"required"`
Platform string `json:"platform" validate:"required"`
Description string `json:"description"`
Icon string `json:"icon,omitempty"`
Domain string `json:"domain,omitempty"`
Config interface{} `json:"config" validate:"required"`
FeeMode uint `json:"fee_mode"`
FeePercent int64 `json:"fee_percent,omitempty"`
FeeAmount int64 `json:"fee_amount,omitempty"`
Enable *bool `json:"enable" validate:"required"`
}
UpdatePaymentMethodRequest {
Id int64 `json:"id" validate:"required"`
Name string `json:"name" validate:"required"`
Platform string `json:"platform" validate:"required"`
Description string `json:"description"`
Icon string `json:"icon,omitempty"`
Domain string `json:"domain,omitempty"`
Config interface{} `json:"config" validate:"required"`
FeeMode uint `json:"fee_mode"`
FeePercent int64 `json:"fee_percent,omitempty"`
FeeAmount int64 `json:"fee_amount,omitempty"`
Enable *bool `json:"enable" validate:"required"`
}
DeletePaymentMethodRequest {
Id int64 `json:"id" validate:"required"`
}
GetPaymentMethodListRequest {
Page int `form:"page"`
Size int `form:"size"`
Platform string `form:"platform,omitempty"`
Search string `form:"search,omitempty"`
Enable *bool `form:"enable,omitempty"`
}
GetPaymentMethodListResponse {
Total int64 `json:"total"`
List []PaymentMethodDetail `json:"list"`
}
)
@server (
prefix: v1/admin/payment
group: admin/payment
middleware: AuthMiddleware
)
service ppanel {
@doc "Create Payment Method"
@handler CreatePaymentMethod
post / (CreatePaymentMethodRequest) returns (PaymentConfig)
@doc "Update Payment Method"
@handler UpdatePaymentMethod
put / (UpdatePaymentMethodRequest) returns (PaymentConfig)
@doc "Delete Payment Method"
@handler DeletePaymentMethod
delete / (DeletePaymentMethodRequest)
@doc "Get Payment Method List"
@handler GetPaymentMethodList
get /list (GetPaymentMethodListRequest) returns (GetPaymentMethodListResponse)
@doc "Get supported payment platform"
@handler GetPaymentPlatform
get /platform returns (PlatformResponse)
}