Računala Windows Internet

Što je jedinstveni identifikator za plaćanje? Kako mogu saznati jedinstveni identifikator plaćanja? Operacija "Zahtjev za primanje rezultata zahtjeva za izjavu pravne osobe na temelju prethodno primljenog identifikatora zahtjeva Opis ulaznih parametara

Provjera se provodi kako bi se osiguralo da se račun i naknadna uplata mogu ispravno obraditi na strani Projekta.

Uz pojednostavljenu integraciju, korisnički ID i narudžba provjeravaju se dva puta: pri prelasku na obrazac za plaćanje i pri odabiru načina plaćanja.

Za projekt je potrebno:

  • Korisnički ID ili URL za provjeru narudžbe(navedite u Tehničkim postavkama na osobnom računu);
  • Rukovatelj sposoban prihvatiti i prepoznati parametre zahtjeva od Sustava i odgovoriti kako Sustav očekuje.

Ako je provjera identifikatora nakon izdavanja računa završila s pogreškom, tada se račun neće izdati, a korisnik će biti preusmjeren na stranicu s pogreškom u plaćanju koju je projekt naveo pomoću parametra return_url_fail ili u tehničkim postavkama (ako stranica nije navedena, slična stranica koristi se na strani sustava). Na stranicu s pogreškom pri plaćanju primjenom metode GET parametar se automatski šalje err_msg sa značenjem "Ovaj lik ne postoji.".

Zatražite parametre od sustava do projekta

Sustav šalje Projektu zahtjev za URL radi provjere identifikatora ili korisničkog reda navedenog u Tehničkim postavkama na osobnom računu.

  • način prijenosa - POST;
  • kodiranje - UTF-8.

Parametar

Opis parametara

Format parametara

Obavezni parametar

korisnički ID Identifikator korisnika ili narudžbe (jednak vrijednosti parametra nadimak v) niz (256) Da
userid_extra Dodatne informacije potrebne za plaćanje ili prikupljanje statistike na strani projekta (jednake vrijednosti parametra nick_extra ) niz (500) Ne
ključ

Potvrdni potpis zahtjeva. Formira se kao raspršivanje prema md5 algoritmu iz spajanja sljedećih parametara:

  • vrijednost parametra korisnički ID,
  • tajni ključ projekta
md5 (0userid0 tajna projekta) Da
iznos 0 Da
paymentid Provjera zahtjeva za provjeru. Prihvaća samo nulu (iznos = 0) 0 Da
orderid ID plaćanja u računovodstvenom sustavu Projekta (jednak vrijednosti parametra order_id v) varchar (64) Ne

Parametri odgovora projekta

Projekt bi trebao dobiti odgovor na zahtjev Sustava.

Za prosljeđivanje parametara upita koriste se sljedeća pravila:

  • format - XML;
  • kodiranje - UTF-8.

Parametar

Opis parametara

Format parametara

Obavezni parametar

kodirati

Kôd odgovora na zahtjev.

  • DA- identifikator postoji.
  • NE- identifikator ne postoji

(osjetljivo na velika i mala slova)

Da
komentar Dekodiranje koda odgovora na zahtjev.
Primjeri teksta:
  • provjera valjanosti parametra userid nije uspjela;
  • provjera valjanosti parametra orderid nije uspjela;
  • provjera valjanosti parametra ključa nije uspjela
niz (400) Ne

Primjer odgovora na zahtjev za provjeru korisničkog ID -a ili narudžbe

DA

Primjer minimalnog rukovatelja sistemskim zahtjevima pri provjeri korisnika ili identifikatora narudžbe

// Generiranje funkcije odgovora sendResponse ($ status, $ message = "") ($ response = ""." \ n "; $ response. =" "." \ n "; $ response. =" ". $ status.""." \ n "; $ response. =" ". $ poruka.""." \ n "; $ response. =""; die ($ response);) // Provjerite postoji li ID korisnika ili nalog funkcija checkUser ($ userID) ($ sql =" ODABERI prijavu od korisnika WHERE usr_id = ".intval ($ userID); $ query = mysql_query ( $ sql); if (mysql_error ()) (return FALSE;) if (mysql_num_rows ($ query) == 0) (return FALSE;) return TRUE;) $ secretKey = "IT \" S_A_PROJECT_SECRET_WORD "; $ projectHash = md5 ($ _ POST ["iznos"]. $ _ POST ["userid"]. $ _ POST ["paymentid"]. $ secretKey); if ($ projectHash! = $ _POST ["key"]) (sendResponse ("NE", "Potvrdni potpis zahtjeva je nevažeći.");) if (floatval ($ _ POST ["iznos"]) == 0 && intval ($ _POST ["paymentid"]) == 0) (// Zahtjev za provjeru korisničkog ID -a ili narudžbe if (checkUser ($ _ POST ["userid"]))) (sendResponse ("YES", "ID postoji ");) else (sendResponse (" NO "," ID not found ");))

