Συνάρτηση ελέγχου εγκυρότητας ΑΦΜ

Σε αυτή την περιοχή μπορείτε να βρείτε ή να αναζητήσετε πληροφορίες σχετικές με την PHP

Συντονιστές: WebDev Moderators, Super-Moderators, PHP Moderators

Απάντηση
Άβαταρ μέλους
giannis17
Honorary Member
Δημοσιεύσεις: 1215
Εγγραφή: 06 Ιαν 2005 19:50
Τοποθεσία: Παγκράτι - Αθήνα
Επικοινωνία:

Συνάρτηση ελέγχου εγκυρότητας ΑΦΜ

Δημοσίευση από giannis17 » 06 Μαρ 2013 22:54

nikosdimos έγραψε:Πας εδώ --> «Εγκυρότητα Φορολογικών Στοιχείων» --> «Ελέγξτε την εγκυρότητα ενός Α.Φ.Μ.»

Απλά λέει ότι προς το παρών η υπηρεσία δεν είναι διαθέσιμη.
Ναι αυτό το είδα αλλά εγώ θέλω το url που δέχεται τα request για να το ενσωματώσω σε δικό μου κώδικα όπως δουλέυουν τα παρακάτω site:

Κώδικας: Επιλογή όλων

http://www.forin.gr/tools/validate/afm
http://www.vrisko.gr/afm-etairies
Και βασικά είμαι γκαβός, κάποιος το έχει ανεβάσει στο GoogleCode αλλά είναι σε ASP και δεν βγάζω Χριστό. Θέλω να το ενσωματώσω σε PHP script.

Το έχουν σε javascript εδω:

Κώδικας: Επιλογή όλων

https://www1.gsis.gr/wsgsis/RgWsBasStoixN/RgWsBasStoixNSoapHttpPort
αλλά θέλει λίγο δουλίτσα αν το καταφέρω θα ανεβάσω το τελικό script σε νέο Thread.
"There is only one problem with common sense; it’s not very common."
– Milt Bryce

Άβαταρ μέλους
nikosdimos
Δημοσιεύσεις: 70
Εγγραφή: 22 Σεπ 2007 17:07

Συνάρτηση ελέγχου εγκυρότητας ΑΦΜ

Δημοσίευση από nikosdimos » 06 Μαρ 2013 23:43

Θες να ελέγξεις προσωπικό ΑΦΜ ή εταιρικό; Γιατί έχω την εντύπωση ότι τα link που έδωσες είναι για ΑΦΜ επαγγελματιών.

Όπως και να 'χει. Απ' το ίδιο link που είχα στο προηγούμενο post και την επιλογή «Ελέγξτε την εγκυρότητα του αριθμού Φ.Π.Α. - V.I.E.S.» οδηγείσαι εδώ. Το οποίο μου φαίνεται σαν μια υπηρεσία απ' την Ευρωπαϊκή Επιτροπή.

Στο FAQ Νο. 16: A SOAP service, offering the same functionality as the interactive service is available. The disclaimer, help and FAQ pages are also applicable for this service. Its WSDL file can be obtained here: http://ec.europa.eu/taxation_customs/vi ... rvice.wsdl . Any technical question related to this service can be submitted to TAXUD - Vies on Internet.
Τελευταία επεξεργασία από το μέλος nikosdimos την 06 Μαρ 2013 23:52, έχει επεξεργασθεί 2 φορές συνολικά.

Άβαταρ μέλους
giannis17
Honorary Member
Δημοσιεύσεις: 1215
Εγγραφή: 06 Ιαν 2005 19:50
Τοποθεσία: Παγκράτι - Αθήνα
Επικοινωνία:

Συνάρτηση ελέγχου εγκυρότητας ΑΦΜ

Δημοσίευση από giannis17 » 06 Μαρ 2013 23:51

Εταιρικά ΑΦΜ με ενδιαφέρουν. Το europa.eu δεν μου βγάζει αποτελέσματα για επιτιδευματίες μόνο για τις ενδοκοινοτικές.

