Hi,
I am tryign to overcome a security vulnerability in OsCommerce. We have various processors enabled including Alertpay (using a contribution to OsCommerce made by somebody else - fairly old and straightforward), and are having to address the vulnerability on a case by case basis for each processor.
This has worked fine for other processors, but there seems to be no POST variables getting sent back to the AlertURL from the payment process.
This is the basic code for the form process in the OsCommerce contribution:
function process_button() {
global $order, $currencies;
$process_button_string = tep_draw_hidden_field('ap_merchant', MODULE_PAYMENT_ALERTPAY_ACCOUNT) .
tep_draw_hidden_field('ap_amount', number_format(($order->info['total']) * $currencies->currencies['USD']['value'], $currencies->currencies['USD']['decimal_places'])) .
tep_draw_hidden_field('ap_currency', 'USD') .
tep_draw_hidden_field('ap_purchasetype', 'Item') .
tep_draw_hidden_field('ap_itemname', MODULE_PAYMENT_ALERTPAY_PRODUCT_TYPE) .
tep_draw_hidden_field('ap_returnurl', tep_href_link(FILENAME_CHECKOUT_PROCESS, '', 'SSL')) .
tep_draw_hidden_field('ap_cancelurl', tep_href_link(FILENAME_CHECKOUT_PAYMENT, '', 'SSL'));
return $process_button_string;
}
Note that this doesnt get presented to the user as a normal, simple payment button as such. It is integrated into the shopping cart system.
returnurl is set to a standard URL for all payments. And we have theAlertURL on the account set to the same.
The process works, and the user is directed to the returnURL/AlertURL correctly. But I have added code to that page to harvest all POST/GET variables etc and send them to me in an email, and for AlertPay, no POST or GET vars are found at all.
I tried turning off IPNin case it is a conflict between AlertURL and return URL being the same page - made no difference.
Can anyone advise pelase? Thanks.