• erio's avatar
    fix(payment): fix Alipay/Wxpay direct provider type mapping and enable... · f498eb8f
    erio authored
    fix(payment): fix Alipay/Wxpay direct provider type mapping and enable cross-provider load balancing
    
    Two issues fixed:
    
    1. Alipay.SupportedTypes() returned ["alipay_direct"] and Wxpay returned
       ["wxpay_direct"], but the frontend sends payment_type="alipay"/"wxpay".
       The registry lookup failed with "payment method (alipay) is not
       configured". Fix: return the base types ["alipay"]/["wxpay"].
    
    2. When multiple providers support the same payment type (e.g. EasyPay
       and Alipay direct both handle "alipay"), only the last-registered
       provider's instances were reachable — the registry mapped one type to
       one provider key, and SelectInstance queried by that single key.
    
       Fix: bypass the registry in invokeProvider and let SelectInstance
       query across all providers when providerKey is empty. The selected
       instance's own ProviderKey (now included in InstanceSelection) is
       used to create the correct provider, enabling true cross-provider
       load balancing.
    
    Closes #1592
    f498eb8f
load_balancer.go 10.8 KB