feat: C端订单支付拆分 — 创建订单与发起支付分离
All checks were successful
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Successful in 7m10s
All checks were successful
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Successful in 7m10s
- CreateOrder 改造:普通下单只建单(无支付参数),强充场景保持原有微信支付一步完成 - 新增 POST /orders/:id/pay 统一支付入口,支持 wallet(钱包)和 wechat(微信 JSAPI) - 移除 POST /orders/:id/wallet-pay,合并至统一支付接口 - app_type 改为可选字段(强充场景必传,普通下单无需传) - CreateOrderResponse.pay_config 改为 omitempty(普通下单不返回支付参数)
This commit is contained in:
@@ -8,15 +8,16 @@ package dto
|
||||
type ClientCreateOrderRequest struct {
|
||||
Identifier string `json:"identifier" validate:"required,min=1,max=50" required:"true" minLength:"1" maxLength:"50" description:"资产标识符(SN/IMEI/虚拟号/ICCID/MSISDN)"`
|
||||
PackageIDs []uint `json:"package_ids" validate:"required,min=1,dive,gt=0" required:"true" description:"套餐ID列表"`
|
||||
AppType string `json:"app_type" validate:"required,oneof=official_account miniapp" required:"true" description:"应用类型 (official_account:公众号, miniapp:小程序)"`
|
||||
// app_type 仅强充场景需要(服务端检测到强充时会直接发起微信支付);普通下单时可不传
|
||||
AppType string `json:"app_type" validate:"omitempty,oneof=official_account miniapp" description:"应用类型(强充必传)(official_account:公众号, miniapp:小程序)"`
|
||||
}
|
||||
|
||||
// ClientCreateOrderResponse D1 客户端创建订单响应
|
||||
type ClientCreateOrderResponse struct {
|
||||
OrderType string `json:"order_type" description:"订单类型 (package:套餐订单, recharge:充值订单)"`
|
||||
Order *ClientOrderInfo `json:"order,omitempty" description:"套餐订单信息"`
|
||||
Order *ClientOrderInfo `json:"order,omitempty" description:"套餐订单信息(普通下单时返回,无支付参数,需单独调支付接口)"`
|
||||
Recharge *ClientRechargeInfo `json:"recharge,omitempty" description:"充值订单信息"`
|
||||
PayConfig *ClientPayConfig `json:"pay_config" description:"支付配置"`
|
||||
PayConfig *ClientPayConfig `json:"pay_config,omitempty" description:"微信支付配置(仅强充场景返回)"`
|
||||
LinkedPackageInfo *LinkedPackageInfo `json:"linked_package_info,omitempty" description:"关联套餐信息"`
|
||||
}
|
||||
|
||||
@@ -38,7 +39,7 @@ type ClientRechargeInfo struct {
|
||||
AutoPurchaseStatus string `json:"auto_purchase_status" description:"自动购包状态"`
|
||||
}
|
||||
|
||||
// ClientPayConfig D1 支付配置
|
||||
// ClientPayConfig 微信支付配置
|
||||
type ClientPayConfig struct {
|
||||
AppID string `json:"app_id" description:"应用ID"`
|
||||
Timestamp string `json:"timestamp" description:"时间戳"`
|
||||
@@ -111,3 +112,26 @@ type ClientOrderPackageItem struct {
|
||||
Price int64 `json:"price" description:"单价(分)"`
|
||||
Quantity int `json:"quantity" description:"数量"`
|
||||
}
|
||||
|
||||
// ========================================
|
||||
// D4 订单支付
|
||||
// ========================================
|
||||
|
||||
// ClientPayOrderRequest D4 订单支付请求
|
||||
type ClientPayOrderRequest struct {
|
||||
PaymentMethod string `json:"payment_method" validate:"required,oneof=wallet wechat" required:"true" description:"支付方式 (wallet:钱包, wechat:微信)"`
|
||||
// AppType 仅 payment_method=wechat 时必填
|
||||
AppType string `json:"app_type" validate:"omitempty,oneof=official_account miniapp" description:"应用类型(微信支付必传)(official_account:公众号, miniapp:小程序)"`
|
||||
}
|
||||
|
||||
// ClientPayOrderResponse D4 订单支付响应
|
||||
type ClientPayOrderResponse struct {
|
||||
PaymentMethod string `json:"payment_method" description:"支付方式"`
|
||||
PayConfig *ClientPayConfig `json:"pay_config,omitempty" description:"微信支付配置(payment_method=wechat 时返回)"`
|
||||
}
|
||||
|
||||
// ClientPayOrderParams D4 订单支付文档参数(路径参数 + 请求体,仅供文档生成器使用)
|
||||
type ClientPayOrderParams struct {
|
||||
IDReq
|
||||
ClientPayOrderRequest
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user