RequestIdGeneratorBasic.php 1.0 KB

1234567891011121314151617181920212223242526272829
  1. <?php
  2. namespace NavOnlineInvoice;
  3. class RequestIdGeneratorBasic implements RequestIdGeneratorInterface {
  4. /**
  5. * Egyedi request ID generálása
  6. *
  7. * NAV specifikáció:
  8. * A requestId a kérés azonosítója. Értéke bármi lehet, ami a pattern szerint érvényes és az
  9. * egyediséget nem sérti. A requestId-nak - az adott adózó vonatkozásában - kérésenként
  10. * egyedinek kell lennie. Az egyediségbe csak a sikeresen feldolgozott kérések számítanak bele, a
  11. * sikertelen vagy a szerver által elutasított kérések azonosítói nem, azok az első sikeres
  12. * tranzakcióig (HTTP 200-as válaszig) újra felhasználhatóak. A tag értéke beleszámít a
  13. * requestSignature értékébe.
  14. *
  15. * Pattern: [+a-zA-Z0-9_]{1,30}
  16. *
  17. * @return string
  18. */
  19. function generate() {
  20. $id = "RID" . microtime() . mt_rand(10000, 99999);
  21. $id = preg_replace("/[^A-Z0-9]/", "", $id);
  22. $id = substr($id, 0, 30);
  23. return $id;
  24. }
  25. }