Βρήκα ακόμα ένα website με παρόμοιο script το οποίο χρησιμοποιεί την ίδια λύση ASP μαζί με το vrisko.gr
To forin.gr χρησιμοποιεί το javascript που έδωσα link παραπάνω το οποίο ουσιαστικά μετατρέπει τα ActiveXobjects σε XML αλλά δεν ξέρω τι κώδικας PHP κρύβεται από πίσω (πέρα από Jquery και Mootools δεν σκαμπάζω πολλά από js). Παρεπιπτώντος το forin.gr πρέπει να χρησιμοποιεί Magento :D

Δυστυχώς δεν χρησιμοποιώ IIS οπότε όποια βοήθεια καλοδεχούμενη!
"There is only one problem with common sense; it’s not very common."
– Milt Bryce

Άβαταρ μέλους
giannis17
Honorary Member
Δημοσιεύσεις: 1215
Εγγραφή: 06 Ιαν 2005 19:50
Τοποθεσία: Παγκράτι - Αθήνα
Επικοινωνία:

Συνάρτηση ελέγχου εγκυρότητας ΑΦΜ

Δημοσίευση από giannis17 » 07 Μαρ 2013 00:01

Δεύτερο breakthrough!

Υπάρχει διαθέσιμο WSDL για την υπηρεσία που θέλω (έλεγχος ΑΦΜ ελλήνων επιτηδευματιών) και είναι το

Κώδικας: Επιλογή όλων

https://www1.gsis.gr/wsgsis/RgWsBasStoixN/RgWsBasStoixNSoapHttpPort?wsdl
και μπορώ να το χρησιμοποιήσω σε PHP χρησιμοποιώντας τη συνάρτηση SoapClient() αλλά με τι κώδικα του στέλνω το ΑΦΜ και παίρνω πίσω τα δεδομένα? οεο?
"There is only one problem with common sense; it’s not very common."
– Milt Bryce

Άβαταρ μέλους
jpk
Δημοσιεύσεις: 441
Εγγραφή: 09 Μαρ 2011 21:17

Συνάρτηση ελέγχου εγκυρότητας ΑΦΜ

Δημοσίευση από jpk » 07 Μαρ 2013 03:07

Δίνω την συνάρτηση που χρησιμοποιώ μήπως και χρησιμεύσει, την έγραψα πριν κάποια χρόνια αφού μου εξήγησαν πως δουλεύει το check digit σε ΑΦΜ και το είδα να λειτουργεί σωστά σε άλλες γλώσσες . Στην ουσία δεν διαφέρει πάρα πολύ από τις προηγούμενες check digits συναρτήσεις ΑΦΜ που αναφέρθηκαν (περισσότερο τώρα που το είδα με την συνάρτηση του kor σε JS μοιάζει) . Φυσικά κάνει check digit και όχι αν έχει δοθεί το συγκεκριμένο ΑΦΜ ή ακόμα περισσότερο αν είναι ενεργό. Αν υπάρχει κάποιο λάθος θα χαρώ πολύ να το διορθώσω, αλλά γενικά είναι ένας πολύ απλός αλγόριθμος.

Κώδικας: Επιλογή όλων

  function isAfm($afm)
  {
    if(!preg_match("/^\d{9}$/", $afm) || $afm == 0)
    {
      return false;
    }
    else 
    {
      $multiplier = 1;
      $sum = 0;
      $numbers = str_split($afm);
      for($i = 7; $i >= 0; $i--)
      {
        $multiplier = $multiplier * 2; 
        $sum += $numbers[$i] * $multiplier; 
      }
      return $sum % 11 % 10 == $numbers[8];
    }
  }

Άβαταρ μέλους
nikosdimos
Δημοσιεύσεις: 70
Εγγραφή: 22 Σεπ 2007 17:07

Συνάρτηση ελέγχου εγκυρότητας ΑΦΜ

