dano1967 Posted January 23, 2007 Share Posted January 23, 2007 Brian,I think that dano's problem is that while you support different currencies, (GBP and USD, for instance) the amount sent is always in the database currency. This means that it only works correctly if the payment currency is the same as the database currency; one currency at a time. It will work for a USD only site or a GBP only site, but as soon as you allow the customer to choose among currencies, it breaks. To support multiple currencies, it appears that a payment module must call the currency class to convert between the database units and the payment units. This sounds like yet another undocumented (or poorly documented) feature of the osC payment module requirements. I suppose one should look at a module that works correctly with multiple currencies to determine how to get it right. --Glen Give the man a cupie doll!!!! :thumbsup: Actually, the code can be ripped out of the old Paypal IPN module - I looked. In the settings, one has the option to specify the Paypal transaction currency, or to conduct the transaction in the currency currently selected by the user. Given a few months, maybe years, I'm sure I could hack it together myself.... >_< This is an important distinction, because for people like me that base all their prices on USD, but allow Canadians to purchase in CAD and Americans or Europeans etc... to purchase in USD, the Paypal currency should match the currency used to generate the invoice. Otherwise it can make it almost impossible to reconcile the financial transactions at the end of the month. dano1967 Quote Link to comment Share on other sites More sharing options...
karlinouye Posted January 23, 2007 Share Posted January 23, 2007 I worked around this by just sending the billing information again to Paypal for the shipping. I'd be interested to know if there is a better way. This is paypal_wpp 0.8.2 catalog/includes/modules/payment/paypal_wpp.php $order_info['PAYPAL_SHIPPING_STATE'] = $order->delivery['state']; $order_info['PAYPAL_SHIPPING_ZIP'] = $order->delivery['postcode']; $order_info['PAYPAL_SHIPPING_COUNTRY'] = $order->delivery['country']['iso_code_2']; } else { // AJJ send billing for shipping for virtual products /* comment out existing code $order_info['PAYPAL_SHIPPING_NAME'] = ''; $order_info['PAYPAL_SHIPPING_ADDRESS1'] = ''; $order_info['PAYPAL_SHIPPING_ADDRESS2'] = ''; $order_info['PAYPAL_SHIPPING_CITY'] = ''; $order_info['PAYPAL_SHIPPING_STATE'] = ''; $order_info['PAYPAL_SHIPPING_ZIP'] = ''; $order_info['PAYPAL_SHIPPING_COUNTRY'] = ''; */ $order_info['PAYPAL_SHIPPING_NAME'] = $order->billing['firstname'] . ' ' . $order->delivery['lastname']; $order_info['PAYPAL_SHIPPING_ADDRESS1'] = $order->billing['street_address']; $order_info['PAYPAL_SHIPPING_ADDRESS2'] = $order->billing['suburb']; $order_info['PAYPAL_SHIPPING_CITY'] = $order->billing['city']; $order_info['PAYPAL_SHIPPING_STATE'] = $order->billing['state']; $order_info['PAYPAL_SHIPPING_ZIP'] = $order->billing['postcode']; $order_info['PAYPAL_SHIPPING_COUNTRY'] = $order->billing['country']['iso_code_2']; } I'm also using the MVS contribution and found i needed a few other mods where it was not handling virtual products correctly. regards Andrew Thanks Andrew! Worked like a charm. You're a wealth of info. I would like to know if there was a another way as well, but your method is working great. Thanks again! Quote Link to comment Share on other sites More sharing options...
dano1967 Posted January 23, 2007 Share Posted January 23, 2007 Give the man a cupie doll!!!! :thumbsup: Actually, the code can be ripped out of the old Paypal IPN module - I looked. In the settings, one has the option to specify the Paypal transaction currency, or to conduct the transaction in the currency currently selected by the user. Given a few months, maybe years, I'm sure I could hack it together myself.... >_< This is an important distinction, because for people like me that base all their prices on USD, but allow Canadians to purchase in CAD and Americans or Europeans etc... to purchase in USD, the Paypal currency should match the currency used to generate the invoice. Otherwise it can make it almost impossible to reconcile the financial transactions at the end of the month. dano1967 Here's the code in question from Paypal IPN if (MODULE_PAYMENT_PAYPAL_IPN_CURRENCY == 'Selected Currency') { $my_currency = $currency; } else { $my_currency = substr(MODULE_PAYMENT_PAYPAL_IPN_CURRENCY, 5); } if (!in_array($my_currency, array('AUD', 'CAD', 'CHF', 'CZK', 'DKK', 'EUR', 'GBP', 'HKD', 'HUF', 'JPY', 'NOK', 'NZD', 'PLN', 'SEK', 'SGD', 'USD'))) { $my_currency = 'USD'; } $parameters = array(); if ( (MODULE_PAYMENT_PAYPAL_IPN_TRANSACTION_TYPE == 'Per Item') && (MODULE_PAYMENT_PAYPAL_IPN_EWP_STATUS == 'False') ) { $parameters['cmd'] = '_cart'; $parameters['upload'] = '1'; for ($i=0, $n=sizeof($order->products); $i<$n; $i++) { $item = $i+1; $tax_value = ($order->products[$i]['tax'] / 100) * $order->products[$i]['final_price']; $parameters['item_name_' . $item] = $order->products[$i]['name']; $parameters['amount_' . $item] = number_format($order->products[$i]['final_price'] * $currencies->get_value($my_currency), $currencies->get_decimal_places($my_currency)); $parameters['tax_' . $item] = number_format($tax_value * $currencies->get_value($my_currency), $currencies->get_decimal_places($my_currency)); $parameters['quantity_' . $item] = $order->products[$i]['qty']; if ($i == 0) { if (DISPLAY_PRICE_WITH_TAX == 'true') { $shipping_cost = $order->info['shipping_cost']; } else { $module = substr($shipping['id'], 0, strpos($shipping['id'], '_')); $shipping_tax = tep_get_tax_rate($GLOBALS[$module]->tax_class, $order->delivery['country']['id'], $order->delivery['zone_id']); $shipping_cost = $order->info['shipping_cost'] + tep_calculate_tax($order->info['shipping_cost'], $shipping_tax); } $parameters['shipping_' . $item] = number_format($shipping_cost * $currencies->get_value($my_currency), $currencies->get_decimal_places($my_currency)); } Quote Link to comment Share on other sites More sharing options...
ajosey Posted January 23, 2007 Share Posted January 23, 2007 This is an important distinction, because for people like me that base all their prices on USD, but allow Canadians to purchase in CAD and Americans or Europeans etc... to purchase in USD, the Paypal currency should match the currency used to generate the invoice. Otherwise it can make it almost impossible to reconcile the financial transactions at the end of the month. dano1967 I agree on the currencies matching! The problem i was finding was allowing folks to shop in GB Pounds say and then checkout with direct (0.8.2) , this would show an item say for GBP 10.29 on the store invoice, but when transacted through paypal the item ended up at GBP10.59, which would be hard to explain to the customer :) The difference being the difference between the store exchange rate and the paypal exchange rate. What I have done is to add a currency selector on payment method using wpp for USD transactions and Paypal IPN for other currencies so that the invoice and paypal checkout values equate. This is the code for restricting payment methods by currency http://www.oscommerce.com/forums/index.php?sho...c=75990&hl= I've applied it to a couple of payment methods (paypal, paypal_ipn and paypal_wpp) and it appears straightforward (btw imho it would be useful to have it added by default to paypal_wpp) What i found for wpp was that I also had to do was to add the following check to catalog/includes/functions/general.php otherwise you would get a Paypal express button appear when you did not want to support the method for a currency: //---PayPal WPP Modification START ---// function tep_paypal_wpp_enabled() { $paypal_wpp_check = tep_db_query("SELECT configuration_id FROM " . TABLE_CONFIGURATION . " WHERE configuration_key = 'MODULE_PAYMENT_PAYPAL_DP_STATUS' AND configuration_value = 'True'"); if (tep_db_num_rows($paypal_wpp_check)) { // AJ local change if (tep_not_null(MODULE_PAYMENT_PAYPAL_DP_CURRENCIES)) { global $currency; $my_currencies = explode(',', MODULE_PAYMENT_PAYPAL_DP_CURRENCIES); if (!in_array($currency, $my_currencies)) { return false; } } // end local return true; } else { return false; } } //---PayPal WPP Modification END ---// regards Andrew Quote Link to comment Share on other sites More sharing options...
dynamoeffects Posted January 23, 2007 Author Share Posted January 23, 2007 The latest beta will allow you to accept any currency that PayPal currently accepts. When the money hits your account, and is in a different currency than what your account is set for, it will ask you if you want to convert the money or create a seperate account for it. In the next revision will have it locked to your store's default currency so that there are no problems with currency conversion. With the current beta version, if your store's default currency is in USD, and the customer checks out with GBP selected, but your PayPal module tells paypal that it's in EUD, then there's going to be a slight problem. I need people testing out the beta, though. All you need to do is install osC in another directory in its own database, and just overwrite the stock osC files with the ones in the contribution. Then add your API info and do a test transaction. Quote Please use the forums for support! I am happy to help you here, but I am unable to offer free technical support over instant messenger or e-mail. Link to comment Share on other sites More sharing options...
ajosey Posted January 23, 2007 Share Posted January 23, 2007 I need people testing out the beta, though. All you need to do is install osC in another directory in its own database, and just overwrite the stock osC files with the ones in the contribution. Then add your API info and do a test transaction. With 0.8.3beta2 (Jan 9 2007): My store has default currency of USD, but I have both US and UK paypal pro accounts. Testing with the UK paypal pro i set the module to do transactions in GBP. Then if as a user i purchase an item and postage for GBP1.02 , the store invoices show GBP1.02 but the actual transaction was GBP 2.00 (the 2.00 matches the USD price). regards Andrew Quote Link to comment Share on other sites More sharing options...
SteveDallas Posted January 23, 2007 Share Posted January 23, 2007 The latest beta will allow you to accept any currency that PayPal currently accepts. When the money hits your account, and is in a different currency than what your account is set for, it will ask you if you want to convert the money or create a seperate account for it. In the next revision will have it locked to your store's default currency so that there are no problems with currency conversion. With the current beta version, if your store's default currency is in USD, and the customer checks out with GBP selected, but your PayPal module tells paypal that it's in EUD, then there's going to be a slight problem. I need people testing out the beta, though. All you need to do is install osC in another directory in its own database, and just overwrite the stock osC files with the ones in the contribution. Then add your API info and do a test transaction. Brian, What dano wanted was something a little different than what you propose. He allows the customer to choose from several currencies and have their chosen currency displayed in the shop. What happens now is that the value gets sent to PayPal in the default unit in which prices are stored in the database (USD in his case), but the currency name sent is what the customer chose (CAD, for instance), so the customer is charged incorrectly if the exchange rate is other than 1:1. Example: an item is priced at 1 USD in the database, the exchange rate is 1 USD = 1.2 CAD, and the customer is displaying prices in CAD. What the customer sees in the store and during checkout is 1.2 CAD, but what is sent to PayPal is 1.0 CAD. Based on the current osC architecture, it appears that payment modules are responsible for converting from the units stored in the database to the units in which the customer wishes to pay. If you force the default currency unit to be sent to PayPal, a customer who uses a currency other than the default will likely see a discrepancy between the invoice total in the shop and the amount charged by PayPal, because there is no way to synchronize the exchange rates precisely. To fix this, all values displayed in the shop and sent to PayPal need to be multiplied by the exchange rate, as dano posted in the excerpt from the PayPal IPN code. --Glen Quote Link to comment Share on other sites More sharing options...
Guest Posted January 23, 2007 Share Posted January 23, 2007 Hi, I am new to all of this. I have just gone live with my new website shop but now need to change it. Can any one confirm if oscommerce is compatible with the new Paypal Paymnets Pro. I am based in the UK so need it to work in £'s. Thank you Quote Link to comment Share on other sites More sharing options...
dano1967 Posted January 24, 2007 Share Posted January 24, 2007 Brian,What dano wanted was something a little different than what you propose. He allows the customer to choose from several currencies and have their chosen currency displayed in the shop. What happens now is that the value gets sent to PayPal in the default unit in which prices are stored in the database (USD in his case), but the currency name sent is what the customer chose (CAD, for instance), so the customer is charged incorrectly if the exchange rate is other than 1:1. Example: an item is priced at 1 USD in the database, the exchange rate is 1 USD = 1.2 CAD, and the customer is displaying prices in CAD. What the customer sees in the store and during checkout is 1.2 CAD, but what is sent to PayPal is 1.0 CAD. Based on the current osC architecture, it appears that payment modules are responsible for converting from the units stored in the database to the units in which the customer wishes to pay. If you force the default currency unit to be sent to PayPal, a customer who uses a currency other than the default will likely see a discrepancy between the invoice total in the shop and the amount charged by PayPal, because there is no way to synchronize the exchange rates precisely. To fix this, all values displayed in the shop and sent to PayPal need to be multiplied by the exchange rate, as dano posted in the excerpt from the PayPal IPN code. --Glen OK, so I took my hand off the 'Easy Button' and started to hack some code. I uploaded the working module. It needs to be tested properly, but so far it looks like it works as intended. The tax on the other hand is completely out to lunch... Dan Quote Link to comment Share on other sites More sharing options...
dano1967 Posted January 24, 2007 Share Posted January 24, 2007 Brian,What dano wanted was something a little different than what you propose. He allows the customer to choose from several currencies and have their chosen currency displayed in the shop. What happens now is that the value gets sent to PayPal in the default unit in which prices are stored in the database (USD in his case), but the currency name sent is what the customer chose (CAD, for instance), so the customer is charged incorrectly if the exchange rate is other than 1:1. Example: an item is priced at 1 USD in the database, the exchange rate is 1 USD = 1.2 CAD, and the customer is displaying prices in CAD. What the customer sees in the store and during checkout is 1.2 CAD, but what is sent to PayPal is 1.0 CAD. Based on the current osC architecture, it appears that payment modules are responsible for converting from the units stored in the database to the units in which the customer wishes to pay. If you force the default currency unit to be sent to PayPal, a customer who uses a currency other than the default will likely see a discrepancy between the invoice total in the shop and the amount charged by PayPal, because there is no way to synchronize the exchange rates precisely. To fix this, all values displayed in the shop and sent to PayPal need to be multiplied by the exchange rate, as dano posted in the excerpt from the PayPal IPN code. --Glen OK, so I took my hand off the 'Easy Button' and started to hack some code. I uploaded the working module. It needs to be tested properly, but so far it looks like it works as intended. The tax on the other hand is completely out to lunch... Dan Quote Link to comment Share on other sites More sharing options...
dano1967 Posted January 24, 2007 Share Posted January 24, 2007 OK, so I took my hand off the 'Easy Button' and started to hack some code.I uploaded the working module. It needs to be tested properly, but so far it looks like it works as intended. The tax on the other hand is completely out to lunch... Dan It looks like $order_total['ot_tax'] comes back with a value of 7 all the time for some reason. Dan Quote Link to comment Share on other sites More sharing options...
AlexStudio Posted January 24, 2007 Share Posted January 24, 2007 It looks like $order_total['ot_tax'] comes back with a value of 7 all the time for some reason. Dan Why not take a look in my contrib? I have 13 'supported' currencies worked with the express checkout API. You can grab the code from there. Quote Super Download Shop, PayPal Express Checkout IPN, Selling Downloads, Visual Validation (preventing robotic flood), phpBB2 Integration Yes, I'm willing to help, but please ask in the right place. Think twice before trying to PM me, it might be ignored. Link to comment Share on other sites More sharing options...
Guest Posted January 24, 2007 Share Posted January 24, 2007 Dear Brian and Austin,RE: Paypal in OSC (OSCommerce) Layout problem on Payment page I suppose you were reffering to the issue I have posted regarding the payment page where the 2 payment options, Direct Payment (through credit card)and Express Payment (Paypal yellow button) are not really itemized... I am talking about the products purchased seen through paypal are not always itemized. Quote Link to comment Share on other sites More sharing options...
Guest Posted January 24, 2007 Share Posted January 24, 2007 Thank you, dynamoeffects, for your PayPal Module. It has saved me a lot of work!A note to anyone using search engine friendly urls: you need to modify your "change payment method" link, or your customers will be unable to cancel Express Checkout. Change this line in checkout_payment.php: <td align="center" style="font-size:14px; font-family: Arial, Verdana;"><b><? echo TEXT_PAYPALWPP_EC_SWITCH_METHOD_1; ?></b><br><a href="<?php echo tep_href_link(FILENAME_CHECKOUT_SHIPPING, 'ec_cancel=1', 'SSL'); ?>"><? echo TEXT_PAYPALWPP_EC_SWITCH_METHOD_2; ?></a></td> to: <td align="center" style="font-size:14px; font-family: Arial, Verdana;"><b><? echo TEXT_PAYPALWPP_EC_SWITCH_METHOD_1; ?></b><br><a href="<?php echo tep_href_link(FILENAME_CHECKOUT_SHIPPING, 'ec_cancel=1', 'SSL', true, false); ?>"><? echo TEXT_PAYPALWPP_EC_SWITCH_METHOD_2; ?></a></td> I still get the same results. I am using the SEO URL contribution. Quote Link to comment Share on other sites More sharing options...
GriffithLea Posted January 24, 2007 Share Posted January 24, 2007 I've got 0.8.2 installed. I use Website Payments Pro and Express Checkout. My problem is that I am not 100% sure that it is set up and working properly. I did just discover and run the wpp_diagnostics.php script (which I downloaded from the same page where 0.8.2 is located), and it reported complete success. So that's good. By the way, can that be put in the admin directory? Anyway, the reason I wonder about the integrity of my installation is that I've gotten a couple of orders that did a funny thing - they went through in osCommerce, but showed up as having the Check/Money Order payment method. In the first case, I called the customer to make sure that check payment was really meant, because it was my first order since going live with osCommerce (I had just converted over from Xcart) and I had just discovered and fixed the fact that I had the path to my certificate pointing to the old location where I had osC running before going live. She said no, she had paid with CC. I checked on Paypal, and I had received no payment. So I chalked it up to my misconfiguration on the cert, and was able to process her purchase manually in Virtual Terminal (she was understanding enough to give me her CC info). I then did a test order with my own CC just to be sure all was well, and it worked perfectly. In the second case, three days later, the exact same thing happened. Of course this time it couldn't be blamed on the cert thing. Again, I was able to process the order manually. Another test order worked fine, just a little while after the failed one. Other orders from real customers have gone through okay, as well as my test orders, so I don't get what is up with these two. I worry that I might be missing some orders. I did turn on the debug flag, and haven't gotten anything for a few days, until I got this email a few minutes ago: Subject: PayPal Error Dump In function: ec_step1() As I understand it, this is from when someone clicks on the Paypal checkout button, and something goes wrong. But the var_dump of the response is apparently empty. Has anyone else seen this? Should I worry? Thanks in advance for any suggestions. Quote Link to comment Share on other sites More sharing options...
dynamoeffects Posted January 24, 2007 Author Share Posted January 24, 2007 By the way, can that be put in the admin directory? Just delete it. It's only used for testing and has no long-term purpose. Other orders from real customers have gone through okay, as well as my test orders, so I don't get what is up with these two. I worry that I might be missing some orders. What payment options do you have enabled? var_dump of the response is apparently empty. Has anyone else seen this? Should I worry? No, it's a known bug in 0.8.2. Quote Please use the forums for support! I am happy to help you here, but I am unable to offer free technical support over instant messenger or e-mail. Link to comment Share on other sites More sharing options...
GriffithLea Posted January 25, 2007 Share Posted January 25, 2007 (edited) Just delete it. It's only used for testing and has no long-term purpose.Let me rephrase that - will it work if I put it in the admin directory (I guess I could just try it) ? I'd like to be able to occasionally go back to it - my ISP is known to take perfectly good and working things and mess them up - if suddenly flames start shooting out of my site. What payment options do you have enabled?That'd be the Paypal WPP+Express, Check/Money Order, and Google Checkout.No, it's a known bug in 0.8.2.What, that the response is empty, or that my user tried to checkout with Express and failed? By the way, I just discovered this in my error logs: [Wed Jan 24 15:45:32 2007] [error] PHP Warning: Cannot modify header information - headers already sent by (output started at /home/xxxx/public_html/includes/modules/payment/paypal_wpp.php:514) in /home/xxxx/public_html/includes/functions/general.php on line 33 The timestamp corresponds to when I got the email. I see that some others got a similar error, but that was related to wrong cert, but that shouldn't be my problem given that I have had some successful orders (via Direct Payments). One person mentioned a sometimes-works, sometimes not sort of scenario, which I kind of feel like I'm in. Thanks for your help! Edited January 25, 2007 by GriffithLea Quote Link to comment Share on other sites More sharing options...
GriffithLea Posted January 25, 2007 Share Posted January 25, 2007 One person mentioned a sometimes-works, sometimes not sort of scenario, which I kind of feel like I'm in. I should clarify, this was seemingly in reference to Direct Payments, not Express Checkout. Quote Link to comment Share on other sites More sharing options...
ninjalad Posted January 27, 2007 Share Posted January 27, 2007 I'm running a virgin install of osCommerce 2.2ms2 and just installed the paypal_wpp 0.8.2 module. I've followed the install instructions for the module but can't seem to get things running. Once I read about the diagnostic script, I installed that as well and am getting all "YES" answers except for: API Certificate directory protected? I've searched through this forum topic for the last two hours but can't find any mention of users getting a "No" answer for that diagnostic check. Can someone please explain what I need to change on my server to remedy this? Thanks! Quote Link to comment Share on other sites More sharing options...
dynamoeffects Posted January 27, 2007 Author Share Posted January 27, 2007 You need to upload the included .htaccess file to the directory where you store your certificate. Quote Please use the forums for support! I am happy to help you here, but I am unable to offer free technical support over instant messenger or e-mail. Link to comment Share on other sites More sharing options...
Guest Posted January 28, 2007 Share Posted January 28, 2007 I still get the same results. I am using the SEO URL contribution. I found my problem. Changed <?php if (!$ec_enabled || isset($_GET['ec_cancel']) || (!tep_session_is_registered('paypal_ec_payer_id') && !tep_session_is_registered('paypal_ec_payer_info'))) { ?> to <?php if (!$ec_enabled || isset($HTTP_GET_VARS['ec_cancel']) || (!tep_session_is_registered('paypal_ec_payer_id') && !tep_session_is_registered('paypal_ec_payer_info'))) { ?> in checkout_shipping.php and checkout_payment.php Quote Link to comment Share on other sites More sharing options...
Guest Posted January 28, 2007 Share Posted January 28, 2007 I am talking about the products purchased seen through paypal are not always itemized. I have got this error dump in reference to the above problem. In function: before_process() - Direct PaymentDid first contact attempt return error? Yes --------------------------------------------------------------------- -------------------------------DP_DUMP------------------------------- ------------This is the information that was sent to PayPal---------- --------------------------------------------------------------------- [?xml version="1.0" encoding="utf-8"?] [soap:Envelope xmlns:soap=http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema] [soap:Header] [RequesterCredentials xmlns=urn:ebay:api:PayPalAPI] [Credentials xmlns=urn:ebay:apis:eBLBaseComponents] [username]rvsupply1_api1.aol.com[/username] [Password]YGXJWVVV9KF5C5GC[/Password] [subject][/subject] [/Credentials] [/RequesterCredentials] [/soap:Header] [soap:Body] [DoDirectPaymentReq xmlns=urn:ebay:api:PayPalAPI] [DoDirectPaymentRequest] [Version xmlns=urn:ebay:apis:eBLBaseComponents]2.0[/Version] [DoDirectPaymentRequestDetails xmlns=urn:ebay:apis:eBLBaseComponents] [PaymentAction]Sale[/PaymentAction] [PaymentDetails] [OrderTotal currencyID=USD]591.7[/OrderTotal] [OrderDescription]Order placed on January 27, 2007, 9:32 pm by sDvgeg dsgD (ID: 21)[/OrderDescription] [itemTotal currencyID=USD]499[/itemTotal] [shippingTotal currencyID=USD]84[/shippingTotal] [HandlingTotal currencyID=USD]8.7[/HandlingTotal] [TaxTotal currencyID=USD]0[/TaxTotal] [Custom]Phone: 86597863234 -- Email: ***********[/Custom] [invoiceID][/invoiceID] [NotifyURL][/NotifyURL] [buttonSource][/buttonSource] [shipToAddress] [Name]robert cll[/Name] [street1]175 easy street[/street1] [street2][/street2] [CityName]Poteet[/CityName] [stateOrProvince]TX[/stateOrProvince] [PostalCode]78065-3670[/PostalCode] [Country]US[/Country] [/shipToAddress] [PaymentDetailsItem][Name]CARRIER AIR V 15000 btu RV ROOF AIR CONDITIONER[/Name][Amount currencyID=USD]499[/Amount][Number]112{5}15 ()[/Number][Quantity]1[/Quantity][/PaymentDetailsItem][PaymentDetailsItem][Name]Order Total Discrepancy[/Name][Amount currencyID=USD]5.6843418860808E-14[/Amount][Number]NA[/Number][Quantity]1[/Quantity][/PaymentDetailsItem] [/PaymentDetails] [CreditCard] [CardOwner] [Payer]*********[/Payer] [PayerName] [FirstName]robert[/FirstName] [LastName]cll[/LastName] [/PayerName] [Address] [street1]175 easy street[/street1] [street2][/street2] [CityName]Poteet[/CityName] [stateOrProvince]TX[/stateOrProvince] [PostalCode]78065-3670[/PostalCode] [Country]US[/Country] [/Address] [/CardOwner] [CreditCardType]Visa[/CreditCardType] [CreditCardNumber]4982542828338603[/CreditCardNumber] [ExpMonth]01[/ExpMonth] [ExpYear]2007[/ExpYear] [CVV2]000[/CVV2] [/CreditCard] [iPAddress]*********[/iPAddress] [MerchantSessionId]etneamusnrk4n6o1gkl4qi5mk7[/MerchantSessionId] [/DoDirectPaymentRequestDetails] [/DoDirectPaymentRequest] [/DoDirectPaymentReq] [/soap:Body] [/soap:Envelope]--------------------------------------------------------------------- -------------------------------FINAL_REQ----------------------------- -------------------This is the response from PayPal------------------ --------------------------------------------------------------------- Array ( [security] => [RequesterCredentials] => Array ( [0] => Array ( [Credentials] => Array ( [0] => Array ( [username] => [Password] => [subject] => ) ) ) ) [DoDirectPaymentResponse] => Array ( [0] => Array ( [Timestamp] => 2007-01-28T03:32:39Z [Ack] => FailureWithWarning [CorrelationID] => d745e8512dfb4 [Errors] => Array ( [0] => Array ( [shortMessage] => Transaction refused because of an invalid argument. See additional error messages for details. [LongMessage] => Item amount is invalid. [ErrorCode] => 10431 [severityCode] => Warning ) [1] => Array ( [shortMessage] => Retry [LongMessage] => Retry [ErrorCode] => 10207 [severityCode] => Error [ErrorParameters] => Array ( [0] => Array ( [Value] => PPER ) ) ) ) [Version] => 2.000000 [build] => 1.0006 [Amount] => 591.70 [CVV2Code] => ) ) ) --------------------------------------------------------------------- ---------------------------------TS_REQ------------------------------ --------Results of the transaction search if it was executed--------- --------------------------------------------------------------------- After it went through it was not itemized in paypal. Quote Link to comment Share on other sites More sharing options...
SteveDallas Posted January 28, 2007 Share Posted January 28, 2007 I have got this error dump in reference to the above problem.After it went through it was not itemized in paypal. It is probably related to this item in the details: [PaymentDetailsItem] [Name] Order Total Discrepancy [/Name] [Amount currencyID="USD"] 5.6843418860808E-14 [/Amount] [Number] NA [/Number] [Quantity] 1 [/Quantity] [/PaymentDetailsItem] This is due to a rounding error. Some decimal numbers can't be represented exactly in binary, so comparisons between the total and the sum of the items don't match. The fix is to round the result of the test to the proper number of decimal places, which Brian did as of 0.8.3.2BETA. Upgrade to that, and you should always get itemized totals. --Glen Quote Link to comment Share on other sites More sharing options...
imusic Posted January 30, 2007 Share Posted January 30, 2007 Can anyone help me here..just installed WPP and express checkout....seems set up fine on site clicking on paypal option and logging into paypal it gives the message due to technical probs unable to process. So then I go to card payment input my card details and it either says unable to authorise or i get this error message... (10728) There\'s an error with this transaction. Please enter a city in the shipping address. Any ideas where I am going wrong here..cheers Quote Link to comment Share on other sites More sharing options...
hostyork Posted January 30, 2007 Share Posted January 30, 2007 Hi, which API do I need to choose in the Paypal API setup? It gives me 2 options 1) Grant API permission 2) Request API credentials Thanks Andrew Quote Andrew Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.