[SOLVED] [#8790] CBSubs PayPal and special characters

2 years 4 months ago - 2 years 4 months ago #327303 by poml
Hi,
we have a bit of trouble with CBsubs and Paypal when it comes to special characters.
We have some users with some special characters in their name.
When they try to pay by paypal, a "fraud attempt" is detected, because it seems from paypal returns their names without the special characters.
The error message is something like this:

currency, item name or number or quantity mismatch: IPN item_name (Student Membership for Eng. uk___ R__ho___i) does not match basket item_name (Student Membership for Eng. Łuk___ R__hło___i) nor their trimmed sizes for IPN (Student Membership for Eng. uk___ R__ho___i) and basket (Student Membership for Eng. Łuk___ R__hło___i) nor their url-decoded form (Student Membership for Eng. uk___ R__ho___i)

Do you have any advice how to deal with this? Can we do something about this?

KR
Philipp
The following user(s) said Thank You: beat

Please Log in to join the conversation.

2 years 4 months ago #327309 by krileon
Replied by krileon on topic CBSubs PayPal and special characters
Looks like an issue with PayPal changing the encoding and causing the mismatch. As a workaround within CBSubs > Settings > Display > Baskets change "Payment basket item text" to no longer include their name. Example as follows.

FROM (Default):
[ITEMS_ALIASES] for [USERNAME]
TO:
[ITEMS_ALIASES]

This at least for future payments will prevent this issue. Have created a bug ticket for further investigation and fixing for that fraud check.

forge.joomlapolis.com/issues/8790


Kyle (Krileon)
Community Builder Team Member
Before posting on forums: Read FAQ thoroughly + Read our Documentation + Search the forums
CB links: Documentation - Localization - CB Quickstart - CB Paid Subscriptions - Add-Ons - Forge
--
If you are a Professional, Developer, or CB Paid Subscriptions subscriber and have a support issue please always post in your respective support forums for best results!
--
If I've missed your support post with a delay of 3 days or greater and are a Professional, Developer, or CBSubs subscriber please send me a private message with your thread and will reply when possible!
--
Please note I am available Monday - Friday from 8:00 AM CST to 4:00 PM CST. I am away on weekends (Saturday and Sunday) and if I've missed your post on or before a weekend after business hours please wait for the next following business day (Monday) and will get to your issue as soon as possible, thank you.
--
My role here is to provide guidance and assistance. I cannot provide custom code for each custom requirement. Please do not inquire me about custom development.
The following user(s) said Thank You: poml

Please Log in to join the conversation.

2 years 4 months ago - 2 years 4 months ago #327343 by beat
I could reproduce this problem, and it is an issue at Paypal.com.

Paypal's transaction verification API call returns now the reply in the wrong character-set ("charset=windows-1252" instead of UTF-8, like in the past, where the returned character-set was identical with the payment form character-set.

Please open a bug report with your Paypal support.

We will also report the bug to Paypal's developers' contact, but I'm not expecting a fast fix on their side, last time we reported a bug months ago, it took 2 months to acknowledge it, and it's still not fixed. On our side we implemented a workaround within hours.

In the mean time, I will look into a workaround on our side.

Beat - Community Builder Team Member

Before posting on forums: Read FAQ thoroughly -- Help us spend more time coding by helping others in this forum, many thanks :)
CB links: Our membership - CBSubs - Templates - Hosting - Forge - Send me a Private Message (PM) only for private/confidential info
The following user(s) said Thank You: poml

Please Log in to join the conversation.

2 years 4 months ago #327348 by poml
Ok, thanks. It seems that the polish L with a dash through Ł and ł it is often the dealbreaker. Is that not in utf8 or so?

Please Log in to join the conversation.

2 years 4 months ago #327356 by beat
UTF-8 is the modern character-set including all letters of all languages. That's the character-set that Joomla and CB uses since many years, and that is specified in all Paypal payment button forms.

Paypal is using UTF-8 in their notifications too when using UTF-8 forms, and was for API callbacks too. Suddenly it now stopped using this, and replies to the API callbacks with Windows-1252 which has only few non-ASCII characters, and substitutes the UTF-8 characters with hex 1A characters (you see the "1A" in your original post if you "Edit" it).

It is clearly a Paypal.com bug. You can point your Paypal support contact to this thread, as best would be that they fix their bug.

You can follow our attempts to workaround it in our ticket:
forge.joomlapolis.com/issues/8790

Beat - Community Builder Team Member

Before posting on forums: Read FAQ thoroughly -- Help us spend more time coding by helping others in this forum, many thanks :)
CB links: Our membership - CBSubs - Templates - Hosting - Forge - Send me a Private Message (PM) only for private/confidential info

Please Log in to join the conversation.

2 years 4 months ago - 2 years 4 months ago #327482 by beat
The latest CBSubs version 4.5.3, released today, includes a workaround for this Paypal.com bug.

Thank you for your issue report!

Beat - Community Builder Team Member

Before posting on forums: Read FAQ thoroughly -- Help us spend more time coding by helping others in this forum, many thanks :)
CB links: Our membership - CBSubs - Templates - Hosting - Forge - Send me a Private Message (PM) only for private/confidential info
The following user(s) said Thank You: poml

Please Log in to join the conversation.

Moderators: beatnantkrileon
Time to create page: 0.244 seconds

Facebook Twitter LinkedIn