Archangel Posted May 16, 2012 Share Posted May 16, 2012 (edited) My store's currency is in POUND and is running in the UK. When I charge an item with Authorize.net, it charges in DOLLAR not Pound. Example: Vitamin D £7.99. - Charged to Card. Statement in Authorize.net shows $7.99 instead of $13.61 ( equivalent to £7.99) Why is this happening? I've checked all the Currency Settings, and POUND is the Default with a conversion of 1. I was able to verify that other carts such as ZEN CART seem to recommend a code change to force Authorize.net to convert the charge into dollars from the GBP amount. I'd love to be able to implement that. It has something to do with x_amount... line of coding in the authorizeaim.php but I need Prestashop specific instructions. PLEASE HELP! Thanks Edited May 16, 2012 by Archangel (see edit history) Link to comment Share on other sites More sharing options...
helldog2004 Posted May 16, 2012 Share Posted May 16, 2012 open authorizenet.php and find zen_draw_hidden_field('x_Amount', number_format($order->info['total'], 2)) . add this line below the above mentioned zen_draw_hidden_field('x_currency_code', 'GBP') . let me know if it worked out! Link to comment Share on other sites More sharing options...
Archangel Posted May 16, 2012 Author Share Posted May 16, 2012 (edited) There's no such file in the authorize.net module, unless it's elsewhere, I couldn't find it. The authoriezaim.php does not have such coding. Thanks Edited May 16, 2012 by Archangel (see edit history) Link to comment Share on other sites More sharing options...
helldog2004 Posted May 16, 2012 Share Posted May 16, 2012 Yeah I am sorry made a mistake with the code: this is a code for Zen (a progam also used as prestashop) Find something like this: ('x_Amount', number_format($order->info['total'] If you found it please reply the compete line of code back to this forum. So we can take a closer look. Thanks! Link to comment Share on other sites More sharing options...
Archangel Posted May 16, 2012 Author Share Posted May 16, 2012 (edited) This is what we have $authorizeAIMParams = array(); $authorizeAIMParams['x_solution_ID'] = 'A1000006'; $authorizeAIMParams['x_login'] = Configuration::get('AUTHORIZE_AIM_LOGIN_ID'); $authorizeAIMParams['x_tran_key'] = Configuration::get('AUTHORIZE_AIM_KEY'); $authorizeAIMParams['x_version'] = '3.1'; $authorizeAIMParams['x_delim_data'] = 'TRUE'; $authorizeAIMParams['x_delim_char'] = '|'; $authorizeAIMParams['x_relay_response'] = 'FALSE'; $authorizeAIMParams['x_type'] = 'AUTH_CAPTURE'; $authorizeAIMParams['x_method'] = 'CC'; $authorizeAIMParams['x_test_request'] = Configuration::get('AUTHORIZE_AIM_DEMO'); $authorizeAIMParams['x_invoice_num'] = (int)$params['cart']->id; $authorizeAIMParams['x_amount'] = number_format($params['cart']->getOrderTotal(true, 3), 2, '.', ''); $authorizeAIMParams['x_address'] = $invoiceAddress->address1.' '.$invoiceAddress->address2; $authorizeAIMParams['x_zip'] = $invoiceAddress->postcode; $authorizeAIMParams['x_first_name'] = $this->context->customer->firstname; $authorizeAIMParams['x_last_name'] = $this->context->customer->lastname; The instruction for Zen Cart was to force the amount converted to USD as 'x_amount' => $usd_transaction_value , http://www.zen-cart....2572#post212572 http://www.zen-cart....t-charge-in-USD! Not sure what it would be here, it appears Zen Cart has better support than Prestashop... Thanks! Edited May 16, 2012 by Archangel (see edit history) Link to comment Share on other sites More sharing options...
helldog2004 Posted May 16, 2012 Share Posted May 16, 2012 Look for this line $authorizeAIMParams['x_amount'] = $usd_transaction_value($params['cart']->getOrderTotal(true, 3), 2, '.', ''); and change it to $authorizeAIMParams['x_amount'] = $gbp_transaction_value($params['cart']->getOrderTotal(true, 3), 2, '.', ''); Not sure if it works, but this would be my first response. And don't forget, Prestashop team is trying to help as much as possible, and so are the members of prestashop forums. Respect them, as they are willing to give alot of free time in your shop! cheers Helldog! Link to comment Share on other sites More sharing options...
Archangel Posted May 16, 2012 Author Share Posted May 16, 2012 I'm sorry, I posted the wrong code. The line actually says $authorizeAIMParams['x_amount'] = number_format($params['cart']->getOrderTotal(true, 3), 2, '.', ''); What do we change this to? Thanks Link to comment Share on other sites More sharing options...
helldog2004 Posted May 16, 2012 Share Posted May 16, 2012 (edited) Try to add this line below $authorizeAIMParams['x_amount'] = number_format($params['cart']->getOrderTotal(true, 3), 2, '.', ''); $authorizeAIMParams['x_currency_code']= gbp; Not sure if it works! But it should be something this way! Edited May 16, 2012 by helldog2004 (see edit history) Link to comment Share on other sites More sharing options...
Archangel Posted May 16, 2012 Author Share Posted May 16, 2012 That didn't work. Link to comment Share on other sites More sharing options...
Archangel Posted May 17, 2012 Author Share Posted May 17, 2012 Anyone having the same problem?? Link to comment Share on other sites More sharing options...
Dh42 Posted May 17, 2012 Share Posted May 17, 2012 Authorize.net only charges in dollars. They do not deal in foreign currency, you will have to covert before charging. http://community.developer.authorize.net/t5/Integration-and-Testing/Does-ARB-support-different-currency-types-Specifically-the-EURO/m-p/25265 Link to comment Share on other sites More sharing options...
goldminebux Posted August 2, 2012 Share Posted August 2, 2012 Hello, I am having same problem. My store default currency is rupee, authorize.net module is charging the same number in usd. suppose a product price is 300 rupee, the authorize.net module charges 300 usd. It should convert it to usd. I want to keep my store currency to pkr because my cod and bankwire payments are in rupee. I only want to set usd for authorize.net Please Help. Zohaib Arshad Link to comment Share on other sites More sharing options...
Recommended Posts