Jump to content
  • Checkout
  • Login
  • Get in touch

osCommerce

The e-commerce.

PayPal WPP Direct Payments & Express Checkout Support


dynamoeffects

Recommended Posts

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

Link to comment
Share on other sites

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!

Link to comment
Share on other sites

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));

}

Link to comment
Share on other sites

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

Link to comment
Share on other sites

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.

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

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

Link to comment
Share on other sites

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

Link to comment
Share on other sites

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

Link to comment
Share on other sites

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

Link to comment
Share on other sites

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

Link to comment
Share on other sites

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

Link to comment
Share on other sites

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.

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

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.

Link to comment
Share on other sites

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.

Link to comment
Share on other sites

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.

Link to comment
Share on other sites

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.

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

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 by GriffithLea
Link to comment
Share on other sites

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!

Link to comment
Share on other sites

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

Link to comment
Share on other sites

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 Payment

Did 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.

Link to comment
Share on other sites

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

Link to comment
Share on other sites

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

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...