Legacy Decision Gateway
Legacy compatibility route. New integrations should use /decide-gateway.
Authorizations
JWT token obtained from /auth/login
Body
Legacy decider payload built from full internal transaction objects. This is NOT the /decide-gateway shape - posting that body here is rejected with a 400. orderMetadata, txnDetail and txnCardInfo must each carry a partitionKey key (value may be null).
Full internal order object. merchantId inside it identifies the merchant. udfs is an ARRAY of strings, not an object, and id is an integer.
Full internal order-metadata object. Required. Note: partitionKey must be PRESENT in this object (it may be null). It is an Option field with a custom deserialize_with and no serde(default), so serde requires the key even though the value is nullable.
Full internal transaction object. Note: partitionKey must be PRESENT in this object (it may be null). It is an Option field with a custom deserialize_with and no serde(default), so serde requires the key even though the value is nullable.
Full internal card/payment-method object. Note: partitionKey must be PRESENT in this object (it may be null). It is an Option field with a custom deserialize_with and no serde(default), so serde requires the key even though the value is nullable.
Full internal merchant account object. gatewaySuccessRateBasedDeciderInput is a required string - null is rejected.
Response
Gateway decision result
"stripe"
Routing approach used. SR_SELECTION_MULTI_OBJECTIVE indicates the multi-objective post-step promoted a cheaper gateway over the SR head.
"SR_SELECTION_V3_ROUTING"
Populated when the multi-objective post-step ran (multi_objective_routing_enabled feature flag or enableMultiObjective request field, outside hedging). Null otherwise.
Gateway the SR head selected before the multi-objective / debit-routing post-step replaced it.