Ik ben in de laatste face van het intergreren van IDEAL op mijn website. Op zich werkt alles prima maar ik heb problemen met het samenstellen van de hash. Op het moment dat ik de waardes van een of meerdere producten gewoon in de code opneem werkt het prima:
Wanneer ik echter over daadwerkelijke producten uit de winkelwagen loop en naar IDEAL ga krijg ik de melding dat de digitale handtekening is niet geldig is
De routines voor het opbouwen van je $shastring zijn niet hetzelfde. Waarom maak je van regel 12 t/m 20 in het eerste fragment een array ($cart_items) bijvoorbeeld en maak je voor het berekenen van je hash een functie of methode?
Ook begrijp ik niet waar die ingewikkelde preg_replace voor nodig is als je vervolgens alles toch hasht.
Waarschijnlijk gaat het mis omdat je in je eerste fragment je variabelen verkeerd noemt (regel 16 t/m 20, moet dat niet $itemDescription[color=#ff0000]2[/color] etc. zijn?) en vervolgens het bedrag $amount niet klopt ($itemPrice2 is ongedefinieerd).
Maar je kunt eigenlijk niet garanderen dat de opbouw na deze aanpassingen wel goed gaat omdat je simpelweg (qua code) niet dezelfde routine hanteert. Je gebruikt hier twee afzonderlijke (en op dit moment verschillende) stukken code voor...
Hoi Thomas. Hartelijk dank voor je reactie.. Ik zag dat ik in het statische fragment het een en ander niet goed had gedaan. Vandaar hier nogmaals compleet:
Zoals gezegd. Dit werkt. Maar hoe krijg ik dit werkend met values uit de database? Dan heb ik toch een loop nodig om de waardes van de prodcten in het winkelmandje aan de $shastring toe te voegen?
Toevoeging op 04/10/2015 15:40:21:
Thomas van den Heuvel op 04/10/2015 14:30:44
Ook begrijp ik niet waar die ingewikkelde preg_replace voor nodig is als je vervolgens alles toch hasht.
Oh, stuur je ook al die zut onversleuteld over zodat aan die kant deze hash opnieuw berekend wordt en wordt vergeleken met de hash die jij hebt gestuurd om te kijken of er niet is geknoeid met de bestelling ofzo?
Moet dat trouwens niet $items .= '...' zijn in plaats van $items = '...'? Je overschrijft nu elke iteratie van de loop $items, terwijl alle item-informatie uiteindelijk in $items moet zitten?
Het zou nog steeds makkelijker zijn als je voor de opbouw van de hash één routine gebruikt.