添加 API 限流和支付渠道熔断
This commit is contained in:
@@ -338,7 +338,7 @@ func (c lakalaChannel) VerifyNotify(params map[string]string, rawPayload string,
|
||||
func buildChannelClient(dto *paymentconfig.ConfigDTO) (channelClient, error) {
|
||||
switch strings.ToLower(strings.TrimSpace(dto.Provider)) {
|
||||
case "leshua":
|
||||
return newLeshuaChannel(leshua.Config{
|
||||
return withChannelBreaker("leshua", newLeshuaChannel(leshua.Config{
|
||||
GatewayURL: dto.GatewayURL,
|
||||
MerchantID: dto.MerchantID,
|
||||
SignKey: dto.SignKey,
|
||||
@@ -348,9 +348,9 @@ func buildChannelClient(dto *paymentconfig.ConfigDTO) (channelClient, error) {
|
||||
PayWay: firstNonEmpty(dto.PayWay, "ZFBZF"),
|
||||
JSPayFlag: firstNonEmpty(dto.JSPayFlag, "2"),
|
||||
SignType: firstNonEmpty(dto.SignType, "MD5"),
|
||||
}), nil
|
||||
})), nil
|
||||
case "lakala":
|
||||
return newLakalaChannel(lakala.Config{
|
||||
return withChannelBreaker("lakala", newLakalaChannel(lakala.Config{
|
||||
GatewayURL: dto.GatewayURL,
|
||||
AppID: extraString(dto.ExtraConfig, "app_id"),
|
||||
SerialNo: extraString(dto.ExtraConfig, "serial_no"),
|
||||
@@ -365,7 +365,7 @@ func buildChannelClient(dto *paymentconfig.ConfigDTO) (channelClient, error) {
|
||||
JSPayFlag: firstNonEmpty(dto.JSPayFlag, "2"),
|
||||
PayMode: extraString(dto.ExtraConfig, "pay_mode"),
|
||||
OrderExpireMinutes: extraInt(dto.ExtraConfig, "order_expire_minutes"),
|
||||
}), nil
|
||||
})), nil
|
||||
case "mock":
|
||||
return nil, nil
|
||||
default:
|
||||
|
||||
Reference in New Issue
Block a user