Problem with umlaut (mutated vowel) in PayPal Adr

  • Posts: 3
  • Thank you received: 0
12 years 10 months ago #35145

Hello
I'm using
- Joomla 1.7.3
- HikaShop Starter 1.5.5
- HikaShop Paypal payment plugin
- PayPal Sandbox account (test environment)

In one of my shop client accounts, the adress city contains an umlaut (Schönenberg).

The string (first relevant part only) delivered from PayPal to HikaShop is:

mc_gross=4.40&invoice=8&protection_eligibility=Ineligible&address_status=unconfirmed&item_number1=S_000001_mp3_3&tax=0.00&item_number2=S_000001_mp3_1&payer_id=MKHKD3TRNBYJQ&address_street=SingAlong Buechenstrasse 1&payment_date=00:54:04 Jan 09, 2012 PST&payment_status=Completed&charset=windows-1252&address_zip=8824&mc_shipping=0.00&mc_handling=0.00&first_name=Paul&mc_fee=0.50&address_country_code=CH&address_name=SingAlong¬ify_version=3.4&custom=&payer_status=unverified&business=paul.chautems@megaflops.ch&address_country=Switzerland&num_cart_items=2&mc_handling1=0.00&mc_handling2=0.00&address_city=Schönenberg&verify_sign....

After a successful payment, the following broken entry is found in the invoice record.

