Jump to content

Incorrect Price Charged: Dollars instead of Pound


Recommended Posts

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 by Archangel (see edit history)
Link to comment
Share on other sites

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

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 by Archangel (see edit history)
Link to comment
Share on other sites

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

  • 2 months later...

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

×
×
  • Create New...