Neu Fehlermeldung bei der Ust-Id Prüfung

Baltazar80

Gut bekanntes Mitglied
18. Januar 2014
279
17
Hallo,

wir richten gerade einen Shop nur für Händler ein.
Und beim erstellen eines Test Accounts kommt immer eine Fehlermeldung bei der UST-ID Prüfung.

Wenn ich eine korrekte UST-ID eingebe, dann kommt da folgender Fehler:
"felder mit einem * müssen ausgefüllt werden."

Das Feld ist aber gefüllt, und zwar auch noch richtig, aber trotzdem kommt immer diese Fehlermelung?

Wenn ich eine falsche UST-ID eingebe (falsche Anzahl z.B), dann komm ein Fehler, das die Anzahl nicht richtig ist und wie es korrekt aussehen muss. Das it OK so, denn es soll ja gepüft werden, aslo die Prüfung funktioniert soweit.

Aber wie gesagt sobald ich eine richtige USD-ID eingebe kommt die genannte Fehlermeldung. Die Fehlermeldung erscheint ganz oben im Formular, unter dem Fehler UST-ID kommt nur ein leerer roter Feld, ohne dass da noch ein weiterer Hinweis zum Fehler steht.

In den Einstellungen habe ich die Prüfung der UST-ID aktiviert und auch unsere eigene UST-ID eingetragen.
Wenn ich die Prüfung deaktiviere, dann kommt keine Fehlermedung, aber dann kann man ja in dem Feld alles mögliche eintragen, das möchten wir nicht, es soll schon geprüft werden.

Ich habe schon mehrere korrekte UST-IDs probiert, von Frankreich, Italien usw.
Nur bei deutschen UST-IDs kommt kein Fehler, aber hier kommt auch gar kein Fehler, auch wenn ich eine falsche ID eingebe?

EDIT: Ich habe sogar in den Einstellungen bei UST-ID abfragen, auf "Ja optionale Angabe" gestellt, da kommt dann trotzdem die selbe Fehlermeldung, dass das Feld ausgefüllt sein muss?
 
Zuletzt bearbeitet:

Mirko.Schmidt User deaktiviert

Guest
Hallo,

welche Shop Version wird den genutzt, damit man das ganze besser eingrenzen kann?
 

FMoche

Moderator
Mitarbeiter
15. Dezember 2014
1.369
347
Halle (Saale)
Und vor allem: zu welcher Uhrzeit?
Wenn die Tests - wie der Beitrag - nachts um 2 gemacht wurden, hat die API des Bundeszentralamts für Steuern nämlich Feierabend.
 

Baltazar80

Gut bekanntes Mitglied
18. Januar 2014
279
17
Wir verwenden Shop Version 4.05

Und so wie es aussieht lag es tatsächlich an der uhrzeit, jetzt funktionieren die Registrierungen.

Heißt das ab einer bestimmten Uhrzeit kann man sich nicht registrieren? Welche Uhrzeit ist das denn genau?
Und noch wichtiger wäre es, kann man da nicht die Fehlermeldung ändern, dass da dann steht dass die Registrierung nur täglich von ... bis ... funktioniert, ansonsten könnten die Kunden ja auch ewig rumprobieren ohne zu wissen, was da eigentlich nicht stimmt?

Danke für eure Hilfe.
 

Mirko.Schmidt User deaktiviert

Guest
https://evatr.bff-online.de/eVatR/xmlrpc/ Auszug daraus:
Wichtiger Hinweis:
Über diese Schnittstelle können Sie sich täglich, in der Zeit zwischen 05:00 Uhr und 23:00 Uhr, die Gültigkeit einer ausländischen Umsatzsteuer-Identifikationsnummer (USt-IdNr.) bestätigen lassen.

Das mit der besseren Fehlermeldung im Zeitraum 23:00 - 5:00 Uhr, leite ich gerne einmal weiter
 

Baltazar80

Gut bekanntes Mitglied
18. Januar 2014
279
17
Vielen Dank Mirko für die Weiterleitung.

Ich habe das jetzt vorrübergehend wie folgt gelöst, und zwar habe ich einfach die Fehlermeldung wie folgt erweitert:

Code:
Felder mit einem * müssen ausgefüllt werden.
<br /><br />
<strong>Bitte beachten:</strong> Eine Registrierung ist nur in der Zeit zwischen 05:00 Uhr und 23:00 Uhr (Deutsche Uhrzeit) möglich, 
da die Gültigkeit einer ausländischen Umsatzsteuer-Identifikationsnummer (USt-IdNr.) nur in dieser Zeit beim zuständigen Amt geprüft werden kann.

Das ist jetzt zwar keine perfekte Lösung, aber zumindest können die Kunden jetzt sehen, warum die Registrierung nicht klappt.
 

FMoche

Moderator
Mitarbeiter
15. Dezember 2014
1.369
347
Halle (Saale)
In der übernächsten Version haben wir diese Schnittstelle übrigens ausgetauscht, sodass eine Überprüfung rund um die Uhr möglich sein wird.
 

Mirko.Schmidt User deaktiviert

