4.1.5 Payment Method - Proxypay

Yes I know I tried that also. I send a ticket to cs cart if there is a known issue. I am waiting a reply.

I am also interested very much on the solution of this problem, since I have the same problem on CS-Cart 4.2.1.

Ten days ago it was working fine and it seems that it does not have to do with CS-Cart release, since I tested it also on CS-Cart 2.2.4 and it produces the same error.

The error is displayed on Eurobank's Payment Gateway URL (https://ep.eurocommerce.gr/proxypay/apacs) and it says:

[color=#FA0F0F][font=Arial][size=3]Request validation failed (at merchant)[/size][/font][/color]



[color=#000000]I will continue investigating the issue and tomorrow I will also call the bank, although it is almost certain they won't be able to help me.[/color]



[color=#000000]Lefteris[/color]

[color=#000000]www.evrima.gr[/color]

Hello :)



I have found a solution to the problem which I have also posted on the Bug Tracker (see link below):



http://forum.cs-cart.com/tracker/issue-5288-proxypay3-payment-processor-not-working-on-cs-cart-421/





The solution is:



[color=#282828][font=arial, verdana, tahoma, sans-serif][size=3]After speaking with Eurobank and the Cardlink evelopers (who are also responsible for ProxyPay3) I have found the following:[/size][/font][/color]



[color=#282828][font=arial, verdana, tahoma, sans-serif][size=3]Step 1:[/size][/font][/color]

[color=#282828][font=arial, verdana, tahoma, sans-serif][size=3]The merchant (CS-Cart user) must speak with the bank and request that his ProxyPay3 account will now look for the scripts on the:[/size][/font][/color]

https://www.your_sit…m/app/payments/

[color=#282828][font=arial, verdana, tahoma, sans-serif][size=3]instead of the old path:[/size][/font][/color]

https://www.your_site.com/payments/

[color=#282828][font=arial, verdana, tahoma, sans-serif][size=3]The bank makes the change on the ProxyPay3 profile and we continue on next step.[/size][/font][/color]



[color=#282828][font=arial, verdana, tahoma, sans-serif][size=3]Step 2:[/size][/font][/color]

[color=#282828][font=arial, verdana, tahoma, sans-serif][size=3]After the url change, the bank finds the scripts when a customer tries to place an order but the result is always “Access Denied”.[/size][/font][/color]

[color=#282828][font=arial, verdana, tahoma, sans-serif][size=3]This problem has to do with CS-Cart and not with the bank or ProxyPay3 account.[/size][/font][/color]

[color=#282828][font=arial, verdana, tahoma, sans-serif][size=3]The only way I found to overcome it was to make the following change:[/size][/font][/color]

[color=#282828][font=arial, verdana, tahoma, sans-serif][size=3]On the file:[/size][/font][/color]

https://www.your_sit…nit_payment.php[color=#282828][font=arial, verdana, tahoma, sans-serif][size=3] on line 21 is the following code:[/size][/font][/color]



[color=#000088]if[/color][color=#000000] [/color]color=#666600[/color][color=#000000] [/color][color=#666600]{[/color]

[color=#000000] [/color][color=#000088]die[/color][color=#666600]([/color][color=#008800]‘Access denied’[/color][color=#666600]);[/color]

[color=#666600]}[/color]



[color=#282828][font=arial, verdana, tahoma, sans-serif][size=3]I disabled the code, knowing that I disabled a security check, but for me it is more important to be able to place an order than the security of it.[/size][/font][/color]

[color=#282828][font=arial, verdana, tahoma, sans-serif][size=3]So I did it:[/size][/font][/color]



[color=#880000]/* if (!fn_check_prosessor_status($processor)) {

die(‘Access denied’);

} */[/color]



[color=#282828][font=arial, verdana, tahoma, sans-serif][size=3]And after that I was able to place an order!!! [/size][/font][/color] :D



[color=#282828][font=arial, verdana, tahoma, sans-serif][size=3]The problem is not completely solved yet…[/size][/font][/color]



[color=#282828][font=arial, verdana, tahoma, sans-serif][size=3]Step 3:[/size][/font][/color]

[color=#282828][font=arial, verdana, tahoma, sans-serif][size=3]When a customer tries to pay again with credit card after he had pressed “Cancel” on the payment gateway (proxypay3) he receives an error “Duplicate Order ID”.[/size][/font][/color]

[color=#282828][font=arial, verdana, tahoma, sans-serif][size=3]This happens because he tries to place a transaction with the same Order ID.[/size][/font][/color]

[color=#282828][font=arial, verdana, tahoma, sans-serif][size=3]The Order ID for CS-Cart may be the for example 2555 but the Order ID passed to the bank should be something more unique. Of course the right thing to do is to keep the Order ID 2555 on CS-Cart and pass Order ID 2555_UserID_TimePlaced which will be super unique [/size][/font][/color] ;)



[color=#282828][font=arial, verdana, tahoma, sans-serif][size=3]So I did the following, in the file:[/size][/font][/color]



https://www.your_sit…s/proxypay3.php

[color=#282828][font=arial, verdana, tahoma, sans-serif][size=3]on line 17:[/size][/font][/color]

[color=#000000]$totals_100 [/color][color=#666600]=[/color][color=#000000] array[/color][color=#666600]([/color][color=#008800]‘EUR’[/color][color=#666600],[/color][color=#000000] [/color][color=#008800]‘USD’[/color][color=#666600],[/color][color=#000000] [/color][color=#008800]‘GBP’[/color][color=#666600],[/color][color=#000000] [/color][color=#008800]‘CHF’[/color][color=#666600],[/color][color=#000000] [/color][color=#008800]‘NLG’[/color][color=#666600],[/color][color=#000000] [/color][color=#008800]‘DEM’[/color][color=#666600],[/color][color=#000000] [/color][color=#008800]‘FRF’[/color][color=#666600],[/color][color=#000000] [/color][color=#008800]‘ATS’[/color][color=#666600]);[/color]



[color=#282828][font=arial, verdana, tahoma, sans-serif][size=3]add after line 17 the following:[/size][/font][/color]

[color=#000000]$new_order_id [/color][color=#666600]=[/color][color=#000000] $order_id [/color][color=#666600].[/color][color=#000000] [/color][color=#008800]“_”[/color][color=#000000] [/color][color=#666600].[/color][color=#000000] $SESSION[/color][color=#666600][[/color][color=#008800]‘auth’[/color][color=#666600]][[/color][color=#008800]‘user_id’[/color][color=#666600]][/color][color=#000000] [/color][color=#666600].[/color][color=#000000] [/color][color=#008800]"“[/color][color=#000000] [/color][color=#666600].[/color][color=#000000] TIME[/color][color=#666600];[/color]



[color=#282828][font=arial, verdana, tahoma, sans-serif][size=3]and on line 63 which is:[/size][/font][/color]

[color=#000088]<input[/color][color=#000000] [/color][color=#660066]type[/color][color=#666600]=[/color][color=#008800]“hidden”[/color][color=#000000] [/color][color=#660066]name[/color][color=#666600]=[/color][color=#008800]“merchantRef”[/color][color=#000000] [/color][color=#660066]value[/color][color=#666600]=[/color][color=#008800]”{$order_id}“[/color][color=#000088]>[/color]



[color=#282828][font=arial, verdana, tahoma, sans-serif][size=3]change it to the following:[/size][/font][/color]

[color=#000088]<input[/color][color=#000000] [/color][color=#660066]type[/color][color=#666600]=[/color][color=#008800]“hidden”[/color][color=#000000] [/color][color=#660066]name[/color][color=#666600]=[/color][color=#008800]“merchantRef”[/color][color=#000000] [/color][color=#660066]value[/color][color=#666600]=[/color][color=#008800]”{$new_order_id}"[/color][color=#000088]>[/color]



[color=#282828][font=arial, verdana, tahoma, sans-serif][size=3]Now you pass a unique Order ID for each transaction and you never receive again the “Duplicate Order ID” error message.[/size][/font][/color]



[color=#282828][font=arial, verdana, tahoma, sans-serif][size=3]Have a nice day,[/size][/font][/color]

[color=#282828][font=arial, verdana, tahoma, sans-serif][size=3]Lefteris[/size][/font][/color]

[color=#282828][font=arial, verdana, tahoma, sans-serif][size=3]www.evrima.gr[/size][/font][/color]