Krajowy system e-Faktur

0

@PK_64: A w jakich znacznikach mam zamieszczać kod ?
Zwróciłeś mi uwagę OK.. Napisz jak zrobić o poprawnie
PAweł

0

Hej, jeszcze w kwestii limitów API, ale tym razem w wysyłce wsadowej faktur. Czy ja dobrze widzę i rozumiem, że można wysłać max 2 części (metoda /batch​/Upload​/) ?

Zdefiniowane przez KSeF limity również mówią:
batch.upload limit:2 lifespan:60 (time unit: MINUTES)

I rzeczywiście (wyjątkowo) u mnie przy próbie wysłania 3ciej paczki dostaję błąd o wyczerpaniu limitu API.

Czyli mogę wysłać max ~98 MB spakowanych faktur, bo mogę wysłać jedynie 2 części, a każda może mieć max ~49 MB (uwzględniając zapas na szyfrowanie) ? Oczywiście faktur będzie nie mało w takim archiwum, ale mam wrażenie, że na webinarze przedstawione to było inaczej, praktycznie jak opcja 'no limit' (jedynie nie przekraczając rozmiaru pojedynczej części archiwum).

1

Dla potomnych (.Net 6 Core)
procedura szyfrowania z importowaniem klucza publicznego.
Klucz publiczny jest pobrany z pliku publicKey.pem z drugiej linijki (bez tekstów wstępu i zakończenia):

public static byte[] EncryptRSA(byte[] tab, string public_key)
{
  // public key
  byte[] PublicKey = Convert.FromBase64String(public_key);

  using (RSACryptoServiceProvider RSA = new RSACryptoServiceProvider())
  {
    int ReadBytes;
    RSA.ImportSubjectPublicKeyInfo(PublicKey, out ReadBytes);
  
    var ret = RSA.Encrypt(tab, false);
    return ret;
  }
}

1