Guest
Das würde dann aber bei jedem fehlerhaften/leer gelassenem Eintrag angezeigt werden. Da eher eine Template Änderung vornehmen in der ../checkout/inc_billing_address_form.tpl Zeile 276 ca (Stand 4.05.6), hier gibt es folgenden Blog
Code:
{if $Einstellungen.kunden.kundenregistrierung_abfragen_ustid !== 'N'}
    <div class="row">
        <div class="col-xs-12 col-md-6">
            <div class="form-group float-label-control{if isset($fehlendeAngaben.ustid)} has-error{/if}{if $Einstellungen.kunden.kundenregistrierung_abfragen_ustid === 'Y'} required{/if}">
                <label class="control-label" for="ustid">{lang key="ustid" section="account data"}</label>
                <input
                type="text"
                name="ustid"
                value="{if isset($Kunde->cUSTID)}{$Kunde->cUSTID}{/if}"
                id="ustid"
                class="form-control"
                placeholder="{lang key="ustid" section="account data"}"
                {if $Einstellungen.kunden.kundenregistrierung_abfragen_ustid === 'Y'} required{/if}
                >
                {if isset($fehlendeAngaben.ustid)}
                <div class="alert alert-danger">
                    {if $fehlendeAngaben.ustid == 1}{lang key="fillOut" section="global"}
                    {elseif $fehlendeAngaben.ustid == 2}{lang key="ustIDCaseTwo" section="global"}. {if $fehlendeAngaben.ustid_err|count > 0 && $fehlendeAngaben.ustid_err !== false}{lang key="ustIDCaseTwoB" section="global"}: {$fehlendeAngaben.ustid_err}{/if}
                    {elseif $fehlendeAngaben.ustid == 5}{lang key="ustIDCaseFive" section="global"}.{/if}
                </div>
                {/if}
            </div>
        </div>
    </div>
{/if}
nach
Code:
{elseif $fehlendeAngaben.ustid == 5}{lang key="ustIDCaseFive" section="global"}.{/if}
Den oben geposteten Schnipsel einfügen.
 

Baltazar80

Gut bekanntes Mitglied
18. Januar 2014
279
17
@Mirko.Schmidt

Meinst du mit dem geposteten Schnipsel meinen Code (Text) den ich gepostet habe?
Falls ja, dann würde es ja aber nur den deutschen Text anzeigen? Natürlich soll es aber auch in Englisch angezeigt werden.

Könnte ich denn nicht, da eine eigene Fehlermeldung einfügen, die ich dann im Shop Backend als Sprachvarialble einfüge?
Oder vielleicht könnte ich ja eine andere Fehlermeldung, die ich im Shop nicht benötige dafür mißbrauchen?
 

Mirko.Schmidt User deaktiviert

Guest
Ja ich meinte den Code Snippet von dir. Ja es kann auch über eine Sprachvariable im Backend angelegt werden, sprich eine neue und diese dann im Template an der von mir genannten Stelle ausgeben.
 

Baltazar80

Gut bekanntes Mitglied
18. Januar 2014
279
17
Danke nochmal, aber leider kenne ich ma nicht so gut aus, würde das so ungefähr passen:

Code:
<div class="alert alert-danger">
 {if $fehlendeAngaben.ustid == 1}{lang key="fillOut" section="global"}
 {elseif $fehlendeAngaben.ustid == 2}{lang key="ustIDCaseTwo" section="global"}. {if $fehlendeAngaben.ustid_err|count > 0 && $fehlendeAngaben.ustid_err !== false}{lang key="ustIDCaseTwoB" section="global"}: {$fehlendeAngaben.ustid_err}{/if}
{elseif $fehlendeAngaben.ustid == 5}{lang key="ustIDCaseFive" section="global"}.{/if}
{elseif $fehlendeAngaben.ustid == 5}{lang key="ustIDCaseTime" section="global"}.{/if}
</div>

Ich habe jetzt eine Variable "ustIDCaseTime" hinzugefügt. Aber wie kann ich denn jetzt im Code angeben, wann das angezeigt werden soll?
fehlende Angaben.ustid == 5, was genau bedeutet die 5, ich denke das ist falsch, da ja dann eigentlich "ustIDCaseFive" ausgegebe wird.

Oder kann ich nur folgenden Code einfügen, ohne eine if Abfrage, wird es dann immer angezeigt? Also wie folgt?
Code:
<div class="alert alert-danger">
 {if $fehlendeAngaben.ustid == 1}{lang key="fillOut" section="global"}
 {elseif $fehlendeAngaben.ustid == 2}{lang key="ustIDCaseTwo" section="global"}. {if $fehlendeAngaben.ustid_err|count > 0 && $fehlendeAngaben.ustid_err !== false}{lang key="ustIDCaseTwoB" section="global"}: {$fehlendeAngaben.ustid_err}{/if}
{elseif $fehlendeAngaben.ustid == 5}{lang key="ustIDCaseFive" section="global"}.{/if}
{lang key="ustIDCaseTime" section="global"}
</div>
 

Baltazar80

Gut bekanntes Mitglied
18. Januar 2014
279
17
So, OK jetzt habe ich den Sinn verstanden, so wie in meinem zweiten Beipsiel ist es jetzt so, dass die Fehlermeldung immer mit angezeigt wird, sobald irgendeine Fehlermeldung bei der UST-ID angezeigt wird.
Ja, das ist schon mal eine viel besser Lösung, ich werde das dann mal ab 23 Uhr nochmal testen, ob auch alles wie gewünscht funtkioniert.

Vielen Dank nochmal für eure Hile.
 

Mirko.Schmidt User deaktiviert

Guest
Ja so wie im zweiten Code Snippet muss es aussehen, damit die Sprachvariable immer angezeigt wird bei Fehlern mit der UstID 🙂
 

Ähnliche Themen