Δημοσίευση από nikosdimos » 07 Μαρ 2013 09:18

Χωρίς να θέλω να μειώσω την απάντηση του jpk θα ήθελα να πω ότι αυτή η συνάρτηση απλά επαληθεύει το αν ένα ΑΦΜ έχει έγκυρη μορφή και δεν είναι απλά τυχαία νούμερα στη σειρά. Με τα εργαλεία που προτάθηκαν παραπάνω (και από εμένα αλλά και απ' τον giannis17) μπορείς να στείλεις ένα ΑΦΜ και να σου στείλει πίσω η υπηρεσία τα στοιχεία του κατόχου αυτού του ΑΦΜ. Έτσι μπορείς να επιβεβαιώσεις ότι όντως αυτό το ΑΦΜ αντιστοιχεί εκεί που πρέπει.

alou
Script Master
Δημοσιεύσεις: 1374
Εγγραφή: 24 Αύγ 2007 19:52
Επικοινωνία:

Συνάρτηση ελέγχου εγκυρότητας ΑΦΜ

Δημοσίευση από alou » 07 Μαρ 2013 16:40

giannis17 έγραψε:Δεύτερο breakthrough!

Υπάρχει διαθέσιμο WSDL για την υπηρεσία που θέλω (έλεγχος ΑΦΜ ελλήνων επιτηδευματιών) και είναι το

Κώδικας: Επιλογή όλων

https://www1.gsis.gr/wsgsis/RgWsBasStoixN/RgWsBasStoixNSoapHttpPort?wsdl
και μπορώ να το χρησιμοποιήσω σε PHP χρησιμοποιώντας τη συνάρτηση SoapClient() αλλά με τι κώδικα του στέλνω το ΑΦΜ και παίρνω πίσω τα δεδομένα? οεο?
Γενικά, ότι χρειάζεσαι σαν πληροφορία υποτίθεται ότι το βρίσκεις στο xml που ανέφερες, απλά είναι λίγο μπέρδεμα να καταλάβεις τη δομή.

Κώδικας: Επιλογή όλων

$soapRequest = new SoapClient("https://www1.gsis.gr/wsgsis/RgWsBasStoixN/RgWsBasStoixNSoapHttpPort?wsdl");
$soapData = $soapRequest ->MethodosPouEpilegeis(parametroi);
Το αποτέλεσμα είναι object και το περιεχόμενο εξαρτάται από την μέθοδο. Επιλέγεις μέθοδο που θες (<operation> tags συνήθως) και ψάχνεις όλο το xml να δεις τι άλλη πληροφορία σου δίνει για τη μέθοδο αυτή (τουλάχιστον input για να δεις τι παράμετρους περιμένει), κάνεις ένα print_r το αποτέλεσμα και βλέπεις.

Άβαταρ μέλους
dva_dev
Script Master
Δημοσιεύσεις: 3790
Εγγραφή: 16 Σεπ 2005 01:32
Επικοινωνία:

Συνάρτηση ελέγχου εγκυρότητας ΑΦΜ

Δημοσίευση από dva_dev » 07 Μαρ 2013 18:03

Αυτά στη θεωρία γιατί στην πράξη πάει να καλέσει το http://xportal1.gsis.gr:7777/wsgsis/RgW ... apHttpPort το οποίο (xportal1.gsis.gr) δεν μπορεί να γίνει resolve, οπότε πάπαλα όλη η προσπάθεια.

Από το http://ec.europa.eu/taxation_customs/vi ... ervice.wsd (που δουλεύει) δεν βλέπω γιατί να μην μπορείς να ελέγξεις εταιρικά αφμ.

Κώδικας: Επιλογή όλων

function checkVAT&#40;$vatNo&#41;
&#123;
    $client = new SoapClient&#40;"http&#58;//ec.europa.eu/taxation_customs/vies/checkVatService.wsdl"&#41;;
    $result = $client->checkVat&#40;array&#40;'countryCode'=>'EL','vatNumber'=>$vatNo&#41;&#41;;
    return $result->valid;
&#125;
Σε συνδυασμό με κάποια από τις προηγούμενες functions για να ελέγχεις τοπικά αν δεν είναι έγκυρη η μορφή, θα μπορούσες τοπικά να κόβεις στα γρήγορα αυτά που είναι "άκυρα" και να στέλνεις για έλεγχο/επιβεβαίωση μόνο αυτά που είναι "έγκυρα".

Άβαταρ μέλους
giannis17
Honorary Member
Δημοσιεύσεις: 1215
Εγγραφή: 06 Ιαν 2005 19:50
Τοποθεσία: Παγκράτι - Αθήνα
Επικοινωνία:

Συνάρτηση ελέγχου εγκυρότητας ΑΦΜ

Δημοσίευση από giannis17 » 07 Μαρ 2013 20:58

Ευχαριστώ πολύ για τις απαντήσεις σας. Θα τα κοιτάξω ΣΚ λόγω έλειψης χρόνου και αν καταφέρω και κάτι ορθότερο θα ενημερώσω.
"There is only one problem with common sense; it’s not very common."
&#8211; Milt Bryce

alou
Script Master
Δημοσιεύσεις: 1374
Εγγραφή: 24 Αύγ 2007 19:52
Επικοινωνία:

Συνάρτηση ελέγχου εγκυρότητας ΑΦΜ

Δημοσίευση από alou » 08 Μαρ 2013 18:43

Όντως dva, έχει θέμα το gsis...
Ένα test με το validation του kor περίπου και το europa.eu service δείχνει μια χαρά:

http://alou.gr/demos/afm

Άβαταρ μέλους
korgr
Honorary Member
Δημοσιεύσεις: 5067
Εγγραφή: 07 Οκτ 2008 18:30
Τοποθεσία: Corinth
Επικοινωνία:

Συνάρτηση ελέγχου εγκυρότητας ΑΦΜ

Δημοσίευση από korgr » 08 Μαρ 2013 21:13

alou έγραψε:Όντως dva, έχει θέμα το gsis...
Ένα test με το validation του kor περίπου και το europa.eu service δείχνει μια χαρά:

http://alou.gr/demos/afm
Ωραίος!
Προφανώς ήθελες να γράψεις Έλεγχος ΑΦΜ και όχι ΦΠΑ ε? :)