Array
(
[option] => com_hikashop
[ctrl] => checkout
[task] => notify
[notif_payment] => paypal
[tmpl] => component
[lang] => de
[Itemid] => 767
[mc_gross] => 4.40
[invoice] => 8
[protection_eligibility] => Ineligible
[address_status] => unconfirmed
[item_number1] => S_000001_mp3_3
[tax] => 0.00
[item_number2] => S_000001_mp3_1
[payer_id] => MKHKD3TRNBYJQ
[address_street] => SingAlong
Buechenstrasse 1
[payment_date] => 00:54:04 Jan 09, 2012 PST
[payment_status] => Completed
[charset] => windows-1252
[address_zip] => 8824
[mc_shipping] => 0.00
[mc_handling] => 0.00
[first_name] => Paul
[mc_fee] => 0.50
[address_country_code] => CH
[address_name] => SingAlong
[notify_version] => 3.4
[custom] =>
[payer_status] => unverified
[business] => This email address is being protected from spambots. You need JavaScript enabled to view it.
[address_country] => Switzerland
[num_cart_items] => 2
[mc_handling1] => 0.00
[mc_handling2] => 0.00
[address_city] => Sch


After changing the adress city to Schoenenberg (instead of Schönenberg), the record delivered by PayPal contains address_city=Schoenenberg and the following, complete entry is found in the invoice record.


Array
(
[option] => com_hikashop
[ctrl] => checkout
[task] => notify
[notif_payment] => paypal
[tmpl] => component
[lang] => de
[Itemid] => 767
[mc_gross] => 4.00
[invoice] => 11
[protection_eligibility] => Ineligible
[address_status] => unconfirmed
[item_number1] => B_000002_KYR_mp3
[payer_id] => MKHKD3TRNBYJQ
[tax] => 0.00
[address_street] => NV private account
Buechenstrasse 1
[payment_date] => 07:34:34 Jan 10, 2012 PST
[payment_status] => Completed
[charset] => windows-1252
[address_zip] => 8824
[mc_shipping] => 0.00
[mc_handling] => 0.00
[first_name] => Paul
[mc_fee] => 0.49
[address_country_code] => CH
[address_name] => SingAlong
[notify_version] => 3.4
[custom] =>
[payer_status] => unverified
[business] => This email address is being protected from spambots. You need JavaScript enabled to view it.
[address_country] => Switzerland
[num_cart_items] => 1
[mc_handling1] => 0.00
[address_city] => Schoenenberg
[verify_sign] => Av75TLL3SdJeZYxWarHvlrQ7iVgLAwObKXaCC5EcZYGNzevh19nnhyFS
[payer_email] => This email address is being protected from spambots. You need JavaScript enabled to view it.
[mc_shipping1] => 0.00
[txn_id] => 0KF621780G586635Y
[payment_type] => instant
[payer_business_name] => SingAlong
[last_name] => Chautems
[address_state] =>
[item_name1] => MP3 - Kyrie
[receiver_email] => This email address is being protected from spambots. You need JavaScript enabled to view it.
[payment_fee] =>
[quantity1] => 1
[receiver_id] => 92HMQV65HZQDU
[txn_type] => cart
[mc_gross_1] => 4.00
[mc_currency] => EUR
[residence_country] => CH
[test_ipn] => 1
[transaction_subject] => Shopping CartMP3 - Kyrie
[payment_gross] =>
[ipn_track_id] => Nis3iRl8qX186ryIl4eyAg
[language] => de-DE
[hikashop_front_end_main] => 1
[view] => checkout
)



stdClass Object
(
[order_id] => 11
[order_billing_address_id] => 3
[order_shipping_address_id] => 3
[order_user_id] => 7
[order_status] => created
[order_discount_code] =>
[order_created] => 1326209611
[order_ip] => 194.29.23.138
[order_currency_id] => 1
[order_shipping_price] => 0.00000
[order_discount_price] => 0.00000
[order_shipping_id] =>
[order_shipping_method] =>
[order_payment_id] => 1
[order_payment_method] => paypal
[order_full_price] => 4.00000
[order_modified] => 1326209611
[order_partner_id] => 0
[order_partner_price] => 0.00000
[order_partner_paid] => 0
[order_type] => sale
[order_partner_currency_id] => 0
[order_shipping_tax] => 0.00000
[order_discount_tax] => 0.00000
[order_number] => M11
)



Array
(
[scheme] => https
[host] => www.sandbox.paypal.com
[path] => /cgi-bin/webscr
[query] =>
[port] => 443
[host_socket] => ssl://www.sandbox.paypal.com
)



POST /cgi-bin/webscr HTTP/1.0
User-Agent: PHP/5.2.9
Referer: www.megaflops.ch/ws17/index.phpoption=co...t&lang=de&Itemid=767
Server: Apache
Host: www.sandbox.paypal.com:443
Content-Type: application/x-www-form-urlencoded
Content-Length: 1311
Accept: */*




option=com_hikashop&ctrl=checkout&task=notify¬if_payment=paypal&tmpl=component&lang=de&Itemid=767&mc_gross=4.00&invoice=11&protection_eligibility=Ineligible&address_status=unconfirmed&item_number1=B_000002_KYR_mp3&payer_id=MKHKD3TRNBYJQ&tax=0.00&address_street=NV+private+account%0D%0ABuechenstrasse+1&payment_date=07%3A34%3A34+Jan+10%2C+2012+PST&payment_status=Completed&charset=windows-1252&address_zip=8824&mc_shipping=0.00&mc_handling=0.00&first_name=Paul&mc_fee=0.49&address_country_code=CH&address_name=SingAlong¬ify_version=3.4&custom=&payer_status=unverified&business=paul.chautems%40megaflops.ch&address_country=Switzerland&num_cart_items=1&mc_handling1=0.00&address_city=Schoenenberg&verify_sign=Av75TLL3SdJeZYxWarHvlrQ7iVgLAwObKXaCC5EcZYGNzevh19nnhyFS&payer_email=paul.chautems%40nv-schoenenberg.ch&mc_shipping1=0.00&txn_id=0KF621780G586635Y&payment_type=instant&payer_business_name=SingAlong&last_name=Chautems&address_state=&item_name1=MP3+-+Kyrie&receiver_email=paul.chautems%40megaflops.ch&payment_fee=&quantity1=1&receiver_id=92HMQV65HZQDU&txn_type=cart&mc_gross_1=4.00&mc_currency=EUR&residence_country=CH&test_ipn=1&transaction_subject=Shopping+CartMP3+-+Kyrie&payment_gross=&ipn_track_id=Nis3iRl8qX186ryIl4eyAg&language=de-DE&hikashop_front_end_main=1&view=checkout&cmd=_notify-validate


HTTP/1.1 200 OK
Date: Tue, 10 Jan 2012 15:34:40 GMT
Server: Apache
X-Frame-Options: SAMEORIGIN
Set-Cookie: c9MWDuvPtT9GIMyPc3jwol1VSlO=q-8n5QsmQ1ThEw1YiPRFz3jkQpLrfWJxJjUrlIhz04a7Y6EjhEdfuNbFqb0a-gS-qfzK6xjpbNs6tvMSshZg43e84lUhqU4RBuilYEWUz0MDrQqVDeCnCP4X5aC0L4CFWIKZc0%7cPT6rbx2hYOs_viCbfMToxK4l7Q1U3E4knfWtXBZSRBL67_3s8-220cDFxNLsHJMFR_7hbW%7c9XiSdsm4wF2sIoyqSZP_OsDcHcqS7KunIAyNhm667iQkB2jkepePLXL1uRgWtazC15ovv0%7c1326209681; domain=.paypal.com; path=/; Secure; HttpOnly
Set-Cookie: cookie_check=yes; expires=Fri, 07-Jan-2022 15:34:41 GMT; domain=.paypal.com; path=/; Secure; HttpOnly
Set-Cookie: navcmd=_notify-validate; domain=.paypal.com; path=/; Secure; HttpOnly
Set-Cookie: navlns=0.0; expires=Mon, 05-Jan-2032 15:34:41 GMT; domain=.paypal.com; path=/; Secure; HttpOnly
Set-Cookie: Apache=10.72.109.11.1326209680727694; path=/; expires=Thu, 02-Jan-42 15:34:40 GMT
Connection: close
Content-Type: text/html; charset=UTF-8

VERIFIED

Please Log in or Create an account to join the conversation.

  • Posts: 82863
  • Thank you received: 13372
  • MODERATOR
12 years 10 months ago #35209

Hi,

On which invoice record do you have that ?
In the history of the order when the debug is activated ?
In the payment log ?
Somewhere else ?

Please Log in or Create an account to join the conversation.

  • Posts: 3
  • Thank you received: 0
12 years 10 months ago #35285

Hi
The information I copied and pasted into the bug report are stored
- in table d4adx_hikashop_history
- field history_data

Here is the mysql dump:
INSERT INTO `d4adx_hikashop_history` (`history_id`, `history_order_id`, `history_created`, `history_ip`, `history_new_status`, `history_reason`, `history_notified`, `history_amount`, `history_package_id`, `history_payment_id`, `history_payment_method`, `history_data`, `history_type`, `history_user_id`) VALUES(16, 8, 1326099257, '173.0.82.126', 'confirmed', 'Automatische Zahlungsbenachrichtigung empfangen', 1, '4.40EUR', 0, '1', 'paypal', 'Array\n(\n [option] => com_hikashop\n [ctrl] => checkout\n [task] => notify\n [notif_payment] => paypal\n [tmpl] => component\n [lang] => de\n [Itemid] => 767\n [mc_gross] => 4.40\n [invoice] => 8\n [protection_eligibility] => Ineligible\n [address_status] => unconfirmed\n [item_number1] => S_000001_mp3_3\n [tax] => 0.00\n [item_number2] => S_000001_mp3_1\n [payer_id] => MKHKD3TRNBYJQ\n [address_street] => SingAlong\r\nBuechenstrasse 1\n [payment_date] => 00:54:04 Jan 09, 2012 PST\n [payment_status] => Completed\n [charset] => windows-1252\n [address_zip] => 8824\n [mc_shipping] => 0.00\n [mc_handling] => 0.00\n [first_name] => Paul\n [mc_fee] => 0.50\n [address_country_code] => CH\n [address_name] => SingAlong\n [notify_version] => 3.4\n [custom] => \n [payer_status] => unverified\n [business] => paul.chautems@megaflops.ch\n [address_country] => Switzerland\n [num_cart_items] => 2\n [mc_handling1] => 0.00\n [mc_handling2] => 0.00\n [address_city] => Sch', 'payment', 0);

Please Log in or Create an account to join the conversation.

  • Posts: 82863
  • Thank you received: 13372
  • MODERATOR
12 years 10 months ago #35313

That's because of the verification which is done by joomla on the request variables. It's the line:
$value = JRequest::getString($key);
in the file plugins/hikashoppayment/paypal.php
If you replace it with:
$value = strip_tags($value);
it will work as it won't use anymore joomla's filtering system.

Please Log in or Create an account to join the conversation.

  • Posts: 3
  • Thank you received: 0
12 years 10 months ago #35877

Hello
Your solution did not solve the mutaded vowel "problem" - because the problem is elsewhere.

The information stored in the 'Information' part (field history_data in record hikashop_history) is stored if the paypal plugin option 'debug' is set. If this option is turned off, no information is stored and everything works fine.

But even if the debug function breaks on a mutated vowel, the payment process works correctly.

So, for me, the "problem" is not a problem any more.

Thanks for help.

File Attachment:

File Name: debug_func...wels.pdf
File Size:96 KB

Attachments:

Please Log in or Create an account to join the conversation.

  • Posts: 82863
  • Thank you received: 13372
  • MODERATOR
12 years 10 months ago #35951

Yes, it's only debug information so it's not really important.
Still that should not happen. I don't know why that change wouldn't solve the problem.

Please Log in or Create an account to join the conversation.

Time to create page: 0.067 seconds
Powered by Kunena Forum