82 lines
2.5 KiB
Plaintext
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)
|
|
}
|
|
|