fix: Stripe payment type matching in load balancer
Checkout page aggregates Stripe sub-types (card,link,alipay,wxpay) under "stripe", but SelectInstance matched against supported_types literally, which doesn't contain "stripe". Now matches by provider_key for Stripe.
This commit is contained in:
@@ -117,7 +117,13 @@ func (lb *DefaultLoadBalancer) queryEnabledInstances(
|
|||||||
|
|
||||||
var matched []*dbent.PaymentProviderInstance
|
var matched []*dbent.PaymentProviderInstance
|
||||||
for _, inst := range instances {
|
for _, inst := range instances {
|
||||||
if InstanceSupportsType(inst.SupportedTypes, paymentType) {
|
// Stripe: match by provider_key because supported_types lists sub-types (card,link,alipay,wxpay),
|
||||||
|
// not "stripe" itself. The checkout page aggregates all sub-types under "stripe".
|
||||||
|
if paymentType == TypeStripe {
|
||||||
|
if inst.ProviderKey == TypeStripe {
|
||||||
|
matched = append(matched, inst)
|
||||||
|
}
|
||||||
|
} else if InstanceSupportsType(inst.SupportedTypes, paymentType) {
|
||||||
matched = append(matched, inst)
|
matched = append(matched, inst)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user