gvre
Δημοσιεύσεις: 990
Εγγραφή: 14 Οκτ 2010 11:34
Τοποθεσία: Ηράκλειο Κρήτης
Επικοινωνία:

Συνάρτηση ελέγχου εγκυρότητας ΑΦΜ

Δημοσίευση από gvre » 08 Μαρ 2013 22:42

To europa.eu ελέγχει μόνο επαγγελματικούς ΑΦΜ μέσω του vies απ' ό,τι βλέπω.

[edit] Τώρα είδα ότι ενδιαφέρουν μόνο ΑΦΜ επαγγελματιών τον giannis17.

alou
Script Master
Δημοσιεύσεις: 1374
Εγγραφή: 24 Αύγ 2007 19:52
Επικοινωνία:

Συνάρτηση ελέγχου εγκυρότητας ΑΦΜ

Δημοσίευση από alou » 09 Μαρ 2013 09:21

korgr έγραψε:
alou έγραψε:Όντως dva, έχει θέμα το gsis...
Ένα test με το validation του kor περίπου και το europa.eu service δείχνει μια χαρά:

http://alou.gr/demos/afm
Ωραίος!
Προφανώς ήθελες να γράψεις Έλεγχος ΑΦΜ και όχι ΦΠΑ ε? :)
χαχα ναι και στο fn αλλου λέω vat αλλου afm, υπάρχει μια σύγχιση :P

Απάντηση

Επιστροφή στο “PHP Προγραμματισμός”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 1 επισκέπτης