@@ -78,7 +78,7 @@ let make = (
7878 )
7979 }, (paymentMethod , paymentMethodType , country , paymentMethodListValue ))
8080
81- let (_requiredFields , missingRequiredFields , initialValues ) = React .useMemo (() => {
81+ let (_requiredFields , missingRequiredFields , superpositionInitialValues ) = React .useMemo (() => {
8282 getSuperpositionFinalFields (
8383 eligibleConnectors ,
8484 superpositionBaseContext ,
@@ -90,6 +90,7 @@ let make = (
9090 superpositionBaseContext ,
9191 requiredFieldsFromPMLFlat ,
9292 ))
93+ let initialValues = React .useMemo (() => superpositionInitialValues , [requiredFieldsFromPMLFlat ])
9394
9495 let missingRequiredFieldsFiltered = React .useMemo (() => {
9596 let afterBillingFilter = removeBillingDetailsIfUseBillingAddress (
@@ -126,8 +127,6 @@ let make = (
126127 })
127128 }, (missingRequiredFields , billingAddress .isUseBillingAddress ))
128129
129- let billingPrefix = "payment_method_data.billing."
130-
131130 let dynamicFieldsOutsideBilling = React .useMemo (() => {
132131 missingRequiredFieldsFiltered -> Array .filter (field =>
133132 ! (field .confirmRequestWritePath -> String .startsWith (billingPrefix )) ||
@@ -190,7 +189,7 @@ let make = (
190189
191190 ReactFinalForm .useFormStateHandler (
192191 ~onFormChange = values => {
193- // Flatten the nested form values so keys align correctly during merge using `mergeAndFlattenToTuples` .
192+ // RFF stores values as nested objects; flatten to dot-notation keys so they align with the confirm-payload merge .
194193 let flatValues = values -> JSON .Encode .object -> Utils .flattenObject (false )
195194 setRequiredFieldsBody (_ => flatValues )
196195 },
0 commit comments