Opće informacije

  • Opis ulaznih parametara

  • Ulazni podaci: XML dokument prema shemi WS_ULIPZAPRID_2_311_11_04_02 _01_01.XSD
        1. Opis izlaznih parametara

    Izlaz: XML dokument prema shemi WS_OTVVIPULXSD_2_311_14_04_02_01.XSD

    ili

    Izlaz: XML dokument prema WS_ULIPOTVID_2_311_09_04_02_01.XSD shemi

    Parametri složenog tipa opisani su u Dodatku "Opis općih struktura podataka" (u odredbama 10, 6, 9).

        1. Povratni kodovi




    Povratni kod

    Opis povratnog koda

    Uvjeti pojavljivanja

    Komentar

    1

    01

    Tražene informacije nisu pronađene.

    Događa se pod uvjetom da se podaci o pravnoj osobi ne nalaze u Jedinstvenom državnom registru pravnih osoba

    2

    51

    Zahtjev prihvaćen za obradu

    Događa se kada se zahtjev uspješno primi na obradu



    3

    52

    Odgovor nije spreman

    Javlja se u slučaju nedostupnosti odgovora na zahtjev uspješno prihvaćen za obradu

    Koristi se prilikom upućivanja asinkronog zahtjeva

    4

    53

    Nije moguće dostaviti podatke o pravnoj osobi / individualnom poduzetniku u elektroničkom formatu

    Događa se kada je nemoguće formirati odgovor na zahtjev u elektroničkom obliku

    5

    82

    Format-logička pogreška kontrole

    Događa se kada dokument (zahtjev) ne odgovara xsd-shemi

    Rezerva, ne smije se koristiti

    6

    83

    Ne postoji zahtjev s navedenim ID -om zahtjeva i vrstom traženih informacija od ovog tijela

    Događa se u situaciji kada je netočan (nepoznat) identifikator zahtjeva naveden u zahtjevu za dobivanje rezultata za izjavu izjave pravne osobe i (ili) zahtjev s takvim identifikatorom nije primljen od ovog tijela

    Koristi se s asinkronim zahtjevom (pri primanju rezultata zahtjeva za izvod za pravnu osobu)

    9

    99

    Pogreška sustava

    Događa se kada postoje interne greške u softveru IS Federalne porezne službe Rusije


        1. Testni slučajevi

    Zahtjev za dobivanje rezultata zahtjeva za dobivanje izjave pravne osobe

    Odgovor na zahtjev za dobivanje rezultata zahtjeva za izjavu pravne osobe, u slučaju da zahtjev još nije obrađen

    Odgovor na zahtjev za dobivanje rezultata zahtjeva za izjavu pravne osobe s povratnom šifrom 53

    Odgovor na zahtjev za dobivanje rezultata zahtjeva za izjavu pravne osobe s greškom (čija šifra obrade nije rezervirana)
    (vrijednosti atributa se mijenjaju i)



    Napomena: Uvjeti za ovu pogrešku u testnom okruženju umjetno su pokrenuti. Ovaj primjer opisuje opću logiku i strukturu odgovora na pogrešku. Prilikom testiranja na produktivnom okruženju, vraćanje potpuno istog odgovora bez osiguravanja potrebnih uvjeta nije moguće.

    1. Sučelje mora prihvatiti zahtjeve preko HTTPS -a s IP adresa podmreža:
      • 79.142.16.0, maska ​​255.255.240.0 (20)
      • 91.232.230.0, maska ​​255.255.254.0 (23)
    2. Sučelje mora obraditi parametre koje je sustav proslijedio pomoću HTTP GET metode.
    3. Sučelje mora tvoriti odgovor sustavu u XML formatu u UTF-8 kodiranju.
    4. Razmjena informacija vrši se u načinu "zahtjev-odgovor", dok brzina odgovora ne smije biti veća od 60 sekundi, u protivnom sustav prekida vezu do isteka vremena.
    5. Ako se očekuje da će očekivani broj plaćanja usluga povezanog davatelja biti intenzivan (do 10 plaćanja po minuti ili više), potrebno je da sučelje podržava komunikaciju s više niti do 10-15 istovremenih veza.
    6. Sučelje mora prihvatiti zahtjeve putem HTTPS -a na jednom od sljedećih TCP portova: 80, 81, 443, 8008, 8080, 8081, 8090, 8443, 4433. Korištenje drugih portova nije dopušteno.

    Osnovni principi sučelja

    Svi zahtjevi se prosljeđuju metodom GET, parametri se prosljeđuju u stazi zahtjeva.

    Prijenos podataka o plaćanju pružatelju usluga provodi se putem QIWI Wallet sustava u dvije faze - provjera statusa pretplatnika i izravno izvršavanje plaćanja. Također se može dodati preliminarna faza dobivanja dodatnih parametara plaćanja od pružatelja usluga koji pretplatniku pruža nekoliko usluga radi informiranja platitelja i dodavanja parametara plaćanja po izboru platitelja.

    Vrstu zahtjeva sustav QIWI Wallet prenosi u naredbenu varijablu - niz koji preuzima vrijednosti check, pay ili getInfo:

    Parametri upita

    Svi su parametri potrebni u upitima u kojima se koriste.

    Parametar Format Opis U kojima se koriste upiti
    txn_id Cijeli broj do 20 znakova Jedinstveni identifikator plaćanja u QIWI sustavu. Ovaj se identifikator koristi za rješavanje kontroverznih pitanja. ček, plaćanje
    iznos Razlomljeni broj točan do stotina, koristi se kao separator. (točka). Ako je zbroj cijeli broj, tada je i dalje pun točaka i nula, na primjer - 152,00. Iznos plaćanja ček, plaćanje
    ccy Oznaka valute Alpha-3 ISO 4217 Valuta plaćanja ček, plaćanje
    txn_date GGGGMMDDHHMMSS Datum plaćanja (datum plaćanja u sustavu znači datum primitka zahtjeva od klijenta). Do tog datuma provodi se daljnje usklađivanje poravnanja između QIWI Novčanika i davatelja usluga.
    Na primjer, klijent je 31. 12. 2010. u 23:59:59 poslao zahtjev sustavu QIWI Wallet, a sustav QIWI Novčanik svom je davatelju zahtjev poslao 01. 01. 2011. u 00:00:05. To može dovesti do problema usklađivanja plaćanja ako sustav davatelja transakcije postavi u sljedeće obračunsko razdoblje. Kako bi izbjegli takve probleme, QIWI Wallet pružatelju pruža izvorni datum plaćanja.
    platiti
    račun Niz koji sadrži slova, brojeve i posebne znakove, do 200 znakova ID pretplatnika. Davatelj identificira svog pretplatnika jedinstvenim identifikatorom (broj osobnog računa, telefonski broj, prijava itd.). Prije nego što se pošalje davatelju, identifikator se provjerava u odnosu na regularni izraz koji. ček, plaćanje, getInfo
    ekstra Dopušteni su brojevi (0-9), donja crta (_) i mala latinična slova (a-z) Dodatni detalji plaćanja (dodatna polja). Ti se parametri mogu koristiti ako se plaćanje ne može izvršiti bez dodatnih podataka (jedan korisnički ID u sustavu davatelja usluga nije dovoljan).
    Na primjer, vaš korisnički ID je broj vaše kreditne kartice, ali također morate navesti datum isteka kartice da biste izvršili plaćanje.
    Popis potrebnih polja za prijenos davatelju usluga mora biti naveden u.
    ček, plaćanje
    prvId Cijeli broj ID usluge u zajednički sustav davatelj. dobiti informacije
    ime_parametra Format naziva i vrijednosti parametara davatelj usluga navodi u. Dodatni parametri za identifikaciju pretplatnika dobiti informacije

    Kako bi se podržala proširivost i održala uslužnost pružatelja usluga tijekom razdoblja kada su omogućene različite funkcije predviđene protokolom (na primjer, omogućavanje prijenosa novih podataka o plaćanju), pretpostavlja se da davatelj ne sprječava pojavljivanje novih parametara HTTP u zahtjev.

    Jamči se da pojavljivanje novih parametara u zahtjevu neće dovesti do potrebe za promjenom obrade zahtjeva od strane davatelja, osim ako je takva promjena logike dogovorena s davateljem.

    Format odgovora

    Davatelj mora vratiti odgovor na zahtjeve sustavu u XML formatu. Opća struktura odgovora prikazana je na kartici s desne strane.

    123323498 12369Bdkjh9 100.00 643 2012-04-05T12: 00: 07 0

    Ako bilo koji od zahtjeva davatelju usluga ne uspije, davatelj vraća kôd pogreške u skladu s.

    Informacijski sustav pružatelja usluga ne bi trebao sadržavati dvije uspješne uplate s istim txn_id brojem. Ako sustav ponovno pošalje zahtjev s identifikatorom txn_id koji već postoji u informacijskom sustavu davatelja usluga, davatelj mora vratiti rezultat obrade prethodnog zahtjeva.

    U odgovoru mogu biti prisutne sljedeće oznake:

    Na primjer, postoji situacija: klijent je 31. 12. 2010. u 23:59:59 poslao zahtjev sustavu. Uzimajući u obzir kašnjenje u obradi podataka i slanju informacija komunikacijskim kanalima, davatelj će uplatu primiti 01.01.2011. 00:00:05 te će, sukladno tome, biti zabilježen u sustavu davatelja usluga u drugom izvještajnom razdoblju. Kako bi se izbjegli problemi s različitim razdobljima izvješćivanja pri usklađivanju, potrebno je da davatelj usluge vrati datum na koji se vodi računovodstvo u njegovom sustavu.

    Primjer zahtjeva za provjeru statusa računa pretplatnika i registraciju plaćanja

    Primjeri uvjeta:

    Aplikacija za plaćanje pružatelja usluga payment_app nalazi se na adresi yourservice.prv.ru, poslužitelj podržava HTTPS veze na portu 8443.

    Kako bi provjerio status pretplatnika, sustav QIWI Wallet generira zahtjev (pogledajte karticu s desne strane).

    DOBITI / payment_app? command = check & txn_id = 1234567 & account = 4957835959 & sum = 10.45 & ccy = RUB 1234567 2016AB 10.45 TRLJATI 0 u redu

    Zahtjev sadrži parametre:

    • naredba = provjera - identifikator zahtjeva za provjeru statusa pretplatnika;

    Uspješan odgovor davatelja usluga (pogledajte karticu s desne strane).

    Vraćeni rezultat = 0 na zahtjev za provjeru označava da se osobni račun pretplatnika s odgovarajućim brojem u polju računa može nadopuniti iznosom navedenim u zahtjevu u polju zbroja. Nakon uspješne provjere statusa računa pretplatnika, sustav nastavlja s formiranjem i slanjem zahtjeva za dopunu stanja (zahtjev za plaćanje).

    Primjer zahtjeva za dopunu osobnog računa

    Primjeri uvjeta:

    Za potvrdu plaćanja sustav QIWI Wallet generira zahtjev (pogledajte karticu s desne strane).

    DOBITI / payment_app? command = pay & txn_id = 1234567 & txn_date = 20110815120133 & account = 4957835959 & sum = 10.45 & ccy = RUB HTTP / 1.1 Domaćin: yourservice.prv.ru:8443 Odgovor pružatelja usluga 1234567 2016AB 10.45 TRLJATI 0 u redu 2011-08-15T12: 06: 45

    Zahtjev sadrži parametre:

    • naredba = plati - identifikator zahtjeva za dopunu salda pretplatnika;
    • txn_id = 1234567 - interni broj plaćanja u QIWI sustavu;
    • txn_date = 20090815120133 - datum obračuna plaćanja u QIWI sustavu;
    • account = 4957835959 - identifikator pretplatnika u informacijskom sustavu davatelja usluga;
    • zbroj = 10,45 - iznos koji se uplaćuje na osobni račun pretplatnika;
    • ccy = RUB - valuta iznosa uplaćenog na osobni račun pretplatnika.

    Vraćajući rezultat = 0 za zahtjev za plaćanje, pružatelj usluge obavještava o uspješnom završetku operacije nadopune stanja. Sustav u potpunosti dovršava obradu ove transakcije.

    Izborno polje komentara sadrži komentar usluge.

    Primjer zahtjeva za primanje dodatnih podataka o plaćanju

    Primjeri uvjeta:

    Aplikacija za plaćanje pružatelja usluga payment_app nalazi se na adresi yourservice.prv.ru, poslužitelj podržava HTTPS veze na portu 8443.

    Za dobivanje dodatnih podataka o plaćanju sustav QIWI Novčanik generira zahtjev (pogledajte karticu s desne strane).

    DOBITI / payment_app? command = getInfo & prvId = 12345 & account = 4957835959 & name1 =% 26% 30AB & name2 = 0 HTTP / 1.1 Domaćin: yourservice.prv.ru:8443 Odgovor pružatelja usluga račun1 pojam 2 0 u redu

    Zahtjev sadrži parametre:

    • naredba = getInfo - identifikator zahtjeva za primanje dodatnih podataka o plaćanju za pretplatnika;
    • prvId = 12345 - identifikator za identifikaciju davatelja usluga;
    • account = 4957835959 - identifikator pretplatnika u informacijskom sustavu davatelja usluga;
    • name1, name2 - dodatni identifikatori pretplatnika.

    Za odgovor pružatelja usluga pogledajte karticu s desne strane.

    Vraćanje rezultata = 0 u zahtjev getInfo znači da je zahtjev uspješno dovršen i da su primljeni dodatni podaci za prikaz pretplatniku.

    Izborno polje komentara sadrži komentar usluge.

    Svakodnevno pomirenje

    Do 10:00 po moskovskom vremenu sustav generira i šalje na navedenu adresu elektronički registar uplata primljenih za prethodni dan.

    Registar ima sljedeću strukturu:

    Datum transakcije (Moskva); Datum izvješća; Vrsta; Broj transakcije; ID valute transakcije; Iznos transakcije; Komentar trgovca; Broj transakcije / računa trgovca; Datum izdavanja računa; QW ID; Račun; ID povrata

    ;; Plaćanje; ;;;;;;;;

    ;; Plaćanje; ;;;;;;;;

    Polja su odvojena znakom; , razlomačni dio zbroja odvojen je točkom, datum / vrijeme - Moskva, unos linije može se sastojati od oba znaka x0D x0A, i jednostavno od x0D.

    Na primjer:

    31.02.2005 00:04:00;31.02.2005

    00: 00: 00; Plaćanje; 3464968222; USD; 5,00 ;;;;; 0957835959 ;;

    31.02.2005 00: 04: 00; 31.02.2005 00: 00: 00; Plaćanje; 3464968912; RUB; 10,34 ;;;;; [zaštićena e -pošta];;

    31.02.2005 00: 11: 00; 02/31/2005 00: 00: 00; Plaćanje; 3464974548; EUR; 4,72 ;;;;; ABC-12345 ;;

    Sustav uključuje samo uspješne uplate u registar.

    Potvrđena plaćanja smatraju se uplatama koje su stigle i putem internetske razmjene poruka i u registru.

    Ako registar ne sadrži plaćanja koja su izvršena u bazi podataka davatelja usluga, ili sadrži plaćanja koja se ne nalaze u bazi podataka davatelja usluga, ili ako registar nije primljen, morate se obratiti QIWI kontakt osobi navedenoj u ugovoru do 12:00 razjasniti situaciju i donijeti odluku.

    Dodatne mogućnosti za autorizaciju zahtjeva

    U zahtjevu za povezivanje davatelj usluge može navesti identifikator (prijavu) i tajnu lozinku, koja se koristi za autorizaciju prilikom podnošenja zahtjeva iz QIWI -a.

    Ove autorizacijske podatke prenosi standardna pravila osnovna provjera autentičnosti za HTTP (S) zahtjeve. HTTP zaglavlje autorizacije dodaje se zahtjevu. Zaglavlje sadrži redak Basic (s razmakom na kraju) i par "login: password", kodiran u BASE64:

    Ovlaštenje: Osnovno ***

    BASE64 ("Prijava: Lozinka") = "***"

    Aplikacija za povezivanje (uzorak)

    Popis kodova završetka

    Prilikom obrade zahtjeva iz sustava, davatelj mora sve pogreške koje se pojave u njegovoj aplikaciji uskladiti s donjim popisom i vratiti odgovarajuće kodove u elementu.

    Znak + u stupcu "fatality" označava znak fatalne greške. Za sustav QIWI Novčanik, fatalna pogreška znači da će ponovno slanje zahtjeva s istim parametrima rezultirati 100% ponavljanjem iste pogreške - stoga sustav prestaje obrađivati ​​zahtjev klijenta i završava s pogreškom.

    Greška koja nije fatalna znači za sustav da ponavljanje zahtjeva s istim parametrima nakon određenog vremenskog razdoblja može dovesti do uspjeha. Sustav će pokušati ponoviti zahtjeve koji ne uspiju s greškom koja nije fatalna, neprestano povećavajući interval sve dok operacija ne uspije ili ne uspije, ili dok zahtjev ne istekne - 24 sata.

    Neuspjeh u komunikaciji s poslužiteljem pružatelja pogreška je koja nije fatalna.

    Nedostatak elementa u odgovoru (nevažeći XML, usluga privremeno nedostupna stranica itd.) Također je pogreška koja nije fatalna.

    Kodirati