Troche w innym języku ale dla wersji .NET 4 ( ale do weryfikacji )

      DEFINE VARIABLE  publicKeyString  AS CHARACTER NO-UNDO.
          DEFINE VARIABLE bytesToEncrypt    AS "System.Byte[]" NO-UNDO.
          DEFINE VARIABLE encryptedData     AS "System.Byte[]" NO-UNDO.
          DEFINE VARIABLE rsa               AS RSACryptoServiceProvider NO-UNDO.  
          DEFINE VARIABLE rsaKeyInfo        AS RSAParameters NO-UNDO.  
          DEFINE VARIABLE base64Encrypted    AS CHARACTER NO-UNDO.


          bytesToEncrypt = Encoding:UTF8:GetBytes(textToEncrypt) .            
          //-----------------------
          rsa = NEW RSACryptoServiceProvider() .
          rsaKeyInfo = rsa:ExportParameters(FALSE) .
          rsaKeyInfo:Modulus = File:ReadAllBytes ( 'KSeFpublicKey.cer') .
          rsa:ImportParameters(rsaKeyInfo).
          encryptedData = rsa:Encrypt(bytesToEncrypt , RSAEncryptionPadding:Pkcs1 ).  
          RETURN  Convert:ToBase64String(encryptedData) .
      ```
0

@malinarek70: Dołączę jak kolega wyżej "Czy jest ktoś chętny do podzielenia się (odpłatnie) kodem w C# potrafiącym wysłać fakturę i pobrać UPO?""

0

Hej, mam problem z wysyłką wsadową faktur. Init przechodzi, upload przechodzi, finish przechodzi. Problem pojawia się przy przetwarzaniu tego co wysłałem, bo po sprawdzeniu statusu otrzymuję:

{
...
"ProcessingCode":"425",
"ProcessingDescription":"Nieprawidłowy skrót pliku."
}

Problem jest tylko jeśli dzielę archiwum na kilka części, bo jeśli mam jedną część to przechodzi bez problemu i dostaję UPO. Ale w obu przypadkach używam 100% tego samego kodu, jedynie zmieniam limit przy którym następuje podział. Sam podział pliku robię wczytując go (cały plik ZIP) jako tablicę bajtów, następnie dzieląc tą tablicę - biorę po prostu 5000 pierwszych bajtów (próg 5000 bajtów ustawiłem sobie do testów), szyfruję AES (mają już wtedy 5008 bajtów), liczę skrót, zapamiętuję w liście (lista przechowuje tablice bajtów, każda tablica odpowiada jednej części pliku). Następnie biorę kolejne 5000 bajtów itd.

Myślałem, że problem może leży w błędnym szyfrowaniu lub cięciu pliku, ale obie operacje odwracam z powodzeniem i otrzymuję źródłowy plik (o tym samym skrócie SHA256).
Może też KSeF wymaga innego podejścia do podziału pliku i nie potrafi go w ten sposób połączyć - ale w takim razie czego oni wymagają, bo w ubogiej dokumentacji widzę jedynie "Podzielić binarnie archiwum", więc to też robię.

W załącznik wrzucam zawartość zapytania do BatchInit dla obu przypadków - gdy jest 1 plik (i działa, dostaję UPO), oraz gdy są 3 pliki (nie działa i dostaję ww. błąd "Nieprawidłowy skrót pliku.").

Czego nie widzę?

InitBatch_dziala_1Part.xml
InitBatch_niedziala_3Parts.xml

0

Cześć.

Mam problem z InitToken (aplikacja w c#). Zawsze zwraca 21101 - Błąd autoryzacji.
Stosuję tokeny wygenerowane w nowej "Aplikacji Podanika KSeF".
Wiem, że temat był już poruszany, była informacja, że nie działają tokeny wygenerowane bezpośrednio przez sesję z pieczęcią NIP.
Próbowałem różnych kombinacji: nadanie uprawnień dla pesel, zalogowanie peselem i wygenerowanie tokena z wszystkimi możliwymi rolami.
Niezmiennie dostaję:
StatusCode: 400, ReasonPhrase: 'Bad Request', Version: 1.1, Content: System.Net.Http.HttpConnectionResponseContent, Headers:
{
Connection: keep-alive
Date: Wed, 13 Apr 2022 11:59:26 GMT
Content-Type: application/json
Content-Length: 329
}
{"exception":{"serviceCtx":"srvTEMFC","serviceCode":"20220413-EX-3B83EB96CC-2E1A965BF1-83","serviceName":"online.session.session.token.init","timestamp":"2022-04-13T11:59:26.401Z","referenceNumber":"20220413-SE-0F941EF8EC-C933F0B581-F8","exceptionDetailList":[{"exceptionCode":21101,"exceptionDescription":"Brak autoryzacji."}]}}

Z góry dziękuję za pomoc.

Zdesperowany - Grzegorz

0

Jakie elementy trzeba zmienić w fakturze korygującej względem "zwykłej"? Zmieniłem rodzaj faktury na KOR, dodałem TypKorekty, DaneFaKorygowanej ale widocznie to za mało (brak zgodności ze schemą)

0
keye0192 napisał(a):

Jakie elementy trzeba zmienić w fakturze korygującej względem "zwykłej"? Zmieniłem rodzaj faktury na KOR, dodałem TypKorekty, DaneFaKorygowanej ale widocznie to za mało (brak zgodności ze schemą)

A nie masz więcej infoacji ? Rządówka dość wyraźnie opisuje "niezgodność ze schemą" i szybko dochodzi się do konluzji.
Komunikaty o błędach nie sa dla znęcania się, ale przeczytania

0

Cześć, czy działa Wam wysyłka faktur na środowisku testowym w sesji inicjowanej za pomocą tokenu autoryzacyjnego?

{"exception":{"serviceCtx":"srvTEMFB","serviceCode":"20220415-EX-B298EF47AA-E95FBFE42B-C6","serviceName":"online.invoice.invoice.send","timestamp":"2022-04-15T12:25:20.269Z","referenceNumber":null,"exceptionDetailList":[{"exceptionCode":21219,"exceptionDescription":"Sesja interaktywna zakończona."}]}}

Robię wysyłkę faktury na sesji nawiązanej podpisem metoda initSigned i wszystko idzie bez problemu. Faktury są widoczne podczas wyszukiwania.

0

Wg mnie:
<DataPrzeslaniaDokumentu> = <InvoicingDate> (ale InvoicingDate nie ma czasu) = Data wystawienia faktury
<DataPrzyjeciaDokumentu> == <AcquisitionTimestamp> = Data otrzymania faktury

Mam rację?

1

Oto program GbbKSeF v1.0 - wersja do testowania API KSeF, ale wydaje się, że w pełni działająca (z wyjątkiem problemów z wysyłaniem więcej niż 1 pliku w trybie batch). Link do źródeł w komentarzu.

Program do pobrania tutaj:
Plik1: https://www.gbbsoft.pl/!download/GbbKSeF/GbbKSeFSetup.msi
Plik2: https://www.gbbsoft.pl/!download/GbbKSeF/setup.exe

Wystarczy wgrać pliki do jednego katalogu (najlepiej pustego) i uruchomić setup.exe (albo plik .msi).
Wymagania: .Net Framework Core 6.0.202

Dodatek ekstra: możliwość pobrania wysłanej faktury i wygenerowania faktury korygującej "do zera" dla niej (i ew. wysłania do KSeF)

screenshot-20220417200023.png

screenshot-20220417200111.png

screenshot-20220417200145.png

screenshot-20220417200218.png

screenshot-20220417200258.png

0

Nie daje mi to spokoju więc znowu Was zapytam: wysyłam taką oto fakturę (pierwszy akapit) i dostaję odpowiedź z kodem 200, także wszystko w porządku.
Natomiast gdy wysyłam korektę (drugi akapit), dostaję odpowiedź z kodem 425. Data wystawienia, nr KSeF i nr faktury - wszystko się zgadza, nazwy i UU_ID produktu również także co może być nie tak?

Faktura zwykła:

<?xml version = "1.0" encoding = "utf-8"?>
<Faktura xmlns:etd="http://crd.gov.pl/xml/schematy/dziedzinowe/mf/2021/06/09/eD/DefinicjeTypy/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 xmlns="http://crd.gov.pl/wzor/2021/11/29/11089/">
  <Naglowek>
    <KodFormularza kodSystemowy="FA (1)" wersjaSchemy="1-0E">FA</KodFormularza>
    <WariantFormularza>1</WariantFormularza>
    <DataWytworzeniaFa>2022-04-19T12:55:55Z</DataWytworzeniaFa>
  </Naglowek>
  <Podmiot1>
    <DaneIdentyfikacyjne>
      <NIP>1111111111</NIP>
      <PelnaNazwa>Usługi handlowe</PelnaNazwa>
    </DaneIdentyfikacyjne>
    <Adres>
      <AdresPol>
        <KodKraju>PL</KodKraju>
        <Ulica>Nitchego</Ulica>
        <NrDomu>123</NrDomu>
        <Miejscowosc>Katowice</Miejscowosc>
        <KodPocztowy>00-412</KodPocztowy>
      </AdresPol>
    </Adres>
  </Podmiot1>
  <Podmiot2>
    <DaneIdentyfikacyjne>
      <NIP>2222222222</NIP>
      <PelnaNazwa>Sklep aaa</PelnaNazwa>
    </DaneIdentyfikacyjne>
    <Adres>
      <AdresPol>
        <KodKraju>PL</KodKraju>
        <Ulica>Budowlana</Ulica>
        <NrDomu>123</NrDomu>
        <Miejscowosc>Budoszyce</Miejscowosc>
        <KodPocztowy>12-345</KodPocztowy>
      </AdresPol>
    </Adres>
  </Podmiot2>
  <Fa>
    <KodWaluty>PLN</KodWaluty>
    <P_1>2022-04-19</P_1>
    <P_2>FV2022/02/127</P_2>
    <P_13_1>1</P_13_1>
    <P_14_1>0.23</P_14_1>
    <P_13_2>0</P_13_2>
    <P_14_2>0</P_14_2>
    <P_13_3>0</P_13_3>
    <P_14_3>0</P_14_3>
    <P_13_4>0</P_13_4>
    <P_14_4>0</P_14_4>
    <P_13_5>0</P_13_5>
    <P_15>1</P_15>
    <Adnotacje>
      <P_16>2</P_16>
      <P_17>2</P_17>
      <P_18>2</P_18>
      <P_18A>2</P_18A>
      <P_19>2</P_19>
      <P_22>2</P_22>
            <P_23>2</P_23>
      <P_PMarzy>2</P_PMarzy>
          </Adnotacje>
    <RodzajFaktury>VAT</RodzajFaktury>
    <FP>1</FP>
    <FaWiersze>
      <LiczbaWierszyFaktury>1</LiczbaWierszyFaktury>
      <WartoscWierszyFaktury1>1</WartoscWierszyFaktury1>
      <FaWiersz>
        <NrWierszaFa>1</NrWierszaFa>
        <UU_ID>aaaa111133339990</UU_ID>
        <P_7>Produkt12</P_7>
        <P_8A>szt</P_8A>
        <P_8B>1</P_8B>
        <P_9A>1</P_9A>
        <P_11>1</P_11>
        <P_12>23</P_12>
        <P_12_Procedura>7</P_12_Procedura>
      </FaWiersz>
    </FaWiersze>
  </Fa>
</Faktura>

Faktura korygująca:

<?xml version = "1.0" encoding = "utf-8"?>
<Faktura xmlns:etd="http://crd.gov.pl/xml/schematy/dziedzinowe/mf/2021/06/09/eD/DefinicjeTypy/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 xmlns="http://crd.gov.pl/wzor/2021/11/29/11089/">
  <Naglowek>
    <KodFormularza kodSystemowy="FA (1)" wersjaSchemy="1-0E">FA</KodFormularza>
    <WariantFormularza>1</WariantFormularza>
    <DataWytworzeniaFa>2022-04-19T12:56:06Z</DataWytworzeniaFa>
  </Naglowek>
  <Podmiot1>
    <DaneIdentyfikacyjne>
      <NIP>1111111111</NIP>
      <PelnaNazwa>Usługi handlowe</PelnaNazwa>
    </DaneIdentyfikacyjne>
    <Adres>
      <AdresPol>
        <KodKraju>PL</KodKraju>
        <Ulica>Nitchego</Ulica>
        <NrDomu>123</NrDomu>
        <Miejscowosc>Katowice</Miejscowosc>
        <KodPocztowy>00-412</KodPocztowy>
      </AdresPol>
    </Adres>
  </Podmiot1>
  <Podmiot2>
    <DaneIdentyfikacyjne>
      <NIP>2222222222</NIP>
      <PelnaNazwa>Sklep aaa</PelnaNazwa>
    </DaneIdentyfikacyjne>
    <Adres>
      <AdresPol>
        <KodKraju>PL</KodKraju>
        <Ulica>Budowlana</Ulica>
        <NrDomu>123</NrDomu>
        <Miejscowosc>Budoszyce</Miejscowosc>
        <KodPocztowy>12-345</KodPocztowy>
      </AdresPol>
    </Adres>
  </Podmiot2>
  <Fa>
    <KodWaluty>PLN</KodWaluty>
    <P_1>2022-04-19</P_1>
    <P_2>FV2022/02/128</P_2>
    <P_13_1>1</P_13_1>
    <P_14_1>0.23</P_14_1>
    <P_13_2>0</P_13_2>
    <P_14_2>0</P_14_2>
    <P_13_3>0</P_13_3>
    <P_14_3>0</P_14_3>
    <P_13_4>0</P_13_4>
    <P_14_4>0</P_14_4>
    <P_13_5>0</P_13_5>
    <P_15>1</P_15>
    <Adnotacje>
      <P_16>2</P_16>
      <P_17>2</P_17>
      <P_18>2</P_18>
      <P_18A>2</P_18A>
      <P_19>2</P_19>
      <P_22>2</P_22>
            <P_23>2</P_23>
      <P_PMarzy>2</P_PMarzy>
          </Adnotacje>
    <RodzajFaktury>KOR</RodzajFaktury>
    <DaneFaKorygowanej>
      <DataWystFaKorygowanej>2022-04-19</DataWystFaKorygowanej>
      <NrFaKorygowanej>FV/2022/02/127</NrFaKorygowanej>
      <NrKSeFFaKorygowanej>20220419-EE-55D7191C62-E60481D329-3B</NrKSeFFaKorygowanej>
    </DaneFaKorygowanej>
    <FP>1</FP>
    <FaWiersze>
      <LiczbaWierszyFaktury>2</LiczbaWierszyFaktury>
      <WartoscWierszyFaktury1>1</WartoscWierszyFaktury1>
      <FaWiersz>
        <NrWierszaFa>1</NrWierszaFa>
        <UU_ID>aaaa111133339990</UU_ID>
        <P_7>Produkt12</P_7>
        <P_8A>szt</P_8A>
        <P_8B>1</P_8B>
        <P_9A>-1</P_9A>
        <P_11>-1</P_11>
        <P_12>23</P_12>
        <P_12_Procedura>7</P_12_Procedura>
      </FaWiersz>
      <FaWiersz>
        <NrWierszaFa>2</NrWierszaFa>
        <UU_ID>aaaa111133339990</UU_ID>
        <P_7>Produkt12</P_7>
        <P_8A>szt</P_8A>
        <P_8B>1</P_8B>
        <P_9A>2</P_9A>
        <P_11>2</P_11>
        <P_12>23</P_12>
        <P_12_Procedura>7</P_12_Procedura>
      </FaWiersz>
    </FaWiersze>
  </Fa>
</Faktura>

screenshot-20220419133254.png

0

Czy komuś udało się znaleźć informacje odnośnie pierwszego logowania do systemu KSeF? Na webinarze była wzmianka o tym, że pierwsze logowanie musi odbyć się za pomocą pieczęci kwalifikowanej.Teraz pojawił się webowy program testowy i jest w nim możliwość zalogowania się też za pomocą profilu zaufanego, tylko ono może działać dopiero po nadaniu uprawnień dla konkretnej osoby. Wyjaśniło się coś więcej odnośnie pierwszego logowania? KSeF ma jakieś wstępne powiązania NIPu z PESELami osób uprawnionych do konkretnego NIPu? Jeżeli nie ma takiego powiązania, to czy to znaczy, że żeby dołączyć do KSeF to każdy przedsiębiorca będzie musiał wyrobić pieczęć kwalifikowaną na swój NIP bo tylko nią będzie mógł na początku wejść do KSeF i nadać uprawnienia dla PESELa?

0

Czy ktoś miał ten sam problem z initSigned, dostaje komunikat
"exceptionCode": 21105,
"exceptionDescription": "Brak uwierzytelnienia certyfikatu."

korzystałem ze sposobu generowania certyfikatu podanego przez @marcinxyz https://4programmers.net/Forum/Nietuzinkowe_tematy/355933-ksef_krajowy_system_e_faktur?p=1833762#id1833762
podpis generowany podobnie jak tutaj: https://4programmers.net/Forum/Nietuzinkowe_tematy/355933-ksef_krajowy_system_e_faktur?p=1826638#id1826638
strzelam do testu i cały czas ten sam komunikat, czyżby jakieś zmiany wprowadzili?

0

@BartezzKK: Przykład pliku którym się uwierzytelniam w metodzie initSigned. ksefSignedXadesExample.zip

0

Cześć, nie wiem czy się nie powtarzam ale przy jakim processingCode uznajecie że sesja jest poprawnie nawiązana i można odpalać komunikację? 315 ?sessionInit.png

3

Hey, ma ktos patent jak w PHP zrobic to - podpisywane do InitTokena?

Base64 (encrypt (public_key, (token + '|' + challenge.getTime).getBytes))

public_key, token, challlenge time mam.
ale getBytes to wyglada ze z Javy jest.

0

Czy komuś udało się zalogować na test korzystając z podpisu Szafir? Logując się wirtualną pieczęcią dodałem uprawnienia na PESEL. Skonfigurowałem podpisywanie w aplikacji Szafir (XAdES, nie dołączaj dodatkowych informacji XAdES-BES, SHA-256, brak zobowiązań, podpis otaczany), ale przy próbie logowania dostaję błąd 400. Podpis w większości wygląda tak samo jak podpis generowany w kodzie dla certyfikatu self-signed.

0

Coś chciałem sobie przetestować i mam ciężkie obawy co do wydajności tego systemu w przyszłości :) Kiedyś od momentu zalogowania tokenem po kilkunastu sekundach status sesji był 315.. teraz juz od paru minut 100, dopiero 310 mam :) nie mówiąc juz o tym aby sprawdzić sesjie to tylko parę razy mogę odpytać o status sesji.. bo mi zaraz przekroczony limit wyskakuje. Przecież jeśli systemy masowo zaczną tam wysyłać informacje to od wystawienia faktury do możliwego jej potwierdzenia..nie mówiąc już od otrzymania nawet jakiegoś papierka jakby ktoś chciał może minąć nieokreślony czas..

0

witam. przy wysyłce wsadowej. jak dostać z powrotem nadane numery ksef?

0

Jeszcze mnie zastanawia format adresu. Są systemu gdzie adres klienta nie był przechowywany jakoo Ulica, nr domu, lokalu itd oddzielnie a jako dwa wiersze: address1 i address2 czyli ulica nr/nr i kod miasto. Z tego co widzę format do KSEF przyjmuje tylko w rozbiciu i chyba nie bardzo idzie to "oszukać", żeby wysłać jakoś inaczej.

0

Czy ktoś może wie dlaczego ten podpis jest "niezgodny ze schemą" (schemą, której nie ma nigdzie)? Sam plik do wysyłki batch jest OK. Zgodny jest z publicznym .xsd.
Plik podpisany programem Certrum działa poprawnie. Ale plik podpisany przez mnie (tym samym podpisem kwalifikowanym) - nie działa. Otrzymuje błąd: "21201-Dokument nie jest zgodny ze schemą".

   <Signature xmlns="http://www.w3.org/2000/09/xmldsig#" Id="Signature">
      <SignedInfo>
         <CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315" />
         <SignatureMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#rsa-sha256" />
         <Reference Id="mainRefId" URI="">
            <Transforms>
               <Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature" />
            </Transforms>
            <DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256" />
            <DigestValue>CPE0D7BbmylXQWlbpIuOmz2QXx/aUaIJoUFtmFg87+s=</DigestValue>
         </Reference>
         <Reference URI="#ObjectRef1" Type="http://uri.etsi.org/01903#SignedProperties">
            <DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256" />
            <DigestValue>38YfeePhmue8bF+/VShxnPt8jj51SEYhbelp5BpUsd4=</DigestValue>
         </Reference>
      </SignedInfo>
      <SignatureValue>eY1tM3hB76LGPfQ72l2eTCU5loOdrBCOcbHFsceocDPpH5Um+IIEZKwTnzizaIQUnMgzYW4NZNz4YdKe2X1prsxziYNr8cuzUJygVOXzfeke4JAcp66xVvhgpViQo5tOvd33qkLRtrn+OpFECN3WZ+P+9d6yC7mH6W0Md8ISbPU218D0CQ+07fMWOXG+uO/YkzhqgsbcR8ly6PO8nxEU3L2bGZIPPuevuG/lHtq1Jac4Z6GYI7G4QqGS5+dhZzsZM+dN3rMcohZdnYZj/aH3RG+lKNlGZ7A0MyJau+jsyKNcEaNC81sKpOBUkUgFzSxDpq27IMvPgow98Nq0Jq+l67XeagFAqkK564tq8ubCCsFk3u7aOGDP5kqTotsr4yHC33V95yFp+q5BE9I2hJ7jLsCVvthW6HZPSenO0avo4Mb7GP8wdm3Wa2iU7bQYQZNK+P4p8PpkXDfXYVMmHdZVbEWLSg8Mk7mjp+RWO2FdW6lGpmh6zyh7yIEM4sqFx7Ju</SignatureValue>
      <KeyInfo>
         <X509Data>
            <X509Certificate>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</X509Certificate>
         </X509Data>
      </KeyInfo>
      <Object Id="ObjectRef1">
         <xades:QualifyingProperties xmlns:xades="http://uri.etsi.org/01903/v1.3.2#" Target="#Signature">
            <xades:SignedProperties Id="SignedProperties2">
               <xades:SignedSignatureProperties>
                  <xades:SigningTime>2022-04-25T20:02:28Z</xades:SigningTime>
                  <xades:SigningCertificate>
                     <xades:Cert>
                        <xades:CertDigest>
                           <DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" />
                           <DigestValue>AYVqdfbTlsogiI9t908enfi1wpw=</DigestValue>
                        </xades:CertDigest>
                        <xades:IssuerSerial>
                           <X509IssuerName>OID.2.5.4.97=VATPL-5170359458, CN=Certum QCA 2017, O=Asseco Data Systems S.A., C=PL</X509IssuerName>
                           <X509SerialNumber>128055913012723029972660416800323410413</X509SerialNumber>
                        </xades:IssuerSerial>
                     </xades:Cert>
                  </xades:SigningCertificate>
               </xades:SignedSignatureProperties>
               <xades:SignedDataObjectProperties>
                  <xades:DataObjectFormat ObjectReference="#mainRefId">
                     <xades:MimeType>text/xml</xades:MimeType>
                  </xades:DataObjectFormat>
               </xades:SignedDataObjectProperties>
            </xades:SignedProperties>
         </xades:QualifyingProperties>
      </Object>
   </Signature>

Dodam, że plik jest poprawnie podpisany. Dwa programu (https://weryfikacjapodpisu.pl/en/verification/#dropzone i http://tools.chilkat.io/xmlDsigVerify.cshtml) oraz KSeF nie zgłaszają żadnych błędów (KSeF poprzednio zgłaszał, ale poprawiłem jedna rzecz). Teraz stanąłem na błędzie o niezgodności z schemą i kończą mi się pomysły.

0

Jakie są paramatry do pobrania faktury z KSEF ...
Ktoś umie to uzupełnić ?

curl -X 'POST' \
  'https://ksef-test.mf.gov.pl/api/common/Invoice/KSeF' \
  -H 'accept: application/octet-stream' \
  -H 'Content-Type: application/json' \
  -d '{
  "ksefReferenceNumber": "5730010551-20220411-903116-A91E86-68",
  "invoiceDetails": {
    "subjectTo": {
      "issuedToIdentifier": {
        "type": "string"
      },
      "issuedToName": {
        "tradeName": "string",
        "type": "string"
      }
    },
    "invoiceOryginalNumber": "string",
    "dueValue": "string"
  }
}'
0

Też tak macie, że jak prosicie o pomoc MF, to otrzymujecie:

Twoja wiadomość 

   Do: Info KSeF
   Temat: TEST
   Wysłano: 26 kwietnia 2022 15:12:19 (UTC+01:00) Belgrad, Bratysława, Budapeszt, Lublana, Praga

 została usunięta nieprzeczytana: 26 kwietnia 2022 15:12:29 (UTC+01:00) Belgrad, Bratysława, Budapeszt, Lublana, Praga.

0

cześć, działa Wam KSeF na demo? mój klient http zwraca mi nulla :)

kilka requestów sprawdzałem i nic mi nie zwraca, ciekawe czy coś im padło czy może zablokowali mnie po ip czy cos

0

Witam,
przepraszam, ze cofam dyskusję nad ksef o kilka tygodni, ale przypadł mi wątpliwy "zaszczyt" zapoznania się z tym tematem.
Rozumiem, że zgodnie z tym co obejrzałem na filmie muszę:

  1. Wywołać sessionAauthorisationChallenge aby uzyskać timestamp'a i identyfikator.
  2. Wygenerować plik xml, który będzie podpisany (wcześniej wygenerowanym certyfikatem - openssl) xades'em aby uzyskać token.

Teraz mam pytanie, czy ktoś z panów wie jak owy plik podpisać w PHP tym xades'em. Mógłby podpowiedzieć z czego skorzystać, z jakich bibliotek?
Nie czuję się w tych podpisach i certyfikatach jakoś dobrze, proszę więc o wyrozumiałość.

dziękuję

0

Witam
W aplikacji testowej widać listę sesji.
Ale nie mam tego w API .. Jak pobrać tą listę sesji ... Ma ktoś pomysł ?

0

Ktoś próbował wygenerować token za pośrednictwem Aplikacji Podatnika a następnie wykorzystać go do nawiązania sesji interaktywnej? Ja przy takiej próbie otrzymuję odpowiedź "Nieprawidłowo zaszyfrowana wiadomość" z kodem wyjątku 23003 i nie wiem czy coś robię źle, czy raczej token do API musi być wygenerowany właśnie za pośrednictwem SignedSession.

Dodam jeszcze że do Aplikacji Podatnika logowałem się za pośrednictwem Profilu Zaufanego z uprawnieniami wystawionymi na PESEL.

0

Cześć

wysyłam requesta na online/Credentials/RevokeToken


{"revokeToken":{"sourceTokenIdentifier":{"identifier":"mójTajnyNip","type":"onip"},"tokenNumber":"mójToken"}


i dostaję zwrotkę 400 Nieprawidłowe wywołanie. Ktoś używał już tego zasobu? Jakieś pomysły co tu jest nie halo? :)

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.