Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Error 'Back-end: ontbrekende gegevens' with + in e-mail address #4

Open
rvdsteege opened this issue Nov 10, 2022 · 4 comments
Open
Labels

Comments

@rvdsteege
Copy link
Member

In https://wordpress.org/support/topic/something-went-wrong-with-the-payment-2/ it was discovered that usage of a + in the customer e-mail address results in an error message:

We have recently noticed a strange problem, the cause of which is unknown! When one of our teammates tries to pay for a product that has a shipping class, she encounters the following errors!

Back-end: ontbrekende gegevens

This is while there is no problem for other users!

Finally i found that this issue only happens when there is plus symbol (+) in user email address! Is that related to woocommerce or your plugin?!

I was able to reproduce this specifically with MultiSafepay.

@rvdsteege
Copy link
Member Author

rvdsteege commented Nov 10, 2022

I've asked [email protected] if they can confirm the issue:

Beste support,

Met onze Pronamic Pay plugin voor WordPress is het mogelijk om betalingen te ontvangen via o.a. een MultiSafepay-account. Een gebruiker meldde zich echter bij ons op https://wordpress.org/support/topic/something-went-wrong-with-the-payment-2/ met het probleem dat bij het opstarten van een betaling in zijn webwinkel soms een foutmelding optrad:

Back-end: ontbrekende gegevens

De oorzaak hiervoor blijkt het gebruik van een + in het e-mailadres te zijn. Het verzoek waarmee de betaling wordt opgestart ziet er verder prima uit aan onze kant, inclusief e-mailadres. Kunnen jullie bevestigen of dit inderdaad niet mogelijk is aan jullie kant? En voor het geval het verschil maakt: we maken (nog) gebruik van de XML API. Zou dit via de JSON API al wel mogelijk zijn?

We horen graag even.

Internal Help Scout ticket: https://secure.helpscout.net/conversation/2063782094/24772/

@rvdsteege rvdsteege moved this to In Progress in Pronamic Pay Nov 10, 2022
@rvdsteege
Copy link
Member Author

Received reply from [email protected]:

Hi Reüel,

Goed dat je het even vraagt.

Een plus-teken is niet toegestaan in een email adres:
https://help.xmatters.com/ondemand/trial/valid_email_format.htm

Als een klant echt een plus-teken in zijn emailadres heeft, zal hij overal problemen ondervinden.
Overigens accepteert onze API het wel.

Met vriendelijke groeten,
Henk Timmermans
Support Specialist

+31 (0)20 8500 500 | [email protected]
Kraanspoor 39, 1033 SC Amsterdam, The Netherlands
MultiSafepay.com | disclaimer

@rvdsteege
Copy link
Member Author

rvdsteege commented Nov 10, 2022

I've double checked the API response through cURL requests, where the only difference in test data is using the + sign. The XML API does clearly not accept this.

Reply to [email protected]:

Beste Henk,

Bedankt voor je reactie.

Een plus-teken is niet toegestaan in een email adres: https://help.xmatters.com/ondemand/trial/valid_email_format.htm

​Als een klant echt een plus-teken in zijn emailadres heeft, zal hij overal problemen ondervinden.​

​​Ik weet niet wat "xmatters" precies is en hoe jullie dat gebruiken voor de API, maar plus-tekens leveren zeker niet overal problemen op. Veel mensen gebruiken het om eenvoudig variaties van hun e-mailadres te maken om daar in de inbox op te kunnen filteren. Google tipt daar bijvoorbeeld ook over in hun documentatie voor Gmail:

Overigens accepteert onze API het wel.

Met "onze API" bedoel je de JSON API en/of XML API? Ik heb dit namelijk nog even gedubbelchecked, maar het enige verschil in de data die wij versturen naar jullie XML API is toch echt of er wel of geen plus-teken in het e-mailadres is opgenomen. Zie bijgevoegde test data (daarin heb ik de site secure code weggelaten) en onderstaande cURL commando's met hun resultaat.

$ curl --data "@test-zonder-plus.xml" https://testapi.multisafepay.com/ewx/
<?xml version="1.0" encoding="UTF-8"?>
<redirecttransaction result="ok"><transaction><id>636d0dc89e46c</id><payment_url>https://testpayv2.multisafepay.com/connect/82PAzekXbCnKc3ApOn4Nu7ZuNMfC65k6fwI/?lang=nl_NL</payment_url></transaction></redirecttransaction>
<!--msp-pve-tst-pay-02-->
$ curl --data "@test-met-plus.xml" https://testapi.multisafepay.com/ewx/                                     
<?xml version="1.0" encoding="UTF-8"?>
<redirecttransaction result="error"><error><code>1016</code><description>Back-end: ontbrekende gegevens</description></error><transaction><id>636d0c4775e8d</id></transaction></redirecttransaction>
<!--msp-pve-tst-pay-02-->

Deze test bevestigt in ieder geval dat de XML API het duidelijk niet ondersteunt. Ik verwacht niet dat jullie dit nog gaan oplossen in die verouderde XML API, maar ik ontvang wel graag nog even bevestiging of dit daadwerkelijk ondersteund is met de JSON API. Alvast bedankt.

@rvdsteege
Copy link
Member Author

Robin de Laater
Nov 11, 15:58

Goedemiddag Reüel,

Neem dit ticket even over van mijn collega Henk. Zoals je al aangeeft, en mijn collega Henk bedoelde, wordt het plusteken wel geaccepteerd door onze JSON API, maar niet door de XML API. Wij zullen dit helaas niet meer aanpassen omdat de XML API inmiddels al enige tijd deprecated is verklaart.

Zijn jullie wellicht al bezig met het bouwen van een nieuwe integratie met onze JSON API? Zie graag je reactie tegemoet.

Met vriendelijke groet | Kind regards,

Robin de Laater
Integration Specialist/Developer

@remcotolsma remcotolsma moved this from In Progress to External in Pronamic Pay Dec 13, 2022
@rvdsteege rvdsteege added the bug label Dec 20, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
Status: External
Development

No branches or pull requests

1 participant