Gateway di pagamento online Autopay - DocumentazionePobierz

Autopay Online Payments è una soluzione completa per l'accettazione dei pagamenti da parte dei clienti dei negozi online, che supporta numerosi metodi di pagamento disponibili sul mercato, come bonifici bancari, Pay by link, BLIK, Google Pay, Apple Pay. In questa documentazione troverete tutto ciò che vi serve per implementare rapidamente un gateway di pagamento nel vostro negozio online. La documentazione sui pagamenti online Autopay comprende sezioni come. Elaborazione di transazioni e regolamenti, Registrazione e gestione dei punti di regolamento tra l'AP e la piattaforma del mercato dei partner., Registrazione e funzionamento dei Servizi basati sul Modulo Integratore, Estensioni aggiuntive.

Definizioni

Applicazione - Applicazione mobile del partner, che comunica con il SDK del sistema di pagamento online Autopay per registrare le transazioni.

AP - Autopay Spółka Akcyjna con sede legale a Sopot in ul. Powstańców Warszawy 6, iscritta nel registro degli imprenditori tenuto dal Tribunale Distrettuale di Danzica-Północ a Danzica, VIII Divisione Commerciale del Registro Nazionale dei Tribunali con numero KRS 0000320590, NIP 585-13-51-185, Regon 191781561, con capitale sociale di 2.205 PLN 500 (interamente versato), sottoposta a vigilanza della Commissione di vigilanza finanziaria e iscritta nel registro degli istituti di pagamento nazionali con il numero IP17/2013, proprietaria del Sistema.

Punto di equilibrio - oggetto nel Sistema di Pagamento che rappresenta il Negozio integrato con la Piattaforma Marketplace e registrato nel Sistema di Pagamento utilizzando il modulo messo a disposizione del Partner da AP.

ClientHash - nei messaggi; esso consente di assegnare al Cliente lo strumento di pagamento (ad es. Carta) in modo anonimo. Su questa base, il Partner può attivare gli addebiti successivi nel modello di pagamento automatico.

Modello di Commissione - Il modello di commissione concordato con l'integratore. Descrive i valori delle commissioni per le transazioni passate all'AP e all'integratore.

Giorno lavorativo - nei giorni feriali dal lunedì al venerdì, esclusi i giorni festivi.

Modulo per l'integratore - sito web in cui è presente un modulo che consente al Cliente di registrarsi, modificare o aggiungere un altro Servizio.

Strumento di pagamento (Canale di pagamento) - un insieme di procedure concordate o un dispositivo individualizzato, utilizzato dal cliente per inviare un ordine di pagamento, ad esempio carta, PBL.

Strumento di trasferimento elettronico - Un insieme di procedure o un dispositivo personalizzato concordato tra il Partner e l'AP, utilizzato dal Partner per impartire un ordine di pagamento che consenta l'esecuzione di un prelievo di fondi dal saldo al conto bancario del Partner o del Cliente e da un altro strumento di pagamento appartenente al Partner o al Cliente. La fornitura della funzionalità è soggetta ad accordi individuali tra il Partner e AP.

Integratore - Gli integratori sono i cosiddetti partner che hanno implementato Autopay Online Payments nei loro sistemi e che consentono l'attivazione di all'interno delle loro soluzioni. Tra gli integratori figurano entità come Shoper, Sky-Shop, Gymsteer, Selly Verifiche, FaniMani, AtomStore, Ebexo, Selly Azymut, PayNow, Comarch.

IPN (Notifica immediata del prodotto) - Una notifica immediata inviata dal Sistema di pagamento online al Servizio partner che comunica una modifica dello stato del prodotto. La struttura dell'IPN è simile a quella dell'ITN (estesa solo dal nodo prodotto).

ITN (Notifica di transazione istantanea) - notifica immediata inviata dal Sistema di pagamento online al Servizio partner che trasmette una modifica dello stato della transazione.

ISTN (Notifica istantanea di transazione di regolamento) - notifiche immediate di modifica dello stato di un'operazione di regolamento. Il sistema trasmette immediatamente le notifiche del fatto che un'operazione di regolamento è stata ordinata (eventuali ritiri/restituzioni) e di una modifica del suo stato.

ICN (Notifica di configurazione istantanea) - Notifica immediata della configurazione di un negozio appena registrato, comunicazione di informazioni su una modifica dello stato della carta del negozio (ad esempio in caso di attivazione della carta). I messaggi ICN possono essere inviati anche in caso di modifica della configurazione del negozio, di modifica dei dati AML, di abilitazione/disabilitazione di un canale di pagamento.

Scheda - una carta di pagamento emessa nell'ambito degli schemi VISA e Mastercard, autorizzata dai regolamenti di tali schemi a eseguire Transazioni senza la sua presenza fisica.

Cliente (pagatore) - una persona che effettua un pagamento sul Sito web per servizi
data-deepl-translation/>o prodotti del Partner utilizzando il Sistema.

Cestino prodotti - è l'informazione sulle componenti del pagamento, trasmessa (nel link di pagamento) al Sistema per la successiva elaborazione. Ogni prodotto del carrello è descritto da due campi obbligatori: il componente dell'importo e un campo che consente di passare parametri specifici al prodotto.

Link per il pagamento - richiesta che abilita l'inizio della transazione di input (descritta in parte Inizio della transazione). Può essere utilizzato direttamente sulle pagine web (metodo POST), mentre nelle e-mail ai clienti si deve utilizzare il metodo Pre-transazione per ottenere un link breve al pagamento (metodo GET).

Link di verifica - URL che indirizza al trasferimento di verifica
.

Mercato - Una soluzione di pagamento che funziona all'interno del sistema di pagamento online Autopay. Consente al Partner di gestire una piattaforma di vendita in cui i prodotti o i servizi sono offerti ai clienti dagli Appaltatori del Partner. I modelli Advanced Transaction Settlement e Settlement Transaction consentono di effettuare pagamenti direttamente dal Cliente alla Controparte del Partner, tenendo conto del Paniere di Prodotti. La fornitura della funzionalità è soggetta a accordi individuali tra il Partner e AP.

Modello di pagamento - modello in cui la commissione per la transazione effettuata viene pagata dal cliente ad AP (costo aggiunto all'importo della transazione
). In questo caso, il cliente accetta anche i termini e le condizioni di AP durante il pagamento.

Modello del commerciante - in cui la commissione viene regolata tra Autopay e il partner e non viene aggiunta all'importo della transazione pagato dal cliente.

Partner - l'entità destinataria dei fondi derivanti dalla vendita di
prodotti o servizi distribuiti dall'Affiliato sul Sito web.
Un partner, nel caso del modello Marketplace, è un'entità, che non è un consumatore, interessata a gestire l'accettazione da parte dell'AP dei pagamenti dovuti al partner per prodotti o servizi distribuiti dal partner.

Pay By Link (PBL) - strumento che consente l'esecuzione di pagamenti tramite un bonifico intrabancario dal conto del Cliente al conto dell'AP. Dopo aver effettuato l'accesso all'online banking, i dati necessari per l'esecuzione del bonifico (dati informativi del destinatario, numero del suo conto bancario, importo e data di esecuzione del bonifico) vengono compilati automaticamente grazie al sistema di scambio dati tra banca e AP.

Agente tecnico - l'entità con il diritto di accedere al Conto di pagamento del Partner, che autorizza tale accesso (consenso o accordo). Nel sistema, la procura è rappresentata dalla configurazione del file ID plenipotenziarioUn'entità può avere più deleghe per diversi Partner.

Piattaforma di mercato - piattaforma su cui è disponibile l'opzione di registrazione dei Punti di regolamento.

Pagamento automatico - pagamento senza la necessità di inserire ogni volta i dati della carta o i dati di autorizzazione del
trasferimento.

Pagamento con un solo clic - è un pagamento automatico ordinato dal cliente.

Pagamento ciclico - è un pagamento automatico ordinato senza
data-deepl-translation/>il coinvolgimento del Cliente (da parte del Servizio Partner).

Pre-transazione - ordinamento specifico (eseguito in background) del link di pagamento
.

Trasferimento di verifica - La parte del processo relativa alla registrazione e alla modifica dei Servizi del Partner nel Sistema. Comporta per il Partner l'esecuzione di un trasferimento di fondi per verificare i dati e il conto bancario per l'erogazione dei fondi al Partner. La verifica dei dati è un obbligo dell'AP ai sensi, tra l'altro, della legge del 16.11.2000 sulla prevenzione del riciclaggio di denaro e del finanziamento del terrorismo. Ogni trasferimento di verifica deve ricevere lo stato di verifica finale (positivo o negativo) entro 30 giorni dal pagamento della transazione. Se lo stato di verifica finale non viene fornito entro il termine sopra specificato, il sistema attribuirà automaticamente uno stato negativo. Questo processo si applica alle verifiche in cui Autopay invia al cliente una richiesta di completamento dei dati e non riceve indietro le informazioni necessarie per completare la verifica.

Conto di pagamento (saldo) - Un conto di pagamento gestito da AP per il Partner in cui vengono raccolti i fondi depositati dai Clienti.

RPAN (Notifica di attivazione del pagamento ricorrente) - messaggio di attivazione del servizio di pagamento automatico.

RPDN (Notifica di disattivazione dei pagamenti ricorrenti) - messaggio di disattivazione del servizio di pagamento automatico.

Servizio - il sito web o i siti web del Partner integrati con il Sistema in cui il Cliente può acquistare prodotti o servizi dal Partner (o dal Partner Contraente nel caso del Marketplace).
Nel caso di un Marketplace, un oggetto nel Sistema di pagamento che rappresenta il Marketplace del Partner. Tutte le transazioni avviate da tale Marketplace sono collegate ad esso.

Specifiche - documentazione che descrive la comunicazione tra il servizio e il sistema.

Sistema di pagamento online AP (sistema) - una soluzione informatica e funzionale in base alla quale AP fornisce al Partner un'applicazione che consente l'elaborazione dei pagamenti del Cliente effettuati con gli Strumenti di pagamento, nonché la verifica dello stato dei pagamenti e la ricezione dei pagamenti.

Trasferimento rapido - L'esecuzione di pagamenti tramite bonifico intrabancario dal conto del Cliente al conto dell'AP. Il pagamento si differenzia dai pagamenti effettuati tramite PBL in quanto il Cliente deve compilare personalmente tutti i dati necessari per effettuare il trasferimento.

Transazione - indica un'operazione di pagamento ai sensi della Legge del 19 agosto 2011 sui servizi di pagamento.

Transazione di ingresso - la parte del processo di gestione del pagamento relativa al pagamento effettuato dal cliente all'AP.

Transazione di regolamento - parte del processo di elaborazione del pagamento, relativo al trasferimento effettuato dal PA sul conto del Partner. Affinché venga creata una Transazione di regolamento, la Transazione di ingresso deve essere pagata dal Cliente. Una Transazione di regolamento può riguardare una singola Transazione di ingresso (pagamento) o aggregarne più di una.

Legge - Legge del 19 agosto 2011 sui servizi di pagamento.

Validità del link - che specifica il momento oltre il quale il Collegamento di pagamento cessa di essere attivo. Deve essere impostato dal parametro LinkValidityTime del Collegamento di pagamento.

Validità delle transazioni - parametro che specifica il momento oltre il quale il Sistema di pagamento online si blocca e restituisce automaticamente i pagamenti del cliente. Il valore predefinito è calcolato aggiungendo 6 giorni alla data in cui il Cliente ha selezionato il Canale di pagamento. Può anche essere impostato dal parametro ValidityTime nel Link di pagamento. In questo caso, allo scadere del tempo indicato, il collegamento non è più attivo e i pagamenti vengono restituiti al Cliente. La validità massima della transazione è di 31 giorni.

Widget per l'autopagamento - un meccanismo che consente di effettuare pagamenti con carta per prodotti/servizi offerti dal Partner, in cui i dati della carta vengono inseriti dal Cliente in un meccanismo incorporato direttamente nel sito Web del Partner. L'invocazione del formato widget Card richiede l'implementazione di codice JavaScript utilizzando una libreria AP dedicata.

Widget di onboarding - una soluzione che consente all'Integratore di incorporare il Modulo Integratore (preparato da Autopay) direttamente sul sito web dell'Integratore, in modo che il Partner non venga reindirizzato al dominio di Autopay quando registra il proprio negozio - l'intero processo viene eseguito sul sito web del Partner.

Etichetta bianca - modello di integrazione, in cui il cliente già nel Servizio seleziona il canale di pagamento e accetta le norme (a condizione che la necessità di accettarle derivi da accordi individuali tra il Partner e l'AP), e l'inizio della transazione contiene un campo GatewayID compilato (e in alcuni casi DefaultRegulationAcceptanceID o RecurringAcceptanceID).

Avvio di un ordine di pagamento - il momento in cui l'utente del gateway di pagamento seleziona un canale di pagamento e viene reindirizzato a una pagina in base al canale di pagamento selezionato oppure (per i pagamenti automatici, e-wallet o BLIK) viene effettuato un tentativo di addebito sulla carta o sul conto presso il fornitore del canale di pagamento.

Indirizzi delle comunità

TEST

  • host_gates: https://testpay.autopay.eu

  • host_card_gates: https://testcards.autopay.eu

PRODUZIONE

  • host_gates: https://pay.autopay.eu

  • host_card_gates: https://cards.autopay.eu

Elaborazione di transazioni e regolamenti

Diagramma di flusso del servizio di transazione e compensazione

Sul Sito del Partner, una volta completato l'ordine, al cliente
viene presentata l'opzione di poter effettuare un pagamento tramite il Sistema
. Facendo clic sul link corrispondente si avvia la transazione e si apre una nuova finestra:

a) una pagina dedicata del Sistema predisposta da AP, in cui al Cliente viene presentato l'elenco dei Canali di pagamento disponibili e il riepilogo dell'operazione registrata (cfr. Modello paywall) o

b) direttamente da un Canale di Pagamento (Banca, BLIK o per il pagamento con Carta) - (vedi Modello WhiteLabel).

Dal lato del sistema, i parametri trasmessi vengono convalidati e la transazione viene salvata con un periodo di validità prestabilito. Se, al momento della convalida, il periodo di validità del collegamento è già stato superato, il cliente riceverà un messaggio corrispondente (la verifica della validità della transazione avviene anche quando viene modificato lo stato del pagamento). Dopo la verifica positiva dei parametri della transazione (e dopo la selezione del Canale di pagamento), il Cliente autorizza la transazione. Nel suo titolo, oltre agli identificativi assegnati dal Sistema, può essere presente anche una descrizione fissa, precedentemente concordata tra l'AP e il Partner, o un valore dinamico trasmesso dal Partner all'inizio della transazione.

Modello di integrazione consigliato consiste nel trasmettere un messaggio per avviare una transazione di in background, cioè senza reindirizzare l'utente al Sistema (vedi Pre-transazione). In questo modello è possibile utilizzare forme avanzate di autorizzazione delle transazioni (WhiteLabel, pagamenti automatici, SDK mobile), diagnostica della correttezza dei parametri trasmessi e molte altre estensioni.

Una volta autorizzata la transazione (nella pagina del Canale di pagamento) il cliente torna da essa al Sistema, dove viene automaticamente reindirizzato al Servizio partner.

CONSIGLIO: Una descrizione dettagliata della struttura del link di ritorno si trova nella sezione del documento Reindirizzamento al sito del partner.

Lo stato di autorizzazione (pagamento) ricevuto dal Canale di pagamento viene trasmesso dal Sistema al Servizio partner mediante un messaggio ITN. Il Sistema ripeterà l'invio di messaggi finché la ricezione non sarà confermata dal Servizio partner o la notifica scadrà. Le transazioni, che vengono pagate dopo la scadenza del periodo di validità della transazione - saranno restituite al Cliente (mittente del bonifico).

Facoltativamente, il Sistema può notificare il fatto che è stata emessa una transazione di regolamento
. A tal fine viene utilizzato un messaggio ISTN opportunamente modificato.

Fasi di integrazione della gestione delle transazioni e dei regolamenti

Dati necessari per l'integrazione dell'elaborazione delle transazioni e dei regolamenti

I dati richiesti scambiati durante l'integrazione differiscono per gli ambienti di test e di produzione. Di seguito è riportato un elenco dei parametri passati dall'AP al Partner e nella direzione inversa.

Vengono inoltre fornite informazioni generali, ovvero i canali di pagamento attivi insieme a grafici (come risultato dell'interrogazione dell'elenco dei canali di pagamento disponibili).

Facoltativamente, possono essere presenti ulteriori dati trasmessi dal Partner all'AP, ad esempio: informazioni sul contenuto richiesto del carrello e sul modo in cui viene elaborato (nei report, nella fatturazione, nel pannello di amministrazione), requisiti aggiuntivi (per i saldi prepagati). Per i pagamenti automatici BLIK anche la durata predefinita dei pagamenti automatici attivati e l'etichetta predefinita dei pagamenti automatici attivati.

Dati scambiati nell'ambiente di test

Dati forniti dal Partner all'AP:
  • Indirizzo per i messaggi ITN
  • Indirizzo per i messaggi RPAN (può essere lo stesso dei messaggi ITN) [per i pagamenti automatici].
  • Indirizzo per i messaggi RPDN (può essere lo stesso dei messaggi ITN) [per i pagamenti automatici].
  • Indirizzo di pagamento (senza parametri)
Dati trasferiti dall'AP al Partner:
  • Indirizzo del sistema di pagamento online
  • ID servizio
  • AcceptorID [per i portafogli nel modello WhiteLabel].
  • Chiave condivisa
  • Meccanismo di funzione di scelta rapida
  • Indirizzo del modulo di prova
  • Indirizzo IP da cui vengono inviati gli ITN
  • Indirizzo del pannello di amministrazione
  • Accesso
  • Password

Dati trasferiti in un ambiente di produzione

Da Partner ad AP:
  • Indirizzo per i messaggi ITN
  • Indirizzo per i messaggi RPAN (può essere lo stesso dei messaggi ITN) [per i pagamenti automatici].
  • Indirizzo per i messaggi RPDN (può essere lo stesso dei messaggi ITN) [per i pagamenti automatici].
  • Indirizzo di pagamento (senza parametri)
  • Indirizzi e-mail per i rapporti sulle transazioni
  • Indirizzi e-mail per fatture e rapporti di fatturazione
  • Indirizzi e-mail per i reclami (inviati nei messaggi ai pagatori)
Da AP a Partner:
  • Indirizzo del sistema di pagamento online
  • ID servizio
  • AcceptorID [per i portafogli nel modello WhiteLabel].
  • Chiave condivisa
  • Meccanismo di funzione di scelta rapida
  • Indirizzo IP da cui vengono inviati gli ITN
  • Indirizzo del pannello di amministrazione
  • Accesso
  • Password

Implementazione di interfacce e processi da parte del partner

Nella versione minima dell'integrazione, dovrebbe essere implementato il supporto per l'avvio di una transazione, il ritorno da essa e il supporto per la comunicazione ITN.

CONSIGLIO: Si consiglia di familiarizzare con lo schema operativo. Se necessario, vale la pena di familiarizzare anche con i parametri aggiuntivi o i servizi
.

Test di integrazione e migrazione all'ambiente di produzione

Durante il test, completare i campi bianchi del foglio e rispedirlo ad AP per confermare la corretta integrazione di prima di migrare all'ambiente di produzione.

CONSIGLIO: Prima della distribuzione in produzione, si raccomanda di eseguire i test in conformità con il documento scenari di prova nella versione base e, per le integrazioni più avanzate, anche in base a scenari aggiuntivi.

Inizio della transazione

Descrizione dell'inizio della transazione

Quando avvia una transazione, il Servizio partner trasmette al sistema di pagamento online i parametri necessari alla sua esecuzione e alla successiva trasmissione dello stato di pagamento.

Tutti i parametri vengono passati tramite il metodo POST (Tipo di contenuto: application/x-www-form-urlencoded).

Il protocollo è sensibile alle maiuscole sia nei nomi che nei valori dei parametri
. I valori dei parametri trasmessi devono essere codificati in UTF-8 (e transport-protocol-encode prima dell'invio, a meno che lo strumento usato per inviare il messaggio non lo faccia da solo, esempio di codifica: URLEncode).

Elenco dei parametri di avvio della transazione

IMPORTANTE! L'ordine degli attributi per l'enumerazione Hash deve seguire la loro numerazione
.

Ordine di hash nome richiesto tipo descrizione
1 ID servizio stringa{1,10} L'ID del servizio partner, assegnato durante la registrazione del servizio, identifica in modo univoco il servizio partner nel sistema di pagamento online. I numeri sono accettabili.
2 ID ordine stringa{1,32} Identificatore della transazione, composto da un massimo di 32 caratteri alfanumerici latini. Il valore del campo deve essere unico per il Servizio partner. Sono accettati caratteri alfanumerici latini e caratteri nell'intervallo: -_
3 Importo importo Importo della transazione. Un punto - '.' - è usato come separatore decimale. Formato: 0,00; lunghezza massima: 14 cifre prima del punto e 2 dopo il punto. NOTE: Il valore ammissibile di una singola transazione nel sistema di produzione è rispettivamente:
  • per PBL - min. 0,01 PLN, max. PLN 100000,00 (o fino all'importo stabilito dalla banca che emette lo strumento di pagamento);
  • per le carte di pagamento - min. 0,10 PLN, max. PLN 100000,00 (o fino al limite individuale di una singola transazione presso la banca dell'emittente della carta);
  • per i trasferimenti rapidi - min. 0,01 PLN, max. PLN 100000,00 (o fino al limite individuale della Banca per una singola transazione per un trasferimento intrabancario);
  • per BLIK - min. 0,01 PLN, max. 75000,00 PLN (o fino al limite individuale di una singola transazione presso la Banca per un trasferimento intrabancario);
  • per OTP - min. 100,00 PLN, max. 2000,00 PLN;
  • per Alior Rat - min. 50,00 PLN, max. 7750,00 PLN
4 Descrizione NO stringa{1,79} Titolo della transazione (pagamento); all'inizio del titolo del bonifico vengono inseriti gli identificativi della transazione assegnati dal Sistema di pagamento online, a cui viene aggiunto il valore di questo parametro. In alcuni casi, indipendentemente dal PA, il titolo del bonifico può essere ulteriormente modificato dalla Banca in cui è avvenuto il pagamento del cliente. Il valore del parametro consente di inserire caratteri latini alfanumerici e caratteri nell'intervallo: . : - , spazio.
5 GatewayID NO intero{1,5} Identificatore del Canale di Pagamento con cui il Cliente intende regolare il pagamento. Questo parametro è responsabile in particolare del modello di presentazione dei canali di pagamento:
  • - nella pagina AP - valore del parametro "0";
  • - sul sito del partner - il valore del parametro corrisponde al canale di pagamento selezionato dal cliente, ad esempio GatewayID=3.
Tutti i canali di pagamento da incorporare nel Sito Web sono messi a disposizione del Partner come parte del servizio. gatewayList.
6 Valuta NO stringa{1,3} Valuta della transazione; la valuta predefinita è il PLN (l'uso di un'altra valuta deve essere concordato durante l'integrazione). All'interno di ID servizio È supportata una sola valuta. Sono accettati solo i valori: PLN, EUR, GBP e USD.
7 Indirizzo e-mail del cliente NO stringa{3,255} Indirizzo e-mail del cliente.
19 Tempo di validità NO stringa{1,19} Tempo di scadenza della transazione; quando viene superato, il collegamento cessa di essere attivo e l'eventuale deposito viene restituito al mittente del trasferimento; valore di esempio: 2021-10-31 07:54:50; se il parametro manca, viene impostato il valore predefinito di 6 giorni.
La validità massima di una transazione è di 31 giorni (se il valore del parametro è impostato più avanti di 31 giorni, il tempo di validità sarà ridotto di conseguenza).
Ad esempio, una transazione iniziata il 2020-05-01 08:00:00, con ValidityTime = 2021-05-01 08:00:00, riceverà validità fino al 2020-06-01 08:00:00. (Ora in CET)
34 LinkValidityTime NO stringa{1,19} Tempo di scadenza del link; quando questo tempo viene superato, il link diventa inattivo, ma ciò non influisce sul tempo di deposito; valore di esempio: 2014-10-30 07:54:50; assicurarsi che il tempo di transazione sia adattato al tempo di scadenza del link (potrebbe essere necessario inserire anche il parametro Tempo di validitàper estendere la sua validità standard).
n.d. Hash stringa{1,128} Valore della funzione message digest calcolata come descritto nella sezione Sicurezza delle transazioni.
Metodo di avvio della transazione

La transazione viene avviata inviando una chiamata HTTPS una combinazione dei parametri di cui sopra all'indirizzo del Sistema di pagamento online determinato durante la registrazione del servizio.

NOTE: Il numero di transazioni avviate dal Partner in un minuto può essere al massimo di 100, a meno che il Partner e l'AP non concordino un limite superiore nell'ambito dell'accordo concluso.

Esempio di avvio di una transazione:

Indirizzo:

Parametri:

  • ServiceID=2

  • OrderID=100

  • Importo=1,50

      Hash=2ab52e6918c6ad3b69a8228a2ab815f11ad58533eeed963dd990df8d8c3709d1
    

Invio di un messaggio senza tutti richiesto parametri (ServiceID, OrderID, Importo e Hash) o contenenti valori errati dei loro
, causerà l'interruzione del processo di pagamento con un codice di errore della transazione e un breve messaggio di errore (senza ritorno alla pagina del Servizio partner).

IMPORTANTE! "Coppia di parametri ID servizio i ID ordine identifica univocamente la transazione. Non è consentita la ripetizione del valore del parametro
. ID ordine per l'intera durata della fornitura di servizi da parte del Sistema ad un
Servizio Partner (ID servizio)."

Parametro opzionale GatewayID è utilizzato per specificare il Canale di pagamento, con cui deve essere effettuato il pagamento. Ciò consente di trasferire la schermata di selezione dei Canali di pagamento al Servizio. L'elenco attuale degli identificativi dei canali di pagamento, insieme ai loghi, è disponibile tramite il metodo gatewayList.

Il messaggio di avvio della transazione può essere trasmesso in background, cioè senza reindirizzare l'utente al Sistema di pagamento online. In questo modello, anche la selezione del Canale di pagamento viene effettuata dal Cliente sul Servizio del Partner.

Reindirizzamento al sito del partner

Descrizione del reindirizzamento al sito del partner

Subito dopo aver completato l'autorizzazione alla transazione, il Cliente viene reindirizzato dal sito web del Canale di pagamento al sito web online del Sistema di pagamento, dove il Cliente viene automaticamente reindirizzato al Servizio del Partner.

Il reindirizzamento viene attuato inviando una richiesta HTTPS (utilizzando il metodo GET) a un indirizzo di ritorno predeterminato sul Servizio partner. Il protocollo è sensibile alle maiuscole e minuscole sia nei nomi che nei valori dei parametri.

Elenco dei parametri di reindirizzamento per il sito partner

IMPORTANTE! L'ordine degli attributi per l'enumerazione Hash deve seguire la loro numerazione
.

Ordine di hash nome richiesto tipo descrizione
1 ID servizio stringa{1,10} ID servizio partner.
2 ID ordine stringa{1,32} L'identificativo della transazione assegnato nel Servizio partner e comunicato all'inizio della transazione.
n.d. Hash stringa{1,128} Valore della funzione message digest calcolata come descritto nella sezione Sicurezza delle transazioni. Verifica obbligatoria della conformità dell'abbreviazione calcolata da parte del servizio.

Esempio di messaggio che reindirizza il Cliente dal sistema di pagamento online al Sito del Partner

https://sklep_nazwa/strona_powrotu?ServiceID=123458&OrderID=123402816&Hash=5432d69a66d721b2f5f785432bf5a1fc1b913bdb3bba465856a5c228fe95c1f8

Notifiche istantanee (ITN)

Descrizione delle notifiche istantanee

Il Sistema trasmette le notifiche di modifica dello stato delle transazioni non appena riceve tali informazioni dal Canale di pagamento, e il messaggio si riferisce sempre a una singola transazione. Le conferme sono inviate dal Sistema di pagamento online all'indirizzo del server del Servizio del Partner, come stabilito al momento dell'aggiunta della configurazione del Servizio del Partner.

NOTE: Il dominio deve essere pubblico e accessibile tramite il sistema. Il dominio deve essere protetto da un certificato valido, emesso da un'autorità di certificazione pubblica (Certificate authority) Il server deve presentarsi con una catena di certificati completa (Chain of Trust) La comunicazione deve essere basata su TLS proxy versione 1. 2 o 1.3 *Altre forme di sicurezza della connessione, ad esempio VPN, mTLS devono essere concordate individualmente.2 o 1.3 *Altre forme di sicurezza della connessione, ad esempio VPN, mTLS, devono essere concordate individualmente con il responsabile dell'implementazione.

Esempio:

https://sklep_nazwa/odbior_statusu

La notifica di una modifica dello stato di una transazione in ingresso consiste nell'invio da parte del Sistema di un documento XML contenente i nuovi stati della transazione.

Il documento viene inviato tramite HTTPS (porta predefinita 443) - metodo POST, come parametro HTTP con il nome transazioni. Questo parametro è memorizzato utilizzando il meccanismo di codifica di trasporto Base64.

Formato del documento (XML)

	<?xml version="1.0" encoding="UTF-8"?>
	<transactionList>
		<serviceID>ServiceID</serviceID>
		<transactions>
			<transaction>
				<orderID>OrderID</orderID>
				<remoteID>RemoteID</remoteID>
				<amount>999999.99</amount>
				<currency>PLN</currency>
				<gatewayID>GatewayID</gatewayID>
				<paymentDate>YYYYMMDDhhmmss</paymentDate>
				<paymentStatus>PaymentStatus</paymentStatus>
				<paymentStatusDetails>PaymentStatusDetails</paymentStatusDetails>
			</transaction>
		</transactions>
		<hash>Hash</hash>
	</transactionList>

NOTE: Nodo transazioni può contenere solo un nodo transazione (e quindi la notifica riguarda sempre una transazione). Valori degli elementi ID ordine i importo relativi a ciascuna delle transazioni sono identici ai valori dei campi corrispondenti forniti dal Servizio partner all'inizio della rispettiva transazione.

Elenco dei parametri restituiti per le notifiche istantanee

IMPORTANTE! L'ordine degli attributi per l'enumerazione Hash deve seguire la loro numerazione
.

Ordine di hash nome richiesto tipo descrizione
1 serviceID stringa{1,10} L'ID del sito partner, assegnato durante la registrazione del servizio, identifica in modo univoco il sito partner nel sistema di pagamento online.
2 ID ordine stringa{1,32} L'identificativo della transazione assegnato nel Servizio partner e comunicato all'inizio della transazione.
3 ID remoto stringa{1,20} Identificatore alfanumerico della transazione assegnato dal sistema di pagamento online. Vale la pena di memorizzarlo insieme all'ordine per l'ulteriore elaborazione (per transazioni multiple con la stessa ID ordine, per le restituzioni, ecc.)
Tale situazione può verificarsi, ad esempio, se il Cliente cambia il Canale di pagamento, richiama la stessa transazione dalla cronologia del browser, ecc. Il sistema consente di bloccare tali casi, ma l'opzione è sconsigliata (non sarebbe possibile pagare per una transazione abbandonata).
5 importo importo Importo della transazione. Un punto - '.' - viene utilizzato come separatore decimale. Formato: 0,00; lunghezza massima: 14 cifre prima del punto e 2 dopo il punto.
6 valuta stringa{1,3} Valuta della transazione.
7 gatewayID NO stringa{1,5} Identificatore del Canale di pagamento attraverso il quale il Cliente ha regolato il pagamento.
8 data di pagamento stringa{14} L'ora in cui la transazione è stata autorizzata, trasmessa nel formato YYYMMDDhhmmss. (ora CET)
9 Stato del pagamento enum Stato dell'autorizzazione alla transazione, assume valori (descrizione dei cambiamenti di stato più avanti):
  • IN ATTESA - transazione avviata.
  • SUCCESSO - corretta autorizzazione della transazione, il Servizio partner riceverà i fondi per la transazione - i beni/servizi possono essere emessi.
  • FALLIMENTO - la transazione non è stata completata correttamente.
10 pagamentoStatoDettagli NO stringa{1,64} Stato dettagliato della transazione, valore che può essere ignorato dal Servizio partner.
n.d. hash stringa{1,128} Valore della funzione message digest calcolata come descritto nella sezione Sicurezza delle transazioni. Verifica obbligatoria della conformità dell'abbreviazione calcolata da parte del servizio.

CONSIGLIO: Elemento hash (messaggio) è usato per autenticare il documento. Per una descrizione di come viene calcolato l'hash, vedere la sezione Sicurezza delle transazioni.

Risposta alla notifica immediata

La risposta di notifica prevede uno stato HTTP di 200 (OK) e un testo in formato XML (non codificato Base64), restituito dal Partner Service nella stessa sessione HTTP, contenente la conferma della ricezione dello stato della transazione
.

Struttura di conferma (XML)

	<?xml version="1.0" encoding="UTF-8"?>
	<confirmationList>
		<serviceID>ServiceID</serviceID>
		<transactionsConfirmations>
			<transactionConfirmed>
				<orderID>OrderID</orderID>
				<confirmation>Confirmation</confirmation>
			</transactionConfirmed>
		</transactionsConfirmations>
		<hash>Hash</hash>
	</confirmationList>
Descrizione dei campi di conferma per le notifiche immediate

IMPORTANTE! L'ordine degli attributi per l'enumerazione Hash deve seguire la loro numerazione
.

Ordine di hash nome richiesto tipo descrizione
1 serviceID stringa{1,10} Identificatore di servizio del partner derivato dal messaggio.
2 ID ordine stringa{32} L'identificativo della transazione, assegnato nel Servizio partner e comunicato all'inizio della transazione, ricavato dal messaggio.
3 conferma stringa{1,25} L'elemento viene utilizzato per comunicare lo stato di verifica dell'autenticità della transazione da parte del Servizio partner. Il valore dell'elemento è determinato dalla verifica della correttezza del valore del parametro serviceID e valuta, un confronto tra i valori dei campi ID ordine i importo nel messaggio di notifica e nel messaggio di avvio della transazione, oltre a verificare che l'hash calcolato dai parametri del messaggio corrisponda al valore fornito nel campo hash del messaggio. Fanno eccezione i modelli in cui all'importo della transazione viene aggiunta una commissione. In questi casi, il valore dell'importo nell'ITN viene aumentato di questa commissione. La convalida dell'importo può quindi essere effettuata sulla base del campo opzionale ITN startAmount. Tuttavia, questo campo deve essere richiesto durante l'integrazione.
Per l'elemento sono previsti due valori conferma:
  • CONFERMATO - i valori dei parametri in entrambi i messaggi e il parametro hash corrispondono - la transazione è autentica;
  • NON CONFERMATO - i valori nei due messaggi sono diversi o c'è una mancata corrispondenza dell'hash - la transazione non è autentica;
n.d. hash stringa{1,128} L'elemento hash (nel messaggio di risposta) viene utilizzato per autenticare la risposta e viene calcolato a partire dai valori dei parametri della risposta. Per una descrizione di come viene calcolato l'hash, vedere la sezione Sicurezza delle transazioni.

Se non c'è una risposta corretta alle notifiche inviate, il Sistema farà ulteriori tentativi per comunicare l'ultimo stato della transazione dopo che è trascorso un tempo specificato. Il servizio partner deve eseguire la propria logica aziendale (ad es. e-mail di conferma) solo dopo il primo messaggio di un determinato stato di pagamento.

CONSIGLIO: Vale la pena di dare un'occhiata a Schema di rinnovo dei messaggi ITN/ISTN/IPN/RPAN/RPDN.

Descrizione dettagliata del comportamento e della modifica degli stati di pagamento (paymentStatus)

Il metodo di pagamento scelto dal cliente invierà ogni volta uno stato
. IN ATTESA. In un'ulteriore comunicazione ITN, il sistema fornirà lo stato di SUCCESSO o FALLIMENTO.

NOTA Stato IN ATTESA non verrà inviato se:

  • il cliente abbandona o ritorna dalla schermata dell'elenco dei metodi di pagamento senza selezionare un metodo particolare. In questo caso, lo stato sarà inviato immediatamente FALLIMENTO. Lo stato PENDING non appare perché il cliente non ha avviato il processo di pagamento.
  • stato finale (SUCCESSO o FALLIMENTO) sarà consegnato prima dell'invio dell'ITN con uno stato di IN ATTESA.

Per una singola transazione (con parametri unici ID ordine e ID remoto) non ci può essere alcun cambiamento di status SUCCESSO su IN ATTESA o SUCCESSO su FALLIMENTO.

In ogni caso, è possibile che si verifichi una modifica dello stato dettagliato -. pagamentoStatoDettagli (I successivi messaggi di modifica dello stato dei dettagli sono solo a scopo informativo e non devono portare alla riconsegna del servizio/prodotto pagato ecc.)

In casi particolari di utilizzo, può verificarsi un cambiamento di stato:

a) FALLIMENTO su SUCCESSO (ad esempio, dopo che un consulente AP ha approvato una transazione pagata con un importo errato. Questo comportamento richiede accordi commerciali speciali e non è abilitato per impostazione predefinita),

b) SUCCESSO su FALLIMENTO (ad esempio, dopo l'attivazione di più transazioni con la stessa ID ordinema diverso ID remoto). Un caso del genere si verifica quando il Cliente avvia più pagamenti con lo stesso ID ordine (ad esempio, il Cliente cambia la sua decisione su quale Canale di pagamento vuole pagare per la transazione). Ciascuno dei pagamenti da lui avviati genera ITN e il Partner deve distinguere le singole transazioni sulla base del parametro ID remoto. Al momento della ricezione dello status FALLIMENTO possono essere molto diversi, può accadere che si riceva tale stato dopo aver ricevuto un SUCCESSO (con un diverso ID remoto). In tal caso, il messaggio ITN deve essere confermato, ma non deve comportare la cancellazione dello stato della transazione nel sistema del partner.

Gestione degli stati delle transazioni da ITN - Modello semplificato

In un modello in cui non è necessario notificare al cliente via e-mail/sms gli stati di non successo, è possibile limitare la quantità di informazioni salvate nel database del servizio e il tracciamento delle modifiche del RemoteID.

Quando è troppo è troppo:

  • per gli stati diversi da SUCCESSOogni volta confermare l'ITN con la struttura di risposta corretta, lo stato CONFERMATO e il valore correttamente conteggiato del campo Hash,

  • in caso di ricezione di prima stato SUCCESSOaggiungere anche aggiornare lo stato, l'ora e il RemoteID nel database del Servizio e eseguire processi aziendali (notifiche al cliente di un cambiamento di stato, esecuzione di un servizio a pagamento/spedizione di un prodotto, ecc,)

  • in caso di stato successivo SUCCESSOogni volta che conferma l'ITN con la struttura di risposta corretta, lo status CONFERMATO e il valore correttamente calcolato del campo Hash, senza aggiornare il database del servizio e senza processi aziendali.

Gestione degli stati delle transazioni da ITN - modello completo

In un modello in cui è necessaria l'intera cronologia dei cambiamenti di stato delle transazioni e/o la notifica al cliente dei principali cambiamenti di stato delle transazioni, si dovrebbe utilizzare una logica che si avvicina alla descrizione seguente.

Obraz2

Sicurezza delle transazioni

Descrizione della sicurezza della transazione

Il Sistema di pagamento online utilizza diversi meccanismi per aumentare la sicurezza delle transazioni effettuate tramite esso. La trasmissione di tra tutte le parti coinvolte in una transazione avviene tramite una connessione sicura basata sul protocollo TLS con chiave a 2048 bit.

Inoltre, la comunicazione è protetta da una funzione di hash calcolata a partire dai valori dei campi del messaggio e dalla chiave condivisa (la chiave condivisa stessa è memorizzata nel sistema in forma criptata con l'algoritmo AES-ECB).

Come funzione di hash viene utilizzato l'algoritmo SHA256 o SHA512 (metodo determinato in fase di configurazione del rispettivo Servizio partner nel sistema di pagamento online). L'impostazione predefinita è SHA256.

Calcolo del valore di una funzione hash

Descrizione di come viene calcolato il valore della funzione hash ed esempi di calcolo di per messaggi di base.

NOTE: Gli esempi non tengono conto di tutti i possibili campi opzionali
, pertanto se tali campi sono presenti in un particolare messaggio
, devono essere inclusi nella funzione di scelta rapida nell'ordine del numero accanto al campo.

Calcolo del valore della funzione hash - Campo hash

Il valore della funzione hash, utilizzata per autenticare il messaggio, viene calcolato da una stringa contenente i campi concatenati del messaggio (concatenazione di campi
). I valori dei campi sono concatenati, senza i nomi dei parametri, e un separatore (sotto forma di carattere |) viene inserito tra valori consecutivi (non vuoti). L'ordine in cui i campi sono incollati segue l'ordine in cui essi appaiono nell'elenco dei parametri nella documentazione.

IMPORTANTE! In assenza di un parametro opzionale nel messaggio o nel caso di un valore di parametro vuoto, non utilizzare il separatore!

Alla stringa così creata viene aggiunta alla fine una chiave condivisa tra il Servizio partner e il Sistema di pagamento online. Dalla stringa così creata, viene calcolato il valore della funzione hash che costituisce il valore del campo Hash del messaggio.

Hash = function(values_field_1_message + "|" + values_field_2_message + "|" + ... + "|" + values_field_n_message + "|" + key_shared);

Esempio di calcolo del valore della funzione hash all'inizio di una transazione

Dati di servizio dei partner:
ServiceID = 2

chiave_condivisa = 2test2

Indirizzo del gateway https://{host_gates}/pathway

a. Inizio della transazione.

Chiamata POST senza carrello, con parametri:

ServiceID=2
OrderID=100
Importo=1,50

Hash=2ab52e6918c6ad3b69a8228a2ab815f11ad58533eeed963dd990df8d8c3709d1

dove

Hash=SHA256(“2|100|1.50|2test2”)

b. Inizio della transazione. Chiamata POST con il carrello.

CONSIGLIO: Opzione discussa in dettaglio nella sezione Cestino prodotti.

ServiceID = 2

OrderID = 100

Importo = 1,50

Prodotto (descritto di seguito)

chiave_condivisa = 2test2

Carrello prodotti (XML)

	<?xml version="1.0" encoding="UTF-8"?>
	<productList>
	   <product>
		  <subAmount>1.00</subAmount>
		  <params>
			 <param name="productName" value="Nazwa produktu 1" />
		  </params>
	   </product>
	   <product>
		  <subAmount>0.50</subAmount>
		  <params>
			 <param name="productType" value="ABCD" />
			 <param name="ID" value="EFGH" />
		  </params>
	   </product>
	</productList>

Dopo la codifica con la funzione base64, otteniamo il valore del parametro Prodotto:

PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48cHJvZHVjdExpc3Q+PHByb2R1Y3Q+PHN1YkFtb3VudD4xLjAwPC9zdWJBbW91bnQ+PHBhcmFtcz48cGFyYW0gbmFtZT0icHJvZHVjdE5hbWUiIHZhbHVlPSJOYXp3YSBwcm9kdWt0dSAxIiAvPjwvcGFyYW1zPjwvcHJvZHVjdD48cHJvZHVjdD48c3ViQW1vdW50PjAuNTA8L3N1YkFtb3VudD48cGFyYW1zPjxwYXJhbSBuYW1lPSJwcm9kdWN0VHlwZSIgdmFsdWU9IkFCQ0QiIC8+PHBhcmFtIG5hbWU9IklEIiB2YWx1ZT0iRUZHSCIgLz48L3BhcmFtcz48L3Byb2R1Y3Q+PC9wcm9kdWN0TGlzdD4=

Il valore Hash viene calcolato come segue:

Hash=SHA256(“2|100|1.50|PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48cHJvZHVjdExpc3Q+PHByb2R1Y3Q+PHN1YkFtb3VudD4xLjAwPC9zdWJBbW91bnQ+PHBhcmFtcz48cGFyYW0gbmFtZT0icHJvZHVjdE5hbWUiIHZhbHVlPSJOYXp3YSBwcm9kdWt0dSAxIiAvPjwvcGFyYW1zPjwvcHJvZHVjdD48cHJvZHVjdD48c3ViQW1vdW50PjAuNTA8L3N1YkFtb3VudD48cGFyYW1zPjxwYXJhbSBuYW1lPSJwcm9kdWN0VHlwZSIgdmFsdWU9IkFCQ0QiIC8+PHBhcmFtIG5hbWU9IklEIiB2YWx1ZT0iRUZHSCIgLz48L3BhcmFtcz48L3Byb2R1Y3Q+PC9wcm9kdWN0TGlzdD4=|2test2”)
Esempio di calcolo del valore di una funzione hash quando un cliente torna al Sito del Partner

Dati di servizio dei partner:

ServiceID = 2

chiave_condivisa = 2test2

<https://sklep_nazwa/strona_powrotu?ServiceID=2>&OrderID=100&Hash=254eac9980db56f425acf8a9df715cbd6f56de3c410b05f05016630f7d30a4ed

dove

Hash=SHA256("2|100|2test2")

Esempio di calcolo del valore di una funzione hash in un messaggio ITN

Dati di servizio dei partner:

serviceID = 1

chiave_condivisa = 1test1

ITN (XML)

	<?xml version="1.0" encoding="UTF-8"?>
	<transactionList>
	   <serviceID>1</serviceID>
	   <transactions>
		  <transaction>
			 <orderID>11</orderID>
			 <remoteID>91</remoteID>
			 <amount>11.11</amount>
			 <currency>PLN</currency>
			 <gatewayID>1</gatewayID>
			 <paymentDate>20010101111111</paymentDate>
			 <paymentStatus>SUCCESS</paymentStatus>
			 <paymentStatusDetails>AUTHORIZED</paymentStatusDetails>
		  </transaction>
	   </transactions>
	   <hash>a103bfe581a938e9ad78238cfc674ffafdd6ec70cb6825e7ed5c41787671efe4</hash>
	</transactionList>

dove

Hash=SHA256(“1|11|91|11.11|PLN|1|20010101111111|SUCCESS|AUTHORIZED|1test1”)

Esempio di risposta (XML)

	<?xml version="1.0" encoding="UTF-8"?>
	<confirmationList>
	   <serviceID>1</serviceID>
	   <transactionsConfirmations>
		  <transactionConfirmed>
			 <orderID>11</orderID>
			 <confirmation>CONFIRMED</confirmation>
		  </transactionConfirmed>
	   </transactionsConfirmations>
	   <hash>c1e9888b7d9fb988a4aae0dfbff6d8092fc9581e22e02f335367dd01058f9618</hash>
	</confirmationList>

dove il valore

Hash=SHA256("1|11|CONFIRMED|1test1");

Esempio di calcolo del valore della funzione hash nell'interrogazione dell'elenco dei canali di pagamento

Dati di servizio dei partner:

ServiceID = 100

MessageID = 11111111111111111111111111111111

Valute = PLN,EUR

Lingua = IT

chiave_condivisa = 1test1

dove il valore

Hash=SHA256('100|11111111111111111111111111111111|PLN,EUR|PL|1test1')

La risposta alla chiamata di cui sopra può essere la seguente (nota: nessun campo hash nella risposta):

{
    "result": "OK",
    "errorStatus": null,
    "description": null,
    "gatewayGroups": [
        {
            "type": "PBL",
            "title": "Przelew internetowy",
            "shortDescription": "Wybierz bank, z którego chcesz zlecić płatność",
            "description": null,
            "order": 1,
            "iconUrl": null
        },
        {
            "type": "BNPL",
            "title": "Kup teraz, zapłać później",
            "shortDescription": "Kup teraz, zapłać później",
            "description": null,
            "order": 2,
            "iconUrl": null
        }
    ],
    "serviceID": "10000",
    "messageID": "2ca19ceb5258ce0aa3bc815e80240000",
    "gatewayList": [
        {
            "gatewayID": 106,
            "name": "Płatność testowa PBL",
            "groupType": "PBL",
            "bankName": "NONE",
            "iconURL": "https://testimages.autopay.eu/pomoc/grafika/106.gif",
            "state": "OK",
            "stateDate": "2023-10-03 14:35:01",
            "description": "Płatność testowa",
            "shortDescription": null,
            "descriptionUrl": null,
            "availableFor": "BOTH",
            "requiredParams": ["Nip"],
            "mcc": {
                "allowed": [1234, 9876],
                "disallowed": [1111]
            },
            "inBalanceAllowed": true,
            "minValidityTime": null,
            "order": 1,
            "currencies": [
                {
                    "currency": "PLN",
                    "minAmount": 0.01,
                    "maxAmount": 5000.00
                }
            ],
            "buttonTitle": "Płacę"
        },
		{
            "gatewayID": 701,
            "name": "Zapłać później z Payka",
            "groupType": "BNPL",
            "bankName": "NONE",
            "iconUrl": "https://testimages.autopay.eu/pomoc/grafika/701.png",
            "state": "OK",
            "stateDate": "2023-10-03 14:37:10",
            "description": "<div class=\"payway_desc\"><h1>Dane dotyczące kosztu</h1><p>Zapłać później - jednorazowo do 45 dni (...). Szczegóły oferty na: <a href="?r="https://payka.pl\" target=\"_blank\">Payka.pl</a></p></div>",
            "shortDescription": "Zapłać później - jednorazowo do 45 dni lub w kilku równych ratach",
            "descriptionUrl": null,
            "availableFor": "B2C",
            "requiredParams": [],
            "mcc": null,
            "inBalanceAllowed": false,
            "minValidityTime": 60,
            "order": 2,
            "currencies": [
                {
                    "currency": "PLN",
                    "minAmount": 49.99,
                    "maxAmount": 7000.00
                }
            ],
            "buttonTitle": "Płacę"
        }
    ]
}

Registrazione e funzionamento dei Servizi basati sul Modulo Integratore

Schema di funzionamento per l'aggiunta e la modifica di servizi

Questo capitolo descrive le regole relative allo scambio di messaggi tra l'AP e la Piattaforma Integratore nell'ambito della funzionalità di aggiunta e modifica dei Servizi, che per impostazione predefinita avviene utilizzando l'API REST e opzionalmente utilizzando i Web-Services del protocollo SOAP (il Servizio fornisce la sua definizione sotto forma di un documento WSDL).

Il Partner mette a disposizione un link sulla propria Piattaforma, la cui selezione da parte del Cliente invia un messaggio ad AP per ricevere un link che indirizza al Modulo Integratore predisposto da AP (gli effetti visivi come la combinazione di colori o il logo dell'Integratore sul modulo sono determinati durante l'integrazione).

NOTA È anche possibile incorporare il modulo Integrator preparato da Autopay direttamente nel sito web dell'Integrator (in un Iframe). A tale scopo, il viene utilizzato un elemento HTML chiamato Iframe. L'uso di questo tipo di soluzione comporta un lavoro aggiuntivo da parte dell'integratore, ma consente al partner di rimanere sul sito web dell'integratore durante l'intero processo di registrazione/modifica del negozio. La soluzione è descritta in dettaglio nel capitolo "Il sito web dell'integratore". "Widget per l'onboarding".

I dati raccolti nel modulo (dopo che è stato compilato dal cliente) vengono elaborati da AP, dove, a seconda del tipo di modulo, viene eseguita la registrazione/modifica/aggiunta di un altro servizio. Dopo aver superato con successo questa fase, i dati di configurazione del servizio e i link di verifica (quando si modificano dati non sensibili, i link non appaiono) vengono inviati in modo asincrono all'integratore tramite i canali stabiliti durante l'integrazione. Parallelamente, viene inviata al cliente anche un'e-mail contenente i link al pagamento di verifica (è possibile disattivare questo invio di per sostituirlo con una comunicazione che avviene direttamente tramite il Partner).

A questo punto il cliente viene automaticamente reindirizzato alla pagina di ritorno dell'integratore (l'indirizzo viene determinato durante l'integrazione) o viene presentata una pagina di ringraziamento per l'utilizzo del servizio
, che facoltativamente può includere collegamenti alla verifica del pagamento e/o un collegamento alla piattaforma dell'integratore.

Una volta che il Cliente ha pagato la transazione di verifica, AP controlla la correttezza dei dati dichiarati da quel Cliente durante la registrazione al servizio. Se AP assegna uno stato di verifica positivo, il servizio di pagamento del servizio viene attivato e viene inviato un messaggio al Cliente con i termini e le condizioni accettati da lui/lei nel modulo di registrazione.

IMPORTANTE! La versione di produzione del servizio si trova dietro il firewall. L'accesso è assegnato per un numero finito e definito durante l'integrazione del pool di IP
. Questo non si applica all'ambiente di prova.

IMPORTANTE! Per un singolo Integratore su un determinato ambiente (test/produzione) viene fornito un singolo ID di piattaforma (PlatformID) e una chiave condivisa utilizzata per costruire l'hash per tutti i messaggi scambiati tra l'Integratore e l'AP nell'ambito del processo di registrazione e modifica dei servizi.

IMPORTANTE! Il link generato dall'AP che conduce al modulo per la registrazione/modifica dei dati del servizio ha un tempo di validità predefinito di 24 ore.

IMPORTANTE! Non è consentito condividere in alcuna forma di (anche nel codice in esecuzione su un server di terzi) i dati di autorizzazione per il servizio fornito dall'AP (PlatformID/key condivisi).

IMPORTANTE! Se, al momento della registrazione o della modifica di un negozio, il cliente seleziona diverse valute con cui effettuare i pagamenti nel negozio, ciascuna di queste valute, insieme al conto di fatturazione ad essa assegnato, deve essere verificata separatamente, tramite un trasferimento di verifica.

IMPORTANTE! Sul modulo utilizzato per la modifica dei dati, la verifica dell'identità deve avvenire prima che il su di esso visualizzi i dati attuali del Servizio. A tal fine, al Cliente vengono presentati due canali di verifica: un messaggio sms o un'e-mail. Dopo aver selezionato uno di essi, viene inviato al Cliente un codice di verifica (a tal fine viene utilizzato il numero di telefono o l'indirizzo di posta elettronica fornito dal Cliente durante il processo di registrazione), che deve essere inserito dal Cliente in un ulteriore modulo. Una volta che il di questo campo è stato correttamente compilato e verificato da AP, al Cliente viene concesso l'accesso al modulo di modifica dei dati con tutti i suoi contenuti.

NOTE: In parte Elaborazione di transazioni e regolamenti Vengono descritte le funzionalità di e il modo in cui sono integrate nell'ambito relativo alla gestione dei pagamenti per il Servizio e i servizi relativi alla gestione dei pagamenti, ad esempio lo schema di fatturazione.

I seguenti elementi non sono disponibili nel modello Integrator funzioni della parte transazionale:

a) Dati da scambiare durante l'integrazione

b) Carrello dei prodotti

Dati scambiati durante l'integrazione del Modulo Integratore

Dati scambiati nell'ambiente di test

Dati trasferiti dall'AP al Partner:
  • Indirizzo del sistema di pagamento online
  • Indirizzo di servizio (indirizzi verso i quali i vari metodi possono essere utilizzati dall'integratore)
  • PiattaformaID
  • ServiceID (per il servizio Verifica trasferimento crediti)
  • Chiave condivisa per la registrazione e il servizio di editing
  • Chiave condivisa per il servizio Verifica trasferimento crediti
  • Meccanismo di funzione di scelta rapida
  • Indirizzo IP da cui vengono inviati gli ITN
  • Indirizzo del pannello di amministrazione dell'integratore (opzionale)
  • Accesso
  • Password
Dati forniti dal Partner all'AP:
  • Indirizzo ITN dopo il trasferimento di verifica
  • Indirizzo di ritorno dopo il trasferimento di verifica
  • Informazioni sulle valute che devono essere disponibili per i negozi dell'integratore
  • Informazioni sui canali per l'invio della configurazione del servizio e dei link di verifica
  • Indirizzo e-mail dell'integratore per l'invio delle configurazioni del servizio via e-mail
  • Indirizzo in cui l'integratore emetterà i servizi per ricevere i messaggi ICN
  • Informazioni in caso di modifica del periodo di validità predefinito di un link che porta al modulo di registrazione/modifica dei dati del servizio (default 24 ore)

Dati trasferiti in un ambiente di produzione

Da AP a Partner:
  • Indirizzo del sistema di pagamento online
  • Indirizzo di servizio (indirizzi verso i quali i vari metodi possono essere utilizzati dall'integratore)
  • PiattaformaID
  • ServiceID (per il servizio Verifica trasferimento crediti)
  • Chiave condivisa per la registrazione e il servizio di editing
  • Chiave condivisa per il servizio Verifica trasferimento crediti
  • Meccanismo di funzione di scelta rapida
  • Indirizzo IP da cui vengono inviati gli ITN
  • Indirizzo del pannello di amministrazione dell'integratore (opzionale)
  • Accesso
  • Password
Da Partner ad AP:
  • Indirizzo IP da cui viene effettuata la connessione ai servizi emessi da Autopay
  • Indirizzo ITN dopo il trasferimento di verifica
  • Indirizzo di ritorno dopo il trasferimento di verifica
  • Indirizzi e-mail per i rapporti di fatturazione all'integratore
  • Informazioni sulle valute che devono essere disponibili per i negozi dell'integratore
  • Informazioni sui canali per l'invio della configurazione del servizio e dei link di verifica
  • Indirizzo e-mail dell'integratore per l'invio delle configurazioni del servizio via e-mail
  • Indirizzo in cui l'integratore emetterà un servizio per ricevere i messaggi ICN
  • Indirizzo presso il quale l'integratore emetterà un servizio per ricevere le notifiche sullo stato della carta (necessario se l'integratore vuole ricevere tali informazioni)
  • Informazioni in caso di modifica del periodo di validità predefinito di un link che porta al modulo di registrazione/modifica dei dati del servizio (default 24 ore)

Link per il download di Integrator al modulo Integrator

Lo scambio di messaggi (in formato JSON) tra l'AP e la Piattaforma Integratore, che implementa la funzionalità di download dei link al modulo di registrazione/modifica dei servizi, avviene tramite un'API REST. L'accesso al servizio è protetto dal filtraggio degli indirizzi IP.

Descrizione dei campi inviati nel messaggio di richiesta all'AP

IMPORTANTE! L'ordine degli attributi per l'enumerazione Hash deve seguire la loro numerazione
.

Ordine di hash nome richiesto tipo descrizione
1 piattaformaId intero L'identificativo univoco permanente della piattaforma assegnato dal sistema di pagamento online.
2 messaggioId stringa{32} L'identificativo univoco della richiesta all'interno della Piattaforma fornito dalla parte che ha avviato il messaggio in questione.
3 messaggioTempo dateTime Tempo di generazione del messaggio, i messaggi con un tempo impostato successivo a 5 minuti rispetto all'ora del server del Sistema di pagamento online saranno rifiutati. È buona norma impostare l'ora del messaggio now()-1min, nel caso in cui l'ora dei server non sia sincronizzata. Esempio: 2016-07-20T09:35:00.000 (messaggio generato il 2016-07-20 09:36:00).
n.d. hash stringa Il valore della funzione hash, utilizzata per autenticare il messaggio, è calcolato da una stringa contenente i campi incollati del messaggio (concatenazione di campi). Vengono concatenati solo i valori dei campi, senza i nomi dei parametri. L'ordine in cui i campi vengono concatenati segue l'ordine in cui compaiono nell'elenco dei parametri. Una chiave, condivisa tra il Sistema di piattaforma e il sistema di pagamento online, viene incollata alla fine della stringa di cui sopra. Dalla stringa risultante viene calcolato il valore della funzione di hash SHA256, che costituisce il valore del campo Hash del messaggio.
Hash = SHA256(valori_messaggio + chiave condivisa)
n.d. formAzione stringa Parametro che indica il link del modulo da restituire in risposta a una richiesta inviata. Valori ammessi:
  • REGISTRAZIONE - verrà inviato un link al modulo di registrazione.
  • AGGIORNAMENTO - viene restituito un link al modulo per la modifica dei dati del servizio.
  • ADD_SERVICE - viene restituito un link a un modulo che consente di aggiungere un altro servizio a un commerciante esistente.
n.d. formParams SÌ/NO stringa{32} Il requisito dipende dagli accordi individuali con l'integratore. Si tratta di un oggetto contenente campi aggiuntivi, che costituiscono informazioni per l'AP sulla configurazione del servizio registrato che l'integratore si aspetta. Nei casi in cui l'integratore disponga di determinate informazioni sul partner, può fornirle nella richiesta di collegamento, in modo da determinare la configurazione del servizio del partner, ridurre il numero di campi del modulo di registrazione/modifica e non richiedere al partner di inserire nuovamente gli stessi dati. Per i campi indicati di seguito, è possibile configurare la loro visibilità in base alla formAction (REGISTER/UPDATE). Ciò significa che, ad esempio, il campo SERVICE_URL può essere specificato dall'integratore nella query di collegamento del modulo e visualizzato nel modulo di registrazione come modificabile, ma può essere nascosto nel modulo di modifica dei dati. Per fromAction = ADD_SERVICE il comportamento dei campi è sempre definito allo stesso modo di fromAction = REGISTER. Campi attualmente disponibili:
  • SERVICE_URL - url del negozio.
  • COMMISSION_MODEL - un elenco di modelli di commissione con cui il negozio deve essere registrato (un modello di commissione per ogni valuta). Se l'integratore non fornisce il valore del modello di commissione per una determinata valuta al momento della richiesta di collegamento, e questa viene selezionata dal cliente nel modulo, il sistema assegnerà un modello di commissione predefinito corrispondente alla valuta concordata con il partner durante l'integrazione con il sistema BM.
  • IS_CARDS_ENABLED - informazione che indica se il Cliente deve essere abilitato ai pagamenti con carta sul Sito web.
  • RETURN_URL - URL a cui il cliente viene reindirizzato dopo aver effettuato il pagamento; è accettato solo HTTPS.
  • ITN_URL - URL a cui inviare le notifiche istantanee degli stati di pagamento.
  • IS_REFUNDS_ENABLED - informazioni che indicano se il Partner desidera rendere disponibile per il Servizio l'opzione di prelievo dal Conto di pagamento e di rimborso delle transazioni.
  • SERVICE_NAME - nome del negozio.
  • ALLOWED_CURRENCIES - elenco delle valute a cui il modulo deve essere limitato (valute del negozio disponibili per il cliente nel modulo di modifica o di registrazione).
    Esempio Limita il modulo alle valute PLN, EUR: "formParams": {"VALUTE_AMMESSE". : ["PLN", "EUR"]}
    NOTA Se il link al modulo viene interrogato senza il parametro ALLOWED_CURRENCIES, il modulo visualizzerà tutte le valute predefinite configurate per l'integratore.
  • ACTIVITY_KIND - forma giuridica; i valori accettabili sono descritti più avanti in questo documento.
  • PIATTAFORMA - ID della piattaforma sotto la quale è stato emesso il servizio.
  • NUMERIC_TRADE - il settore in cui è specializzato il Servizio Partner
  • ECONOMIC_PURPOSE - una dichiarazione del Partner che dichiara di stipulare l'Accordo per il seguente scopo economico; i valori accettabili sono descritti più avanti in questo documento.
  • CONTACT_EMAIL - indirizzo e-mail per il contatto.
  • COMPLAINT_EMAIL - indirizzo e-mail per i reclami.
  • REPORT_EMAIL - indirizzo e-mail per i rapporti.
  • INVOICE_EMAIL - indirizzo e-mail per le fatture.
  • TELEFONO - Numero di telefono del partner.
  • COMPANY_NAME - nome della società.
  • KRS - n. reg.
  • REGISTRATION_DATE - data di registrazione della società.
  • REGISTRATION_COUNTRY - Paese di registrazione della società.
  • INDIRIZZO - via.
  • POSTAL_CODE - codice postale.
  • CITY - città.
  • PAESE - Paese. Valori accettabili: PL, ES, IT
  • AVERAGE_SERVICE_TURNOVER - fatturato mensile previsto.
  • AVERAGE_TRANSACTION_AMOUNT - valore medio delle transazioni.
  • NIP - codice fiscale.
  • TAX_ID - numero di identificazione univoco assegnato alle società dalle autorità fiscali competenti di un determinato paese; è l'equivalente del numero NIP polacco.
  • LEGAL_FORM - forma giuridica straniera.
    Valori accettabili:
    • per PAESE = IT
      IMPRESA_INDIVIDUALE - impresa individuale
      SOCIETA_A_RESPONSABILITA_LIMITATA - società a responsabilità limitata
      SOCIETA_PER_AZIONI - società per azioni
    • per PAESE = ES
      AUTONOMO - ditta individuale
      SOCIEDAD_DE_RESPONSABILIDAD_LIMITADA - società a responsabilità limitata
      SOCIEDAD_ANONIMA - società per azioni
  • NRB - numero di conto corrente bancario su cui verranno effettuati i trasferimenti di regolamento.
  • STATEMENT_DESCRIPTOR - il nome del Punto vendita da visualizzare sugli estratti conto (il servizio di riscrittura del valore di questo campo sugli estratti conto non è attualmente disponibile).
  • LINGUA - la lingua del modulo. Valori disponibili: PL, ES, IT

Esempio 1: Registrazione del servizio

	{
	   "platformId":1,
	   "messageId":"22111111112411111111111111111130",
	   "messageTime":"2016-07-20T09:35:00.000",
	   "hash":"43688c048e451fba81ea7895cca13c5b6eb953a6ddf23c6089918259163381e1",
	   "formAction":"REGISTRATION",
	   "formParams":{
		  "SERVICE_URL":"https://serivce-integrator-test.pl",
		  "COMMISSION_MODEL":{
			 "PLN":"5"
		  },
		  "IS_CARDS_ENABLED":"TRUE"
	   }
	}

Esempio 2: Modifica dei dati di un servizio con ID = 11111

	{
	   "platformId":1,
	   "messageId":"11111111111111111111111111211254",
	   "messageTime":"2016-07-20T09:35:00.000",
	   "hash":"b16c13f8b2f6e43d583689287aaa8ca87181d037df8083c9d678e34a23983750",
	   "formAction":"UPDATE",
	   "acceptorId":120,
	   "serviceIds":[
		  11111
	   ]
	}

Esempio 3: Modifica dei dati di un servizio con ID = 11111

	{
	   "platformId":1,
	   "messageId":"11111111111111111111111111211254",
	   "messageTime":"2016-07-20T09:35:00.000",
	   "hash":"b16c13f8b2f6e43d583689287aaa8ca87181d037df8083c9d678e34a23983750",
	   "formAction":"UPDATE",
	   "formParams":{
		  "SERVICE_URL":"https://serivce-integrator-test-nowy.pl",
		  "COMMISSION_MODEL":{
			 "PLN":"4"
		  },
	   "acceptorId":120,
	   "serviceIds":[
		  11111
	   ]
	}

Esempio 4: Aggiunta di un altro negozio a un commerciante esistente con ID = 222222

	{
	   "platformId":1,
	   "messageId":"22111111112411111111111111111131",
	   "messageTime":"2016-07-20T09:35:00.000",
	   "hash":"81bc2f50d4284cf4c638c4cf0ca6a07827eccf937152db151979b394a67a863d",
	   "formAction":"ADD_SERVICE",
	   "acceptorId":222222,
	   "formParams":{
		  "SERVICE_URL":"https://serivce-integrator-test.pl",
		  "COMMISSION_MODEL":{
			 "PLN":"5"
		  },
		  "IS_CARDS_ENABLED":"TRUE"
	   }
	}

Esempio 5: registrazione del negozio nel mercato spagnolo.

{
    "platformId":1,
    "messageId":"22111111112411111111111111111131",
    "messageTime":"2016-07-20T09:35:00.000",
    "hash":"81bc2f50d4284cf4c638c4cf0ca6a07827eccf937152db151979b394a67a863d",
    "formAction": "REGISTRATION",
    "formParams": {
        "SERVICE_NAME": "Test ES 13",
        "SERVICE_URL": "https://serivce-integrator-test.pl",
        "ITN_URL": "https://serivce-integrator-test.pl/itn",
        "NUMERIC_TRADE": "58",
        "IS_REFUNDS_ENABLED": "true",
        "RETURN_URL": "https://serivce-integrator-test.pl/return",
        "COMPANY_NAME": "Test ES Company",
        "TAX_ID": "ES04211376N",
        "CITY": "Madrid",
        "COUNTRY": "ES",
        "POSTAL_CODE": "28006",
        "ADDRESS": "Testino 35",
        "IS_CARDS_ENABLED": "true",
        "ACTIVITY_KIND": "FOREIGN",
        "LEGAL_FORM": "AUTONOMO",
        "REGISTRATION_DATE": "2012-01-01",
        "REGISTRATION_COUNTRY": "ES",
        "CONTACT_EMAIL": "test@test.autopay.eu",
        "PHONE": "780171556",
        "NRB": "7720387252204459354426",
        "STATEMENT_DESCRIPTOR": "test shop ES",
        "LANGUAGE": "ES"
    }
}

Descrizione dei campi del messaggio di risposta all'integratore

IMPORTANTE! L'ordine degli attributi per l'enumerazione Hash deve seguire la loro numerazione
.

CONSIGLIO: Risposta corretta - stato http 200.

Ordine di hash nome richiesto tipo descrizione
1 link intero Include un link generato al modulo di registrazione.
2 messaggioId stringa{32} Identificatore pseudocasuale del messaggio con una lunghezza di 32 caratteri alfanumerici latini (ad esempio, basato sull'UID); il valore del campo deve essere unico all'interno dell'integratore.
3 formHash stringa L'identificatore del link del modulo, utilizzato dall'integratore per associare un link al modulo di un determinato cliente al messaggio inviato dopo la registrazione, che informa della configurazione del servizio risultante.
n.d. hash stringa Il valore della funzione hash, utilizzata per autenticare il messaggio, viene calcolato dalla stringa contenente i campi incollati del messaggio (concatenazione dei campi). Vengono concatenati solo i valori dei campi, senza i nomi dei parametri L'ordine in cui i campi vengono concatenati segue l'ordine.

CONSIGLIO: Risposta con messaggio di errore - stato http 400.

Ordine di hash nome richiesto tipo descrizione
n.d. errori SÌ/NO Include un link generato al modulo di registrazione.
n.d. campo stringa Indica il campo interessato dall'errore.
n.d. errore stringa Descrizione verbale dell'errore.
n.d. codiceerrore intero Codice di errore: l'elenco completo degli errori è riportato di seguito.

Esempio di risposta corretta:

	{
		"link": "https://integrator-form-domain/ e2287514541105a2eda2b85751e88be5998aec8c99cd83ba3073365ce1a243a1",
		"hash": "f9e02e83fe50920ee2efb0d2322b6200a71f3afcc366893487ced7ad2330a610",
		"messageId": "11111111111111111111111111111229",
		"formHash": "e2287514541105a2eda2b85751e88be5998aec8c99cd83ba3073365ce1a243a1"
	}

Esempi di risposte errate:

	{
		"errors": [
			{
				"field": "acceptorId",
				"error": "Value for field acceptorId required!",
				"errorCode": 6003
			}
		]
	}

>

	{
		"errors": [
			{
				"field": "messageTime",
				"error": "Message time is outdated",
				"errorCode": 6016
			}
		]
	}

>

	{
		"errors": [
			{
				"field": "hash",
				"error": "Invalid hash",
				"errorCode": 6000
			}
		]
	}

Codici di errore

Parametro Codice di errore Descrizione
hash 6000 Hashing errato.
messaggioId 6001 Valore del parametro messaggioId non è unico.
acceptorId 6002 È stato specificato un parametro acceptorIdche non è consentito.
acceptorId 6003 Parametro acceptorId non è indicato ed è necessario.
serviceId 6004 È stato specificato un parametro serviceIdche non è consentito.
acceptorId 6005 Accettore con il valore specificato Id non esiste.
serviceId 6006 Servizio con dichiarazione Id non esiste.
ID servizio 6007 Parametro ID servizio contiene più o meno di un elemento.
ID servizio 6008 Il negozio è in fase di revisione, al momento non è possibile effettuare un'altra modifica.
formParams 6009 Per il modulo di modifica vengono forniti parametri aggiuntivi che non sono consentiti.
formParams 6010 La richiesta di un link per la registrazione del servizio ha fornito parametri sconosciuti.
formParams 6011 La richiesta di un link di registrazione non specificava il parametro richiesto.
formParams 6012 Nella richiesta di un link di registrazione, il formato del parametro non era corretto.
formParams 6013 La richiesta di un link alla registrazione era errata Modello di Commissione.
formParams 6014 Nella richiesta del link di registrazione è stata fornita una valuta non supportata.
messaggioTempo 6015 Formato errato della data inviata nella richiesta di collegamento al modulo.
messaggioTempo 6016 La data inviata nella richiesta di collegamento al modulo non è al di fuori dell'intervallo accettabile.
piattaformaId 6017 Parametro piattaformaId non è indicato ed è necessario.
messaggioId 6018 Parametro messaggioId non è indicato ed è necessario.
messaggioId 6019 Valore del parametro messaggioId ha una lunghezza errata.
formAzione 6020 Valore del parametro non consentito formAzione.
messaggioTempo 6021 Parametro messaggioTempo non è indicato ed è necessario.
hash 6022 Il parametro hash non è specificato ed è obbligatorio.
hash 6023 È stato specificato un valore errato per il parametro hash.
formAzione 6024 Parametro formAzione non è indicato ed è necessario.
hash 6025 In uno degli URL è stato specificato un protocollo non valido. Atteso HTTPS.
intestazione 6029 Il parametro dell'intestazione non è specificato.
formparams 6030 Il valore dato del parametro TIN non è univoco.
formparams 6031 Il valore specificato del parametro SERVICE_URL non è valido.
formparams 6032 È stato specificato un valore non valido per il parametro CONTACT_EMAIL.
formparams 6033 È stato specificato un valore non valido per il parametro COMPLAINT_EMAIL.
formparams 6034 È stato specificato un valore non valido per il parametro REPORT_EMAIL.
formparams 6035 Valore errato specificato per il parametro INVOICE_EMAIL.
formparams 6036 È stato specificato un valore errato per il parametro PAESE.
formparams 6037 È stato specificato un valore non valido per il parametro PHONE_NUMBER.
formparams 6038 Il valore del parametro ITN_URL ha una lunghezza inaccettabile.
formparams 6039 Il valore del parametro RETURN_URL ha una lunghezza inaccettabile.
formparams 6040 Il valore del parametro SERVICE_NAME ha una lunghezza inaccettabile.
formparams 6041 È stato specificato un valore errato per il parametro LEGAL_FORM.
formparams 6042 È stato specificato un valore non valido per il parametro REGISTRATION_COUNTRY.
formparams 6043 È stato inserito un valore errato per il parametro LINGUA.
formparams 6044 Il valore del parametro SERVICE_URL ha una lunghezza inaccettabile.
formparams 6045 Valore errato specificato per il parametro TAX_ID.
- 6099 Si è verificato un errore imprevisto/non specificato.

Widget di onboarding

Si tratta di un'opzione aggiuntiva offerta da Autopay nel processo di onboarding del negozio, che consente all'integratore di incorporare il modulo direttamente sul sito web dell'integratore. In questa versione della soluzione, il modulo di registrazione/modifica del negozio è ancora preparato e mantenuto sul sito di Autopay, con la differenza che il Partner attraversa l'intero processo mentre si trova sul sito dell'Integratore, evitando il reindirizzamento al dominio di Autopay. Il posizionamento del modulo sul sito dell'integratore avviene tramite un elemento HTML chiamato IFRAME. L'integratore che opta per questo tipo di soluzione dovrà inoltre implementare la funzionalità di ricezione degli eventi inviati dall'iframe di Autopay, necessaria per la corretta visualizzazione del modulo di Onboarding sul sito dell'integratore.

NOTA Autopay consiglia di incorporare il widget di onboarding in un sito dell'integratore il cui sito web sia protetto con un certificato SSL.

NOTA L'indirizzo web del modulo di Onboarding collocato nell'IFRAME sul sito di Integrator è un valore variabile (il parametro formHash nel link cambia), quindi deve essere interrogato prima di ogni visualizzazione della pagina del modulo sul sito di Integrator.

Esempio di codice HTML della pagina che utilizza il widget di onboarding

<!doctype html>
<html lang="pl">
<head>
	<meta charset="utf-8">
	<title>Example usage of Autopay onboarding widget</title>
	<base href="/">
	<meta name="viewport" content="width=device-width, initial-scale=1">
	<style>
		body {
			padding: 0;
			margin: 0;
		}
		.container {
			width: 100%;
			padding-left: 15px;
			padding-right: 15px;
			max-width: 1200px;
			margin: 0 auto;
		}
		header {
			padding: 30px 0;
			border-bottom: 1px solid #ccc;
		}
		footer {
			padding: 30px 0;
			border-top: 1px solid #ccc;
		}
		iframe {
			width: 700px;
			border: 0;
		}
	</style>
</head>
<body>
<header>
	<div class="container">
		INTEGRATOR PAGE HEADER
	</div>
</header>
<main>
	<section>
		<div class="container">
			<h1>Example usage of Autopay onboarding widget</h1>
			<p>integrator text before</p>
		</div>
	</section>
	<section>
		<div class="container">
			<iframe id="iframe" src="?r=quot;https://adres-formularza-onboardingowego/form/<formHash>"></iframe>
		</div>
	</section>
	<section>
		<div class="container">
			<p> integrator text after</p>
		</div>
	</section>
</main>
<footer>
	<div class="container">
		INTEGRATOR PAGE FOOTER
	</div>
</footer>
<script type="text/javascript">
	// wait for page to load everything
	document.addEventListener("DOMContentLoaded', function() {
		// create listener for widget events
		window.addEventListener('message', (e) => {
			// if event origin not matches autopay onboarding origin, then event not belongs to widget
			if (!/onboarding\.autopay\.eu$/.test(e.origin) {
				return;
			}
			// if there is no data in event or data is not string, then event is not valid 
			if (!e.data || typeof e.data !== 'string') {
				return;
			}
			let messageData;
			// parse event data string to JSON, if it fails, messageData will remain empty
			try {
				messageData = JSON.parse(e.data)
			} catch (err) {}
			if (!messageData) {
				return;
			}
			// listener for HEIGHT_CHANGE event, thanks to which the iframe window is at full height and the scroll bar is not displayed
			if (messageData.event === 'HEIGHT_CHANGE') {
				document.getElementById('iframe').style.height = messageData.data + 'px'
			}
			// listener for SCROLL_TOP event, which scrolls page to iframe top, because scroll can't happen in full height iframe window
			if (messageData.event === 'SCROLL_TOP') {
				const scrollToPosition = window.scrollY + document.getElementById('iframe').getBoundingClientRect()['y'];
				window.scrollTo({left: 0, top: scrollToPosition, behavior: 'smooth'});
			}
			// listener for FORM_SUCCESS event, which provides necessary data to continue onboarding process
			if (messageData.event === 'FORM_SUCCESS') {
				console.log('Verification links:', messageData.data.verificationLinks)
			}
		})
	})
</script>
</body>
</html>

Ritorno del cliente alla piattaforma dell'integratore

Il reindirizzamento del cliente può avvenire direttamente dopo la corretta registrazione/modifica del negozio o può essere reso disponibile sulla pagina con un ringraziamento sotto forma di link.

Invio dei dati di configurazione del servizio e dei link di verifica (ICN)

Una volta che il cliente ha inviato il modulo e finalizzato il processo di registrazione/modifica, l'AP deve inviare all'integratore i dati di configurazione del servizio e i link di verifica. Ciò può avvenire in diversi modi. I canali di invio vengono concordati con l'integratore durante l'integrazione.

È possibile fornire le informazioni di cui sopra scambiando messaggi tramite tecnologia REST, Web-Services o inviando messaggi via e-mail (sotto forma di file protetto da password).

Ciascuno dei canali di invio ha un proprio sistema di rinnovo in caso di fallimento del tentativo di invio di informazioni all'integratore.

Per motivi di sicurezza, si suggerisce che lo scambio di informazioni sui dati di configurazione venga effettuato utilizzando l'API REST (predefinita) o i Web-Services su un tunnel IPSec compilato o filtrando gli indirizzi IP.

Un campo viene utilizzato per associare un messaggio ICN (ricevuto dall'integratore) a una specifica registrazione del cliente dal modulo. formHashche viene inviato sia nel messaggio ICN sia in risposta alla richiesta di collegamento al modulo
. Ciò garantisce che l'integratore disponga di informazioni per quale registrazione ha ricevuto i dati di configurazione nel messaggio ICN.

Invio di dati di configurazione via REST

Lo scambio di messaggi tra l'AP e il Servizio partner che implementa la funzionalità di aggiunta e modifica dei Servizi partner avviene tramite utilizzando l'API REST. I messaggi vengono inviati in formato JSON.

Descrizione dei campi inviati nel messaggio di richiesta all'Integratore

IMPORTANTE! L'ordine degli attributi per l'enumerazione Hash deve seguire la loro numerazione.

Ordine di hash nome richiesto tipo descrizione
1 acceptorId intero Id dell'accettatore.
2 serviceId intero Servizio id.
3 chiave del servizio stringa Il sale hash assegnato al servizio. Con il suo aiuto, l'integratore genererà l'hash utilizzato nei messaggi relativi al processo di pagamento e alla fatturazione della transazione.
4 link stringa Collegamento al trasferimento di verifica. Nella comunicazione fornita come elenco di collegamenti agli oggetti collegamenti di verifica. Se vengono passati più link di verifica, l'ordine di calcolo dell'hash deve corrispondere all'ordine in cui i link appaiono nel messaggio.
n.d. hash intero Il valore della funzione hash, utilizzata per autenticare il messaggio, è calcolato da una stringa contenente i campi incollati del messaggio (concatenazione di campi). Vengono concatenati solo i valori dei campi, senza i nomi dei parametri. L'ordine in cui i campi sono concatenati segue l'ordine in cui appaiono nell'elenco dei parametri.
Esempio di calcolo:
SHA256(valore_accettorevalore_
serviceIdvalue_serviceKeyworth_link1value_link2salt_to_hash)
n.d. collegamenti di verifica NO Oggetto che memorizza un elenco di parametri relativi ai collegamenti di verifica.
n.d. valuta NO stringa La valuta a cui si riferisce il link di verifica.
n.d. pannelloLogin NO stringa Accesso del cliente al pannello di amministrazione.
n.d. panelAddress NO stringa URL del pannello di amministrazione.
n.d. formHash stringa L'identificatore del link del modulo, utilizzato dall'integratore per associare un link al modulo di un determinato cliente al messaggio inviato dopo la registrazione, che informa della configurazione del servizio risultante.
n.d. metodo NO stringa Informazioni sul tipo di modulo per cui è stata inviata la configurazione. Valori accettabili:
REGISTRAZIONE
AGGIORNAMENTO
ADD_SERVICE

Esempio 1.

	{
	   "acceptorID":11111,
	   "serviceID":22222,
	   "serviceKey":"sa22a2729462f643cf4c989dddcf226b99b3a6bda11db43a433ab31a7ec2abe925",
	   "hash":"580a285b9bf95e60d4eaeb470d32858a5f0191a2a51b40a18ee7612fa9ced187",
	   "verificationLinks ":[
		  {
			 "link":"sampleLink",
			 "currency":"PLN"
		  }
	   ],
	   "panelLogin":"sample panel login",
	   "panelPassword":"sample panel password",
	   "panelAddress":"sample panel address",
	   "formHash":"sample form hash",
	   "method":"REGISTER"
	}
Descrizione dei campi del messaggio di risposta all'AP
nome richiesto tipo descrizione
risultatoStato stringa Stato della risposta. Valori accettabili:
OK
ERRORE
descrizione stringa Descrizione aggiuntiva per la risposta.
	{
		"resultStatus":"OK",
		"description":"sample description"
	}

Invio di dati di configurazione tramite servizi Web

Lo scambio di messaggi tra l'AP e il Servizio partner che esegue la funzionalità di aggiunta e modifica dei Servizi partner avviene utilizzando la tecnologia Web-Services del protocollo SOAP.

Il servizio fornisce la sua definizione sotto forma di un documento WSDL (Web Service Definitions Language), fornito dall'AP durante l' integrazione.

Descrizione dei campi inviati nel messaggio di richiesta all'integratore - InstantConfigurationNotificationRequest
	<xsd:element name="InstantConfigurationNotificationRequest">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:elementname="InstantConfigurationNotification" type="tns: InstantConfigurationNotification "/>
			</xsd:sequence>
		</xsd:complexType>
	</xsd:element>
	<xsd:complexType name=" InstantConfigurationNotification ">
		<xsd:sequence>
			<xsd:sequence>
				<xsd:element name="AcceptorID" type="xsd:int"/>
				<xsd:element name="ServiceID" type="xsd:int"/>
				<xsd:element name="ServiceKey" type="xsd:string"/>
				<xsd:element name="Hash" type="xsd:string"/>
				<xsd:element minOccurs="0" name="VerificationLinks" type="tns:VerificationLinks"/>
				<xsd:element minOccurs="0" name="PanelLogin" type="xsd:string"/>
				<xsd:element minOccurs="0" name="PanelPassword" type="xsd:string"/>
				<xsd:element minOccurs="0" name="PanelAddress" type="xsd:string"/>
				<xsd:element name="FormHash" type="xsd:string"/>
				<xsd:element name="Method" type="tns:Method"/>
			</xsd:sequence>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="VerificationLink">
		<xsd:sequence>
			<xsd:element name="Currency" type="xsd:string"/>
			<xsd:element name="Link" type="xsd:string"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="VerificationLinks">
		<xsd:sequence>
			<xsd:element maxOccurs="unbounded" name="VerificationLink" type="tns:VerificationLink"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:simpleType name="Method">
		<xsd:restriction base="xsd:string">
			<xsd:enumeration value="REGISTER"/>
			<xsd:enumeration value="UPDATE"/>
			<xsd:enumeration value="ADD_SERVICE"/>
		</xsd:restriction>
	</xsd:simpleType>
Descrizione dei campi del messaggio

IMPORTANTE! L'ordine degli attributi per l'enumerazione Hash deve seguire la loro numerazione
.

Ordine di hash nome richiesto tipo descrizione
1 AcceptorId intero Id dell'accettatore.
2 ID servizio intero Servizio id.
3 Chiave di servizio stringa Il sale hash assegnato al servizio. Con il suo aiuto, l'integratore genererà l'hash utilizzato nei messaggi relativi al processo di pagamento e alla fatturazione della transazione.
4 Collegamento NO stringa Collegamento al trasferimento di verifica.
n.d. Hash intero Il valore della funzione hash, utilizzata per autenticare il messaggio, è calcolato da una stringa contenente i campi incollati del messaggio (concatenazione di campi). Vengono concatenati solo i valori dei campi, senza i nomi dei parametri. L'ordine in cui i campi sono concatenati segue l'ordine in cui appaiono nell'elenco dei parametri. Esempio di enumerazione:
SHA256(valore_accettorevalore_servizioValore_servizioKeyworth_link1valore_link2salto_a_hash)
n.d. Link di verifica NO stringa Oggetto che memorizza un elenco di oggetti VerificaLink su Link di verifica.
n.d. VerificaLink NO stringa Oggetto che memorizza i parametri relativi ai Collegamenti di verifica.
n.d. Collegamento NO stringa Collegamento al trasferimento di verifica.
n.d. Valuta NO stringa Valuta a cui si applica il Collegamento di verifica.
n.d. PannelloLogin NO stringa Accesso del cliente al pannello di amministrazione.
n.d. PannelloPassword NO stringa Password temporanea del cliente per il pannello di amministrazione.
n.d. Indirizzo del pannello NO stringa Password temporanea URL del pannello amministrativo.
n.d. FormHash stringa L'identificatore del link del modulo, utilizzato dall'integratore per associare un link al modulo di un determinato cliente al messaggio inviato dopo la registrazione, che informa della configurazione del servizio risultante.
n.d. Metodo NO stringa Informazioni sul tipo di modulo per cui è stata inviata la configurazione. Valori accettabili:
REGISTRAZIONE
AGGIORNAMENTO
ADD_SERVICE

Esempio 1.

	<SOAP-ENV:Envelope
		xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
		<SOAP-ENV:Header/>
		<SOAP-ENV:Body>
			<ns2: InstantConfigurationNotificationRequest
				xmlns:ns2="http://integrator/ws/">
				< InstantConfigurationNotification>
					<AcceptorID>11111</AcceptorID>
					<ServiceID>22222</ServiceID>                
					<ServiceKey>22a2729462f643cf4c989dddcf226b99b3a6bda11db43a433ab31a7ec2abe925</ServiceKey>                
					<Hash>580a285b9bf95e60d4eaeb470d32858a5f0191a2a51b40a18ee7612fa9ced187</Hash>
					<VerificationLinks>
						<VerificationLink>
							<Currency>PLN</Currency>
							<Link>sampleLink</Link>
						</VerificationLink>
					  </VerificationLinks>
					<FormHash>generated_hash</FormHash>
		   <Method>REGISTER</Method>
				</ InstantConfigurationNotification>
			</ns2: InstantConfigurationNotificationRquest>
		</SOAP-ENV:Body>
	</SOAP-ENV:Envelope>
Messaggio di risposta a AP
	<xsd:element name=" InstantConfigurationNotificationResponse">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element name="Result" type="tns:ResultStatus"/>
				<xsd:element name="Description" type="xsd:string"/>
			 </xsd:sequence>
		</xsd:complexType>
	</xsd:element>

>

	<xsd:simpleType name="ResultStatus">
		<xsd:restriction base="xsd:string">
			<xsd:enumeration value="OK"/>
			<xsd:enumeration value="ERROR"/>
		</xsd:restriction>
	</xsd:simpleType>
Descrizione dei campi del messaggio
nome richiesto tipo descrizione
RisultatoStato stringa Stato della risposta. Valori accettabili:
OK
ERRORE
Descrizione stringa Descrizione aggiuntiva per la risposta.
	<SOAP-ENV:Envelope
		xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
		<SOAP-ENV:Header/>
		<SOAP-ENV:Body>
			<ns2: InstantConfigurationNotificationResponse
				xmlns:ns2="http://integrator/ws/">
				 <Result>OK</Result>
				 <Description>sample description</Description>
			</ns2: InstantConfigurationNotificationResponse>
		</SOAP-ENV:Body>
	</SOAP-ENV:Envelope>

Invio dei dati di configurazione via e-mail

Le informazioni sul servizio vengono inviate all'indirizzo e-mail specificato dall'integratore sotto forma di file protetto da password. Il numero di telefono a cui inviare le password viene concordato con l'integratore durante l'integrazione di
.

Notifica immediata della modifica dei dati AML dopo la verifica nel Sistema di verifica Autopay- ICN

Il sistema Autopay consente all'integratore di essere informato delle modifiche ai dati AML del negozio. In questo modo l'integratore può aggiornare i dati modificati in Autopay e presentarli al partner.

Ciò è stato realizzato inviando messaggi in formato JSON con il metodo HTTP POST. Il corretto funzionamento del servizio richiede l'implementazione di un metodo dal lato dell'integratore per accettare il suddetto messaggio.

Struttura del messaggio

La struttura del messaggio inviato all'integratore è suddivisa in tre nodi principali, come mostrato nella tabella seguente.

Nome del nodo descrizione
intestazione della revisione Oggetto che memorizza i dati di una revisione, cioè di una modifica apportata al sistema da un cliente nel sistema dell'integratore.
dataHeader Oggetto che memorizza le informazioni per autenticare un messaggio
dati correnti Oggetto che contiene informazioni sui dati antiriciclaggio attuali del negozio sul lato Autopay. Si tratta degli ultimi dati verificati positivamente nel sistema Autopay. Se il messaggio è relativo a una registrazione che non ha ricevuto uno stato di verifica positivo nel campo revisionHeader.autopayVerificationStatus, allora currentData = null (non ci sono dati verificati per questo servizio/accettore nel sistema).

Esempio 1. Messaggio con stato di verifica positivo

{ 
   "revisionHeader":{ 
      "orderId":"123_2d87806818cf319d7127ffb", 
      "revisionId":"03d5627b-b9fe-40c0-ae32-5c9620d804ee", 
      "autopayVerificationStatus":"POSITIVE" 
   }, 
   "dataHeader":{ 
      "acceptorId":345, 
      "dataTime":"2024-01-16T 09:16:13", 
      "serviceId":123, 
      "hash":"35a56e960b4a4650b727b098bafd1912cf4e3012c8927ec29b3af6408bc99199" 
   }, 
   "currentData":{ 
      "company":{ 
         "name":"Testowa firma", 
         "address":{ 
            "address":"ul Testowa 77", 
            "postalCode":"80-462", 
            "city":"Gdańsk", 
            "country":"PL", 
            "street":null, 
            "houseNumber":null, 
            "flatNumber":null 
         }, 
         "nip":"8219663675",
         "regon":"955459555", 
         "edg":"123",
         "krs":"1234567890",
         "phone":{ 
            "currentValue":"+48123456789", 
            "waitingValue":null 
         }, 
         "representingPersons":[ 
            { 
               "personName":{ 
                  "firstName":"Jan", 
                  "lastName":"Kowalski" 
               }, 
               "pesel":"PL", 
               "documentData":{ 
                  "number":"BKI332498",
                  "type":"ID", 
                  "expirationDate":"2030-01-01", 
                  "country":"PL" 
               }, 
               "citizenship":"32061970611", 
               "birthData":{ 
                  "date":"1932-06-19", 
                  "country":"PL" 
               } 
            } 
         ],
         "activityKind":"SP_ZOO", 
         "beneficials":[ 
            { 
               "personName":{ 
                  "firstName":"Piotr", 
                  "lastName":"Nowak" 
               },
               "citizenship":"PL", 
               "pesel":"32061970611", 
               "birthDate":"1932-06-19" 
            } 
         ], 
         "registrationDate":"2000-01-01", 
         "plenipotentiary":{ 
            "personName":{ 
               "firstName":"Jan", 
               "lastName":"Kowalski" 
            }, 
            "citizenship":"PL", 
            "birthData":{ 
               "date":"1932-06-19", 
               "country":"PL" 
            }, 
            "pesel":"32061970611", 
            "documentData":{ 
               "number":"BKI332498", 
               "type":"ID", 
               "expirationDate":"2030-01-01", 
               "country":"PL" 
            } 
         }, 
         "physicalPerson":null, 
         "partners":[ 
            { 
               "personName":{ 
                  "firstName":"Jan", 
                  "lastName":"Kowalski" 
               }, 
               "citizenship":"PL", 
               "pesel":"32061970611", 
               "birthData":{ 
                  "date":"1932-06-19", 
                  "country":"PL" 
               }, 
               "documentData":{ 
                  "number":"BKI332498", 
                  "type":"ID", 
                  "expirationDate":"2030-01-01", 
                  "country":"PL" 
               } 
            } 
         ] 
      }, 
      "service":{ 
         "name":"Testowy sklep", 
         "serviceUrl":"https://test.autopay.eu", 
         "urlITN":"https://test.autopay.eu/itn", 
         "returnUrl":"https://test.autopay.eu/return", 
         "trade":{ 
            "id":1, 
            "name":"Alkohol" 
         }, 
         "invoiceEmail":"invoice@test.autopay.eu", 
         "contactEmail":{ 
            "currentValue":"contact@test.autopay.eu", 
            "waitingValue":null 
         },
         "complaintEmail":"complaint@test.autopay.eu", 
         "reportEmail":"report@test.autopay.eu", 
         "balanceDetails":[ 
            { 
               "settlementNRB":"59124053967877760136628953", 
               "currency":"PLN", 
               "swiftCode":null, 
               "commissionModel":2, 
               "regulationId":12 
            } 
         ] 
      } 
   } 
} 

Esempio 2. Messaggio con stato di verifica positivo per un negozio nel mercato spagnolo

{ 
   "revisionHeader":{ 
      "orderId":"123_2d87806818cf319d7127ffb", 
      "revisionId":"03d5627b-b9fe-40c0-ae32-5c9620d804ee", 
      "autopayVerificationStatus":"POSITIVE"      
   }, 
   "dataHeader":{ 
      "acceptorId":345, 
      "dataTime":"2024-01-16T 09:16:13", 
      "serviceId":123, 
      "hash":"35a56e960b4a4650b727b098bafd1912cf4e3012c8927ec29b3af6408bc99199" 
   }, 
   "currentData":{ 
      "company":{ 
         "name":"Test Company", 
         "address":{ 
            "address":"ul Testinio 77", 
            "postalCode":"80-462", 
            "city":"Madrid", 
            "country":"ES", 
            "street":null, 
            "houseNumber":null, 
            "flatNumber":null 
         }, 
         "nip":"1215505438",
         "regon":null, 
         "edg":null,
         "krs":null,
         "phone":{ 
            "currentValue":"123456789", 
            "waitingValue":null 
         }, 
         "representingPersons":[ 
            { 
               "personName":{ 
                  "firstName":"Joan", 
                  "lastName":"Martinez" 
               }, 
               "pesel":null, 
               "documentData":{ 
                  "number":"BKI332498",
                  "type":"ID", 
                  "expirationDate":"2030-01-01", 
                  "country":"ES" 
               }, 
               "citizenship":"ES", 
               "birthData":{ 
                  "date":"1932-06-19", 
                  "country":"ES" 
               } 
            } 
         ],
         "activityKind":"FOREIGN", 
         "beneficials":[ 
            { 
               "personName":{ 
                  "firstName":"Roberto", 
                  "lastName":"Marques" 
               },
               "citizenship":null, 
               "pesel":null, 
               "birthDate":null 
            } 
         ], 
         "registrationDate":"2000-01-01", 
         "plenipotentiary":null, 
         "physicalPerson":null, 
         "partners":[],
         "language":"ES",
         "taxId": "1215505438", 
         "registrationCountry":"ES",
         "legalForm":"AUTONOMO",
         "tradeRegisterName":"NO_REGISTER"         
      }, 
      "service":{ 
         "name":"Test shop", 
         "serviceUrl":"https://test.autopay.eu", 
         "urlITN":"https://test.autopay.eu/itn", 
         "returnUrl":"https://test.autopay.eu/return", 
         "trade":{ 
            "id":1, 
            "name":"Alkohol" 
         }, 
         "invoiceEmail":"invoice@test.autopay.eu", 
         "contactEmail":{ 
            "currentValue":"contact@test.autopay.eu", 
            "waitingValue":null 
         },
         "complaintEmail":"complaint@test.autopay.eu", 
         "reportEmail":"report@test.autopay.eu", 
         "balanceDetails":[ 
            { 
               "settlementNRB":"59124053967877760136628953", 
               "currency":"EUR", 
               "swiftCode":"XXXXXXYY", 
               "commissionModel":2, 
               "regulationId":12 
            } 
         ] 
      } 
      "addons": {
            "service": {
                "statementDescriptor": "shop name"
            }
        }
   } 
} 

Esempio 3. Messaggio con stato di verifica positivo per un negozio nel mercato spagnolo

{ 
   "revisionHeader":{ 
      "orderId":"123_2d87806818cf319d7127ffb", 
      "revisionId":"03d5627b-b9fe-40c0-ae32-5c9620d804ee", 
      "autopayVerificationStatus":"POSITIVE",
      "autopayVerificationStatusReasons": []       
   }, 
   "dataHeader":{ 
      "acceptorId":345, 
      "dataTime":"2024-01-16T 09:16:13", 
      "serviceId":123, 
      "hash":"35a56e960b4a4650b727b098bafd1912cf4e3012c8927ec29b3af6408bc99199" 
   }, 
   "currentData":{ 
      "company":{ 
         "name":"Test Company", 
         "address":{ 
            "address":"ul Testinio 77", 
            "postalCode":"80-462", 
            "city":"Madrid", 
            "country":"ES", 
            "street":null, 
            "houseNumber":null, 
            "flatNumber":null 
         }, 
         "nip":"1215505438",
         "regon":null, 
         "edg":null,
         "krs":null,
         "phone":{ 
            "currentValue":"123456789", 
            "waitingValue":null 
         }, 
         "representingPersons":[ 
            { 
               "personName":{ 
                  "firstName":"Joan", 
                  "lastName":"Martinez" 
               }, 
               "pesel":null, 
               "documentData":{ 
                  "number":"***",
                  "type":"***", 
                  "expirationDate":null, 
                  "country":"***" 
               }, 
               "citizenship":"ES", 
               "birthData":{ 
                  "date":"1932-06-19", 
                  "country":"ES" 
               } 
            } 
         ],
         "activityKind":"FOREIGN", 
         "beneficials":[ 
            { 
               "personName":{ 
                  "firstName":"Roberto", 
                  "lastName":"Marques" 
               },
               "citizenship":null, 
               "pesel":null, 
               "birthDate":null 
            } 
         ], 
         "registrationDate":"2000-01-01", 
         "plenipotentiary":null, 
         "physicalPerson":null, 
         "partners":[],
         "language":"ES",
         "taxId": "1215505438", 
         "registrationCountry":"ES",
         "legalForm":"AUTONOMO",
         "tradeRegisterName":"NO_REGISTER"         
      }, 
      "service":{ 
         "name":"Test shop", 
         "serviceUrl":"https://test.autopay.eu", 
         "urlITN":"https://test.autopay.eu/itn", 
         "returnUrl":"https://test.autopay.eu/return", 
         "trade":{ 
            "id":58, 
            "name":"Usługi medyczne" 
         }, 
         "invoiceEmail":"invoice@test.autopay.eu", 
         "contactEmail":{ 
            "currentValue":"contact@test.autopay.eu", 
            "waitingValue":null 
         },
         "complaintEmail":"complaint@test.autopay.eu", 
         "reportEmail":"report@test.autopay.eu", 
         "balanceDetails":[ 
            { 
               "settlementNRB":"ES1111111111111111111111", 
               "currency":"EUR", 
               "swiftCode":"XXXXXXYY", 
               "commissionModel":2, 
               "regulationId":12 
            } 
         ] 
      } 
      "addons": {
            "service": {
                "statementDescriptor": "shop name"
            }
        }
   } 
}

Descrizione dei campi principali

Nome del campo Descrizione
revisionHeader.revisionId revisionHeader.revisionId
revisionHeader.autopayVerificationStatus Stato di verifica sul lato Autopay dei dati inviati come parte della revisione. Questo stato NON si applica ai dati del nodo CurrentData.
revisionHeader.autopayVerificationStatusReasons elenco di motivi da compilare nel caso in cui autopayVerificationStatus = NEGATIVE o NEED_FEEDBACK
revisionHeader.autopayVerificationStatusReasons.reason tipo di motivo dello stato di verifica NEGATIVO o NEED_FEEDBACK.
Valori accettabili:
WRONG_ACTIVITY_KIND - forma giuridica errata,
WRONG_ACCOUNT_NUMBER - conto bancario non valido,
WRONG_ADDRESS - indirizzo incompatibile, WRONG_URL_LINK - URL non funzionante,
WRONG_DATA_ON_URL_LINK - i dati dell'oggetto sul sito web del medico non sono validi,
WRONG_REPRESENTATIVE_BENEFICIARY_DATA - dati errati del rappresentante/beneficiario,
ACTIVITY_KIND_INACTIVE - attività sospesa
revisionHeader.autopayVerificationStatusReasons.description descrizione del motivo dello stato di verifica NEGATIVO o NEED_FEEDBACK. La descrizione può essere inviata in polacco, inglese, spagnolo o italiano, a seconda della configurazione dell'integratore.
revisionHeader.orderId identificatore di pagamento, se presente, durante la creazione della revisione (azione di registrazione o aggiornamento dei dati)
dataHeader.dataTime data e ora dei dati scaricati dal sistema Autopay
dataHeader.serviceId id del servizio interessato
dataHeader.acceptorId id dell'interessato
dataHeader.hash SHA256(acceptorId|dataTime|serviceId|secret_key) eg: SHA256(345|2024-01-16T08:08:51.271|123|secret_key)
currentData.company dati dell'azienda che registra il pagamento, principalmente dati antiriciclaggio
currentData.service dati di configurazione del servizio

Valori dei singoli campi a seconda dello scenario

  • Dettagli di contatto e verifica

È possibile che alcuni dei dati di contatto richiedano una verifica da parte del cliente. I campi che potrebbero richiedere una verifica sono:

currentData.company.phone 
currentData.service.contactEmail 

Ciascuno di questi campi è rappresentato come un oggetto:

{ 
"currentValue":"wartość", 
"waitingValue":null 
} 

valore corrente - valore attualmente in vigore nel sistema
waitingValue - in attesa di verifica da parte del client. In una situazione in cui il client ha inserito diversi valori senza verificarne nessuno, il campo waitingValue conterrà l'ultimo. Un valore nullo significa che nessun dato è in attesa di verifica da parte del client.

  • RevisionHeader

Questo titolo può avere diverse forme:

Completato:

"revisionHeader":{ 
"revisionId":"046b8dcf-3581-4079-813c-34d0a2871fae", 
"autopayVerificationStatus":"PENDING", 
"orderId":"151007_2d87806818cf319d7127ffb" 
} 

Tale intestazione si verifica quando la transazione di verifica di un cliente deve essere pagata durante un'azione avviata dall'integratore.

Ordine vuoto:

"revisionHeader":{ 
"revisionId":"046b8dcf-3581-4079-813c-34d0a2871fae", 
"autopayVerificationStatus":"PENDING", 
"orderId":null 
} 

Questa forma di intestazione si verifica quando l'azione dell'integratore genera una verifica non sensibile, ossia che non richiede il pagamento della transazione di verifica.

Nessun revisionHeader:

"revisionHeader":null 

Il revisionHeader non si verificherà quando una modifica all'interno del servizio/accettante viene inizializzata da Autopay ad esempio come risultato di una verifica periodica dei dati.

  • Campo revisionHeader.autopayVerificationStatus

Il campo indica lo stato di verifica della revisione indicata. Valori possibili per questo campo:
IN ATTESA - revisione in corso
POSITIVO - la revisione è stata accettata
NEGATIVO - la revisione è stata respinta
BISOGNO DI UN RISCONTRO - Informazioni/azioni richieste sul lato client

Valore del campo revisionHeader.autopayVerificationStatus indica lo stato di verifica da parte di Autopay e non è legato alla verifica dei dati di contatto effettuata dal cliente.
Valore del campo revisionHeader.autopayVerificationStatus non si applica ai dati del nodo currentData, ma è lo stato della revisione caricata.

Stato di verifica negativo:

"revisionHeader":{ 
      "orderId":"123_2d87806818cf319d7127ffb", 
      "revisionId":"03d5627b-b9fe-40c0-ae32-5c9620d804ee", 
      "autopayVerificationStatus":"NEGATIVE",
      "autopayVerificationStatusReasons": [
            {
                "reason": "ACTIVITY_KIND_INACTIVE",
                "description": "działalność zawieszona"
            },
            {
                "reason": "WRONG_REPRESENTATIVE_BENEFICIARY_DATA",
                "description": "błędne dane reprezentanta/beneficjenta"
            }
        ]       
   }

Tale intestazione può verificarsi se il negozio riceve uno stato di verifica NEGATIVO o NEED_FEEDBACK dopo la verifica da parte di Autopay. L'invio di un nodo aggiuntivo autopayVerificationStatusReasons è facoltativo e dipende dalla configurazione dell'integratore.

  • Campo currentData.company.physicalPerson Questo campo viene compilato con l'oggetto sotto riportato quando la registrazione o la modifica riguarda un'attività non registrata, cioè un'azienda. activityKind = NON_ACCOUNTED_ACTIVITY
{ 
   "personName":{ 
      "firstName":"Jan", 
      "lastName":"Kowalski" 
   }, 

   "pesel":"69010583482", 
   "documentData":{ 
      "number":"BKI332498", 
      "type":"ID", 
      "expirationDate":"2030-01-01", 
      "country":"PL" 
   }, 
   "citizenship":"PL", 
   "birthData":{ 
      "date":"1951-06-19", 
      "country":"PL" 
   }
} 
  • Campo currentData.company.address
    Il campo dell'indirizzo, a seconda dei dati memorizzati in Autopay, può assumere due forme:

    • indirizzo.indirizzo riempito e indirizzo.via vuoto, indirizzo.numero civico, indirizzo.numero appartamento vuoto
      Esempio:
    "address":{ 
     "address":"ul Testowa 77/3", 
     "postalCode":"80-462", 
     "city":"Gdańsk", 
     "country":"PL", 
     "street":null, 
     "houseNumber":null, 
     "flatNumber":null
    }
    
    • campo vuoto indirizzo.addres e compilato indirizzo.via, indirizzo.numero civico, indirizzo.numero appartamento
      Esempio:
    "address":{ 
     "address":null, 
     "postalCode":"80-462", 
     "city":"Gdańsk", 
     "country":"PL", 
     "street":"ul Testowa", 
     "houseNumber":77, 
     "flatNumber":3 
    }
    
  • Campi aggiuntivi

"language":"ES",
"taxId": "1215505438", 
"registrationCountry":"ES",
"legalForm":"AUTONOMO",
"tradeRegisterName":"NO_REGISTER"

Questi sono i campi inviati in caso di integrazione in un mercato diverso da quello polacco.

  • lingua - lingua in cui è registrato il negozio.
  • taxId - un numero di identificazione univoco assegnato alle società dalle autorità fiscali competenti di un determinato Paese. È l'equivalente del numero NIP polacco.
  • registrationCountry - Paese di registrazione della società.
  • legalForm - forma giuridica straniera.
    Valori accettabili:
    • per l'integrazione nel mercato italiano
      IMPRESA_INDIVIDUALE - impresa individuale
      SOCIETA_A_RESPONSABILITA_LIMITATA - società a responsabilità limitata
      SOCIETA_PER_AZIONI - società per azioni
    • per l'integrazione nel mercato spagnolo
      AUTONOMO - ditta individuale
      SOCIEDAD_DE_RESPONSABILIDAD_LIMITADA - società a responsabilità limitata
      SOCIEDAD_ANONIMA - società per azioni
  • tradeRegisterName - nome del registro commerciale.
  • "statementDescriptor": "shop name"
    

    Un campo che contiene il nome del Punto vendita da visualizzare sugli estratti conto (il servizio di trascrizione del valore di questo campo sugli estratti conto non è attualmente disponibile).

    Notifica immediata di una modifica dello stato dei pagamenti con carta (ICN Card)

    Il processo di messa a disposizione del negozio delle carte di pagamento richiede la verifica del negozio sia dal lato AP che dal lato dell'amministratore della carta di pagamento, motivo per cui l'avvio della richiede solitamente più tempo dell'attivazione del negozio stesso.

    Il sistema consente di inviare una notifica istantanea quando la possibilità di effettuare pagamenti con carte di pagamento in negozio è abilitata o disabilitata, per garantire la coerenza della configurazione del negozio tra la piattaforma integratore e l'AP. Ciò è stato realizzato inviando un messaggio in formato JSON tramite l'API REST.

    NOTE: Il corretto funzionamento del servizio richiede l'implementazione sul lato dell'integratore di un metodo per accettare il suddetto messaggio.

    Descrizione dei campi del messaggio inviati all'integratore

    IMPORTANTE! L'ordine degli attributi per l'enumerazione Hash deve seguire la loro numerazione
    .

    Ordine di hash nome richiesto tipo descrizione
    1 serviceId intero Un identificativo univoco permanente del negozio assegnato dal Sistema di pagamento online.
    2 ordineId stringa L'identificatore univoco della richiesta fornito dall'AP. Sintassi orderId: valore diserviceId_uniquelabel
    3 carteStato stringa Stato del lancio dei pagamenti con carta nel negozio. Valori disponibili:
    ATTIVO
    INATTIVO
    n.d. hash stringa Il valore della funzione hash, utilizzata per autenticare il messaggio, è calcolato da una stringa contenente i campi incollati del messaggio (concatenazione di campi). Vengono concatenati solo i valori dei campi, senza i nomi dei parametri. L'ordine in cui i campi vengono concatenati segue l'ordine in cui compaiono nell'elenco dei parametri. Una chiave, condivisa tra il Sistema di piattaforma e il sistema di pagamento online, viene incollata alla fine della stringa di cui sopra. Dalla stringa risultante viene calcolato il valore della funzione di hash SHA256, che costituisce il valore del campo Hash del messaggio.
    Hash = SHA256(valori_messaggio + chiave condivisa)
    n.d. valute stringa Elenco delle valute per le quali lo stato di attivazione dei pagamenti con carta è stato modificato

    Esempio.

    	{
    	"serviceId":"1111111",
    	"orderId":"22222",
    	"cardsStatus":"ACTIVE",
    	"hash":"81eb70b8f2c4576bfb375a7ccbfcfb196b235556bcc329aa40a3dc8bfd",
    	"currencies":["PLN","EUR","GBP","USD"]
    	}
    

    Descrizione dei campi del messaggio di ritorno all'AP

    IMPORTANTE! L'ordine degli attributi per l'enumerazione Hash deve seguire la loro numerazione
    .

    Ordine di hash nome richiesto tipo descrizione
    1 serviceId intero Un identificativo univoco permanente del negozio assegnato dal Sistema di pagamento online.
    2 ordineId stringa L'identificatore univoco della richiesta fornito dall'AP.
    3 conferma stringa Stato di conferma:
    - CONFERMATO
    - NON CONFERMATO
    n.d. hash stringa Il valore della funzione hash, utilizzata per autenticare il messaggio, è calcolato da una stringa contenente i campi incollati del messaggio (concatenazione di campi). Vengono concatenati solo i valori dei campi, senza i nomi dei parametri. L'ordine in cui i campi vengono concatenati segue l'ordine in cui compaiono nell'elenco dei parametri. Una chiave, condivisa tra il Sistema di piattaforma e il sistema di pagamento online, viene incollata alla fine della stringa di cui sopra. Dalla stringa risultante viene calcolato il valore della funzione di hash SHA256, che costituisce il valore del campo Hash del messaggio.
    Hash = SHA256(valori_messaggio + chiave condivisa)

    Esempio.

    	{
    	"serviceId":"1111111",
    	"orderId":"22222",
    	"confirmation":"CONFIRMED",
    	"hash":"81eb70bcb8f2c4576bfb375a7ccbfcfb196b2355986556b29aa40a3dc8bfd"
    	}
    

    Notifica immediata della modifica per abilitare o disabilitare un canale di pagamento sul negozio (ICN Gateway)

    Il sistema consente di inviare una notifica immediata all'integratore quando i canali di pagamento indicati vengono attivati e disattivati in un determinato negozio. Ciò è stato realizzato inviando un messaggio in formato JSON. Il corretto funzionamento del servizio richiede l'implementazione di un metodo da parte dell'integratore per ricevere tale messaggio.

    Descrizione del campo del messaggio inviato all'integratore.

    Ordine di hash nome richiesto tipo descrizione
    1 serviceId intero Un identificativo univoco permanente del negozio assegnato dal Sistema di pagamento online.
    2 ordineId stringa Un identificativo unico della richiesta assegnato da Autopay.
    - gatewayConfigurazioni Oggetto che memorizza un elenco di canali di pagamento per i quali si è verificata una modifica dell'attività.
    3 gatewayConfiguration.gatewayId intero Identificatore del canale di pagamento.
    4 gatewayConfiguration.active booleano Informazioni sull'attivazione o disattivazione del canale di pagamento indicato.
    - hash stringa Il valore della funzione hash, utilizzata per autenticare il messaggio, è calcolato da una stringa contenente i campi incollati del messaggio (concatenazione di campi). I valori dei campi sono incollati insieme, senza i nomi dei parametri. L'ordine in cui i campi sono concatenati segue l'ordine in cui appaiono nell'elenco dei parametri. Una chiave, condivisa tra il Sistema di piattaforma e il sistema di pagamento online, viene incollata alla fine della stringa di cui sopra. Dalla stringa risultante viene calcolato il valore della funzione di hash SHA256, che costituisce il valore del campo Hash del messaggio.

    NOTE: Se durante l'integrazione con il Partner è stato stabilito un separatore per il conteggio degli hash per i messaggi, questo verrà utilizzato. In questo caso, il conteggio degli hash seguirà lo schema:

    Hash = SHA256(messaggio_campo_1_valore + delimitatore + messaggio_campo_2_valore + delimitatore + messaggio_campo_3_valore + delimitatore + [campi consecutivi separati da delimitatore]+ chiave_condivisa)

    Esempio:

    {
        "serviceId": 111111,
        "gatewayConfigurations": [
            {
                "gatewayId": 101,
                "active": false
            },
            {
                "gatewayId": 100,
                "active": true
            }
        ],
        "orderId": "47781_0a25c3c9-e0a7-4bfa-9bdf-75ca75c2569d",
        "hash": "5f3dfeec2cea228e2f4db8840fdc0e4d91d224da195618c0c67c6a7ea53c1832"
    }
    
    

    Descrizione dei campi del messaggio di ritorno ad Autopay.

    Ordine di hash nome richiesto tipo descrizione
    1 serviceId intero Un identificativo univoco permanente del negozio assegnato dal Sistema di pagamento online.
    2 ordineId stringa Un identificativo unico della richiesta assegnato da Autopay.
    3 conferma stringa Il valore della funzione hash, utilizzata per autenticare il messaggio, è calcolato da una stringa contenente i campi incollati del messaggio (concatenazione di campi). Vengono concatenati solo i valori dei campi, senza i nomi dei parametri. L'ordine in cui i campi vengono concatenati segue l'ordine in cui compaiono nell'elenco dei parametri. Una chiave, condivisa tra il Sistema di piattaforma e il sistema di pagamento online, viene incollata alla fine della stringa di cui sopra. Dalla stringa risultante viene calcolato il valore della funzione di hash SHA256, che costituisce il valore del campo Hash del messaggio.
    Hash = SHA256(valori_messaggio + chiave condivisa)

    Esempio:

    Przykład.
    {
    "serviceId":"1111111",
    "orderId":"22222",
    "confirmation":"CONFIRMED",
    "hash":"81eb70bcb8f2c4576bfb375a7ccbfcfb196b2355986556b29aa40a3dc8bfd"
    }
    
    
    

    GetAMLCompanyData recuperato dal Service Integrator

    GetAMLCompanyDataReq

    Messaggio per ottenere i dati del Partner aggiornati nel Sistema.

    	<xsd:element name="GetAMLCompanyDataReq">
    		<xsd:complexType>
    			<xsd:sequence>
    				<xsd:element name="AcceptorID" type="xsd:int"/>
    				<xsd:element name="Header" type="tns:Header"/>
    			</xsd:sequence>
    		</xsd:complexType>
    	</xsd:element>
    
    Descrizione dei campi del messaggio
    nome del campo tipo descrizione
    AcceptorID intero ID commerciante.
    Intestazione intestazione Oggetto utilizzato per fornire dati di intestazione relativi alla sicurezza della comunicazione e alla correttezza dei dati trasmessi.
    	<xsd:complexType name="Header">
    		   <xsd:sequence>
    				   <xsd:element name="PlatformId" type="xsd:string"/>
    				   <xsd:element name="MessageTime" type="xsd:dateTime"/>
    				   <xsd:element name="RequestId" type="xsd:long"/>
    				   <xsd:element name="Hash" type="xsd:string"/>
    			 </xsd:sequence>
    	</xsd:complexType>
    
    Descrizione dei campi del messaggio

    IMPORTANTE! L'ordine degli attributi per l'enumerazione Hash deve seguire la loro numerazione
    .

    Ordine di hash nome richiesto tipo descrizione
    1 ID piattaforma stringa L'identificativo univoco permanente della piattaforma assegnato dal sistema di pagamento online.
    2 MessaggioTempo dateTime Tempo di generazione del messaggio, i messaggi con un tempo impostato successivo a 5 minuti rispetto all'ora del server del Sistema di pagamento online saranno rifiutati. È consigliabile impostare l'ora del messaggio now()-1min, nel caso in cui l'ora dei server non sia sincronizzata.
    Esempio:
    2016-07-20T09:35:00.000 (messaggio generato in data 2016-07-20 09:36:00).
    3 ID richiesta lungo L'identificativo univoco della richiesta all'interno della Piattaforma fornito dalla parte che ha avviato il messaggio in questione.
    n.d. Hash stringa{64} Il valore della funzione hash, utilizzata per autenticare il messaggio, è calcolato da una stringa contenente i campi incollati del messaggio (concatenazione di campi). Vengono concatenati solo i valori dei campi, senza i nomi dei parametri. L'ordine in cui i campi vengono concatenati segue l'ordine in cui compaiono nell'elenco dei parametri. Una chiave, condivisa tra il Sistema di piattaforma e il sistema di pagamento online, viene incollata alla fine della stringa di cui sopra. Dalla stringa risultante viene calcolato il valore della funzione di hash SHA256, che costituisce il valore del campo Hash del messaggio.
    Hash = SHA256(valori_messaggio + chiave condivisa)
    Esempio:
    SHA256(11112016-07-20T09:35:00.
    000111222333aaabbbccc)
    Dove:
    PlatfromId = 1111
    MessageTime = 2016-07-20T09:35:00.000
    RequestId = 111222333
    Chiave condivisa = aaabbbccc

    "GetAMLCompanyDataResp"

    Il messaggio è una risposta a GetAMLCompanyDataResp.

    	<xsd:element name="GetAMLCompanyDataResp">
    		<xsd:complexType>
    			<xsd:sequence>
    				<xsd:element name="Result" type="xsd:string"/>
    				<xsd:element name="ErrorStatus" type="xsd:string" nillable="true"/>
    				<xsd:element name="Company" type="tns:Company"/>
    				<xsd:element name="isServiceActive" type="xsd:boolean" nillable="true"/>
    			</xsd:sequence>
    		</xsd:complexType>
    	</xsd:element>
    
    Descrizione dei campi del messaggio
    nome del campo tipo descrizione
    Risultato stringa OK - operazione completata con successo
    ERRORE - errore durante la modifica di un partner
    Stato di errore stringa Stato di errore.
    Azienda Azienda Oggetto con i dati dell'azienda partner.
    isServiceActive booleano Informazioni sul fatto che il servizio sia attivo.

    CONSIGLIO: Tipo di messaggio Aziendae i suoi singoli componenti
    data-deeplation/> sono descritti in dettaglio nella sezione Tipi di composito.

    Recuperare informazioni sull'elenco attuale delle normative disponibili - GetLegalData

    Il sistema consente all'integratore di recuperare l'elenco completo dei regolamenti corrispondenti alle percentuali di commissione disponibili per l'integratore (CommissionModel) o un elenco specifico di regolamenti limitato dai filtri specificati nei parametri di richiesta. A tale scopo, richiamare il metodo getLegalData (https://domena_BMAutopay/getLegalData) con i parametri appropriati. Lo scambio di messaggi tra Autopay e la piattaforma Integrator avviene in formato JSON. Tutti i parametri vengono passati tramite il metodo POST (Content-Type: application/json). Di seguito è riportato un elenco dei parametri disponibili. L'accesso al servizio è protetto dal filtraggio degli indirizzi IP.

    Descrizione dei campi del messaggio di richiesta
    Ordine di hash Nome Richiesto Tipo Descrizione
    . intestazione Oggetto che memorizza i campi di autorizzazione del messaggio.
    1 piattaformaId intero L'identificativo univoco permanente della piattaforma assegnato dal sistema di pagamento online.
    2 messaggioId stringa{32} un identificatore univoco della richiesta all'interno della Piattaforma fornito dalla parte che avvia il messaggio.
    3 messaggioTempo dateTime Tempo di generazione del messaggio, i messaggi con un tempo impostato successivo a 5 minuti rispetto all'ora del server del Sistema di pagamento online saranno rifiutati. È buona norma impostare l'ora del messaggio now()-1min, nel caso in cui l'ora dei server non sia sincronizzata. Esempio: 2016-07-20T09:35:00.000 (messaggio generato il 2016-07-20 09:36:00).
    - hash stringa Il valore della funzione hash, utilizzata per autenticare il messaggio, è calcolato da una stringa contenente i campi incollati del messaggio (concatenazione di campi). Vengono concatenati solo i valori dei campi, senza i nomi dei parametri. L'ordine in cui i campi vengono concatenati segue l'ordine in cui compaiono nell'elenco dei parametri. Una chiave, condivisa tra il Sistema di piattaforma e il sistema di pagamento online, viene incollata alla fine della stringa di cui sopra. Dalla stringa risultante viene calcolato il valore della funzione di hash SHA256, che costituisce il valore del campo Hash del messaggio.
    Hash = SHA256(campo_valore_messaggio + chiave_condivisa).
    - filtroParametri NO Un oggetto che memorizza i parametri che costituiscono i filtri della richiesta. Il mancato invio dei filtri nel messaggio di richiesta ad Autopay restituirà l'elenco completo dei termini e delle condizioni disponibili all'integratore.
    - elenco dei modelli di commissione NO Elenco dei tassi di commissione per i quali devono essere restituiti i regolamenti. Specificando un particolare tasso, verranno restituiti i regolamenti corrispondenti.
    - elenco lingue NO Elenco delle lingue in cui devono essere restituiti i regolamenti.
    Esempio:
    Specificando PL si otterranno tutti i regolamenti scritti in polacco.

    Esempio.
    Richiesta di un elenco di regolamenti per i tassi di commissione 1 e 2, in polacco e in inglese per la valuta PLN.

    { 
       "header":{ 
          "platformId":"111111", 
          "messageId":22222, 
          "messageTime":"2020-06-01 09:36:00", 
          "hash":"31772235489560079037848456"
    
       }, 
       "filterParams":{ 
          "commissionmodelList":[ 
             1, 
             2 
          ], 
          "languageList":[ 
             "PL", 
             "EN" 
          ] 
       } 
    } 
    

    Descrizione dei campi del messaggio di risposta

    Risposta corretta: stato http 200.

    Ordine di hash Nome Richiesto Tipo Descrizione
    1 stato stringa Valore: OK - in caso di stato http 200.
    2 messaggioId SÌ stringa {32} Campo che restituisce il valore dell'identificatore del messaggio di richiesta.
    - hash stringa Il valore della funzione hash, utilizzata per autenticare il messaggio, è calcolato da una stringa contenente i campi incollati del messaggio (concatenazione di campi). Vengono concatenati solo i valori dei campi, senza i nomi dei parametri. L'ordine in cui i campi sono concatenati segue l'ordine in cui appaiono nell'elenco dei parametri.
    - elenco dei regolamenti Un oggetto che memorizza un elenco di regolamenti restituiti.
    - regolamentoId intero Identificatore di regole e regolamenti, restituito ad Autopay nei metodi RegisterCompany, UpdateCompany, UpdateService, UpdateConfiguration, che informa Autopay su quali regole e regolamenti sono stati accettati nel modulo Integrator.
    - regolamentoLink stringa Link al file dei termini e delle condizioni.
    - modello di commissione intero tasso di commissione a cui si applicano i regolamenti.
    - lingua stringa La lingua in cui sono stati scritti i regolamenti.
    - valuta stringa La valuta del tasso di commissione a cui si applicano i regolamenti.

    Risposta con messaggio di errore - stato http 400.

    Ordine di hash Nome Richiesto Tipo Descrizione
    errori Oggetto che memorizza un elenco di errori contenuti nel messaggio di richiesta.
    campo stringa Indica il campo interessato dall'errore.
    errore stringa Descrizione verbale dell'errore.
    codiceerrore intero Codice di errore - l'elenco completo degli errori è disponibile di seguito

    Esempio.
    Restituzione dell'elenco dei regolamenti

    { 
        "regulationList": [ 
            { 
                "commissionModel": 1, 
                "language": "PL", 
                "regulationLink":"https://platnosci-accept.bm.pl/regulations/api/download/4eaf489b-c27f-40ac-b888-032f562077dd", 
                "regulationId": 41,
                 "currency": "PLN" 
            }, 
            { 
                "commissionModel": 3, 
                "language": "PL", 
                "regulationLink":"https://platnosci-accept.bm.pl/regulations/api/download/70c5638e-7301-46f9-87e1-522dcff1db4e", 
                "regulationId": 42, 
     	"currency": "PLN" 
            }, 
            { 
                "commissionModel": 6, 
                "language": "PL", 
                "regulationLink":"https://platnosci-accept.bm.pl/regulations/api/download/0ef22461-7245-4501-970f-e09f2929856f", 
                "regulationId": 43, 
    	    "currency": "PLN" 
            } 
        ],
        "messageId": "22121111112411112211111311212260", 
        "status": "OK", 
        "hash": "a2bd34888537a5c91c2700f12ec4e59786b03e9d4a92ad9ffd1dc49c8c8edad2" 
    } 
    

    Elenco dei codici di errore

    Codice di errore Descrizione Parametro interessato dall'errore
    6000 hash errato hash
    6023 Il parametro hash non è specificato, ma è necessario hash
    6017 Il parametro platformId non è specificato, ma è necessario. piattaformaId
    6018 Il parametro messageId non è specificato ma è necessario. messaggioId
    6019 Il valore del parametro messageId ha una lunghezza non valida. messaggioId
    6015 Formato della data non corretto messaggioTempo
    6015 La data inviata nella richiesta di collegamento al modulo non è al di fuori dell'intervallo accettabile. messaggioTempo
    6015 Il parametro messageTime non è specificato ed è obbligatorio. messaggioTempo
    6027 Valore errato nella lettera. elenco dei modelli di commissione
    6028 valore nella lettera. elenco lingue
    6029 L'oggetto intestazione non è specificato. intestazione

    Modifica della configurazione del servizio - "UpdateConfiguration"

    "UpdateConfigurationReq"

    Un messaggio che consente all'integratore di modificare la configurazione del negozio senza dover eseguire un trasferimento di verifica.

    	<xsd:element name="UpdateConfigurationReq">
    		<xsd:complexType>
    			<xsd:sequence>
    				<xsd:element name="ServiceID" type="xsd:int" minOccurs="0"/>
    				<xsd:element name="Header" type="tns:Header"/>
    				<xsd:element name="ConfigurationData" type="tns:ConfigurationData"/>
    				<xsd:element name="Currency" type="xsd:string"/>
    			</xsd:sequence>
    		</xsd:complexType>
    	</xsd:element>
    
    Descrizione dei campi del messaggio
    nome richiesto tipo descrizione
    ID servizio NO intero ID servizio.
    Intestazione NO Intestazione Oggetto utilizzato per fornire dati di intestazione relativi alla sicurezza della comunicazione e alla correttezza dei dati trasmessi.
    Dati di configurazione NO Dati di configurazione Un oggetto che fornisce informazioni sulla nuova configurazione del negozio.
    Valuta NO stringa Valuta.
    	<xsd:complexType name="Header">
    		<xsd:sequence>
    			<xsd:element name="PlatformId" type="xsd:string"/>
    			<xsd:element name="MessageTime" type="xsd:dateTime"/>
    			<xsd:element name="RequestId" type="xsd:long"/>
    			<xsd:element name="Hash" type="xsd:string"/>
    		</xsd:sequence>
    	</xsd:complexType>
    
    Descrizione dei campi del messaggio

    IMPORTANTE! L'ordine degli attributi per l'enumerazione Hash deve seguire la loro numerazione
    .

    Ordine di hash nome richiesto tipo descrizione
    1 ID piattaforma stringa L'identificativo univoco permanente della piattaforma assegnato dal sistema di pagamento online.
    3 MessaggioTempo dateTime Tempo di generazione del messaggio, i messaggi con un tempo impostato successivo a 5 minuti rispetto all'ora del server del Sistema di pagamento online saranno rifiutati. È buona norma impostare l'ora del messaggio now()-1min, nel caso in cui l'ora dei server non sia sincronizzata. Esempio: 2016-07-20T09:35:00.000 (messaggio generato il 2016-07-20 09:36:00).
    4 ID richiesta lungo L'identificativo univoco della richiesta all'interno della Piattaforma fornito dalla parte che ha avviato il messaggio in questione.
    n.d. Hash stringa{64} Il valore della funzione hash, utilizzata per autenticare il messaggio, è calcolato da una stringa contenente i campi incollati del messaggio (concatenazione di campi). Vengono concatenati solo i valori dei campi, senza i nomi dei parametri. L'ordine in cui i campi vengono concatenati segue l'ordine in cui compaiono nell'elenco dei parametri. Una chiave, condivisa tra il Sistema di piattaforma e il sistema di pagamento online, viene incollata alla fine della stringa di cui sopra. Dalla stringa risultante viene calcolato il valore della funzione di hash SHA256, che costituisce il valore del campo Hash del messaggio.
    Hash = SHA256(valori_messaggio + chiave condivisa)
    	<xsd:complexType name="ConfigurationData">
    		<xsd:sequence>
    			<xsd:element name="isTransactionRefundAllowed" type="tns:BooleanType" minOccurs="0"/>
    			<xsd:element name="CommissionModel" type="xsd:long" nillable="true"/>
    			<xsd:element name="isCardsPaymentRequired" type="tns:BooleanType" minOccurs="0"/>
    			<xsd:element name="ServiceUrl" type="xsd:string" minOccurs="0"/>
    		</xsd:sequence>
    	 </xsd:complexType>
    
    Descrizione dei campi del messaggio
    nome del campo richiesto tipo descrizione
    isTransactionRefundAllowed NO Tipo booleano Informazioni che indicano se il Partner desidera rendere disponibile al Servizio l'opzione di prelievo dal Conto di pagamento e di rimborso delle transazioni. Il mancato invio di un elemento o l'invio di un valore FALSO blocca questa opzione. L'invio di TRUE la rende disponibile per il Sito web.
    Modello di Commissione NO lungo Numero di modelli di commissione concordati durante l'integrazione.
    isCardsPaymentRequired NO Tipo booleano Informazioni sul fatto che il Partner desideri o meno fornire un'opzione di pagamento con carta per il Sito web. Il mancato invio dell'elemento o l'invio del valore false comporta la disattivazione delle carte. L'invio di TRUE avvia il processo di attivazione della carta o mantiene la disponibilità delle carte (nel caso in cui il processo di attivazione della carta per il Sito web sia stato completato con successo).
    ServiceUrl NO stringa Campo per modificare l'indirizzo temporaneo fornito durante la registrazione in indirizzo di destinazione.

    NOTE: Dato in ServiceUrl l'indirizzo deve contenere la parte fissa del dominio.
    Ad esempio, un cambio di indirizzo: https://nazwasklepu.integrator.pl su https://nazwasklepu.pl

    "UpdateConfigurationResp"

    Il messaggio è una risposta a UpdateConfigurationReq.

    	<xsd:element name="UpdateConfigurationResp">
    		<xsd:complexType>
    			<xsd:sequence>
    				<xsd:element name="Result" type="xsd:string"/>
    				<xsd:element name="ErrorStatus" type="xsd:string" nillable="true"/>
    			</xsd:sequence>
    		</xsd:complexType>
    	</xsd:element>
    
    Descrizione dei campi del messaggio
    nome del campo tipo descrizione
    Risultato xsd:stringa OK - operazione completata con successo
    ERRORE - errore di modifica del servizio
    Stato di errore xsd:stringa Stato di errore se si è verificato ERROR.
    AttivazioneLink xsd:stringa URL che conduce al sistema configurato per il processo di verifica tramite trasferimento.

    Annullamento dell'edizione corrente del servizio in corso di revisione - "CancelUpdate".

    Messaggio utilizzato per annullare la modifica dei dati di un servizio che è attualmente in fase di verifica. Il metodo viene utilizzato quando la configurazione dell'integratore dal lato del sistema Autopay blocca la gestione di più verifiche contemporaneamente per mantenere la coerenza dei dati modificati. Esecuzione corretta Annullamento dell'aggiornamento consente di inviare i dati del modulo per modificare i dati del negozio senza
    data-deepl-translation/>attendere lo stato di verifica finale della modifica precedente.

    NOTE: I tentativi di recuperare il link del modulo per un sito che è attualmente in fase di verifica si concluderanno con un errore: SHOP_IN_VERIFICATION_STATUS.

    AnnullamentoAggiornamentoRichiesta

    	<xsd:element name="CancelUpdateReq">
    		<xsd:complexType>
    			<xsd:sequence>
    				<xsd:element name="ServiceID" type="xsd:int" minOccurs="0"/>
    				<xsd:element name="AcceptorID" type="xsd:int" minOccurs="0"/>
    				<xsd:element name="Header" type="tns:Header"/>
    			</xsd:sequence>
    		</xsd:complexType>
    	</xsd:element>
    
    Descrizione dei campi
    nome del campo tipo descrizione
    ID servizio int ID servizio.
    AcceptorID int ID commerciante.
    Intestazione intestazione Oggetto utilizzato per fornire dati di intestazione relativi alla sicurezza della comunicazione e alla correttezza dei dati trasmessi.

    AnnullamentoAggiornamentoResp

    	<xsd:element name="CancelUpdateResp">
    		<xsd:complexType>
    			<xsd:sequence>
    				<xsd:element name="Result" type="xsd:string"/>
    				<xsd:element name="ErrorStatus" type="xsd:string" nillable="true"/>
    			</xsd:sequence>
    		</xsd:complexType>
    	</xsd:element>
    
    Descrizione dei campi
    nome del campo tipo descrizione
    Risultato xsd:stringa OK - operazione completata con successo
    ERRORE - errore durante la modifica del servizio.
    Stato di errore xsd:stringa Quando si è verificato un ERRORE.

    Tipi di composito

    Tipo di messaggio per la trasmissione di dati di intestazione relativi alla sicurezza della comunicazione e alla correttezza dei dati trasmessi.

    	<xsd:complexType name="Header">
    		<xsd:sequence>
    			<xsd:element name="PlatformId" type="xsd:string"/>
    			<xsd:element name="MessageTime" type="xsd:date"/>
    			<xsd:element name="RequestId" type="xsd:long"/>
    			<xsd:element name="Hash" type="xsd:string"/>
    		</xsd:sequence>
    	</xsd:complexType>
    

    Descrizione dei campi del messaggio

    IMPORTANTE! L'ordine degli attributi per l'enumerazione Hash deve seguire la loro numerazione.

    Ordine di hash nome richiesto tipo descrizione
    1 ID piattaforma stringa L'identificativo univoco permanente della piattaforma assegnato dal sistema di pagamento online.
    3 MessaggioTempo dateTime Tempo di generazione del messaggio, i messaggi con un tempo impostato successivo a 5 minuti rispetto all'ora del server del Sistema di pagamento online saranno rifiutati. È buona norma impostare l'ora del messaggio now()-1min, nel caso in cui l'ora dei server non sia sincronizzata. Esempio: 2016-07-20T09:35:00.000 (messaggio generato il 2016-07-20 09:36:00).
    4 ID richiesta lungo L'identificativo univoco della richiesta all'interno della Piattaforma fornito dalla parte che ha avviato il messaggio in questione.
    n.d. Hash stringa{64} Il valore della funzione hash, utilizzata per autenticare il messaggio, è calcolato da una stringa contenente i campi incollati del messaggio (concatenazione di campi). Vengono concatenati solo i valori dei campi, senza i nomi dei parametri. L'ordine in cui i campi vengono concatenati segue l'ordine in cui compaiono nell'elenco dei parametri. Una chiave, condivisa tra il Sistema di piattaforma e il sistema di pagamento online, viene incollata alla fine della stringa di cui sopra. Dalla stringa risultante viene calcolato il valore della funzione di hash SHA256, che costituisce il valore del campo Hash del messaggio.
    Hash = SHA256(valori_messaggio + chiave condivisa)

    Indirizzo

    Questo tipo di messaggio viene utilizzato per trasmettere l'indirizzo dell'entità in questione.

    	<xsd:complexType name="Address">
    		<xsd:sequence>
    			<xsd:element name=”Address” type=”xsd:string/>
    			<xsd:element name=”PostalCode” type=”xsd:string/>
    			<xsd:element name=”City” type=”xsd:string/>
    			<xsd:element name=”Country” type=”xsd:string/>
    		</xsd:sequence>
    	</xsd:complexType>
    
    Descrizione dei campi del messaggio
    nome del campo richiesto tipo descrizione
    Indirizzo stringa Indirizzo.
    Codice postale stringa Codice postale.
    Città stringa Città.
    Paese stringa Paese.

    Tipo NIP

    Un tipo che descrive il numero TIN con un limite da 2 a 15 caratteri.

    	<xsd:simpleType name="NIPType">
    		<xsd:restriction base="xsd:string">
    			<xsd:minLength value="2"/>
    			<xsd:maxLength value="15"/>
    		</xsd:restriction>
    	</xsd:simpleType>
    

    Valuta

    Tipo che descrive la valuta.

    	<xsd:simpleType name="Currency">
    		<xsd:restriction base="xsd:string">
    			<xsd:enumeration value="PLN"/>
    			<xsd:enumeration value="EUR"/>
    			<xsd:enumeration value="USD"/>
    			<xsd:enumeration value="GBP"/>
    			<xsd:enumeration value="CZK"/>
    		</xsd:restriction>
    	</xsd:simpleType>
    

    ForeignTransferModeType

    Sistema di trasferimento del regolamento nel caso di un conto estero.

    	<xsd:simpleType name="ForeignTransferModeType">
    		<xsd:restriction base="xsd:string">
    			<xsd:enumeration value="SWIFT"/>
    			<xsd:enumeration value="SEPA"/>
    		</xsd:restriction>
    	</xsd:simpleType>
    

    Beneficiari

    L'oggetto è un elenco dei tipi di beneficiari reali del Partner.

    	<xsd:complexType name="Beneficials">
    		<xsd:sequence>
    			<xsd:element name="Beneficial" type="tns:Beneficial" minOccurs="0" maxOccurs="2"/>
    		</xsd:sequence>
    	</xsd:complexType>
    

    Vantaggioso

    L'oggetto contiene il tipo di beneficiario effettivo e un possibile elenco di beneficiari di quel tipo.

    	<xsd:complexType name="Beneficial">
    		<xsd:sequence>
    			<xsd:element name="BeneficialType" type="xsd:int"/>
    			<xsd:element name="BeneficialOwners" type="tns:BeneficialOwners" minOccurs="0" />
    		</xsd:sequence>
    	</xsd:complexType>
    
    Descrizione dei campi del messaggio
    nome del campo richiesto tipo descrizione
    Tipo di beneficio int Tipo di beneficiario:
    11 - AZIONISTA BENEFICIARIO - una persona fisica che detiene, direttamente o indirettamente, più del 25% delle azioni/voti.
    12 - BENEFICIARIO CONTROLLANTE - una persona fisica che esercita il controllo attraverso una società madre secondo le norme contabili.
    13 - AMMINISTRATORI BENEFICIARI - persone che ricoprono una posizione di vertice nella Società (consiglio di amministrazione o di sorveglianza)
    14 - PARTENARIATO BENEFICIARIO
    15 - ALTRO BENEFICIARIO - una persona che non è il beneficiario effettivo; esiste una persona fisica che esercita un'influenza o un controllo su di esso.
    16 - PROPRIETARIO BENEFICIARIO
    Proprietari Beneficiari NO Proprietari Beneficiari Elenco dei beneficiari di un tipo.

    Proprietari Beneficiari

    Il tipo descrive l'elenco dei beneficiari reali.

    	<xsd:complexType name="BeneficialOwners">
    		<xsd:sequence>
    			<xsd:element name="BeneficialOwner" type="tns:BeneficialOwner" minOccurs="0" maxOccurs="8"/>
    		</xsd:sequence>
    	</xsd:complexType>
    

    BeneficiarioProprietario

    Il tipo descrive i dati di un singolo titolare effettivo.

    	<xsd:complexType name="BeneficialOwner">
    		<xsd:sequence>
    			<xsd:element name="FirstName" type="xsd:string" nillable="false"/>
    			<xsd:element name="LastName" type="xsd:string" nillable="false"/>
    			<xsd:element name="Citizenship" type="xsd:string"/>
    			<xsd:element name="Share" type="xsd:int" minOccurs="0"/>
    		</xsd:sequence>
    	</xsd:complexType>
    
    Descrizione dei campi del messaggio
    nome del campo richiesto tipo descrizione
    Nome stringa Nome del beneficiario.
    Cognome stringa Nome del beneficiario.
    Cittadinanza stringa Nazionalità del beneficiario.
    Condividi NO int Il numero di azioni del beneficiario espresso in percentuale. La quota di partecipazione deve essere maggiore o uguale al 25[%]. La somma delle quote di tutti i beneficiari di un Partner non deve superare il 100[%]. Le quote di partecipazione sono definite solo per i beneficiari di tipo 11.

    Plenipotenziario

    Tipo di messaggio che descrive il proxy.

    	<xsd:complexType name="Plenipotentiary">
    		<xsd:sequence>
    			<xsd:element name="FirstName" type="xsd:string"/>
    			<xsd:element name="LastName" type="xsd:string"/>
    			<xsd:element name="Citizenship" type="xsd:string"/>
    			<xsd:element name="Pesel" type="xsd:string" minOccurs="0"/>
    			<xsd:element name="BirthDate" type="xsd:string" minOccurs="0"/>
    			<xsd:element name="BirthCountry" type="xsd:string" minOccurs="0"/>
    			<xsd:element name="DocumentType" type="xsd:string" minOccurs="0"/>
    			<xsd:element name="Document" type="xsd:string" minOccurs="0"/>
    			<xsd:element name="DocumentExpirationDate" type="xsd:string" minOccurs="0"/>
    			<xsd:element name="DocumentCountryId" type="xsd:string" minOccurs="0"/>
    		</xsd:sequence>
    	</xsd:complexType>
    
    Descrizione dei campi del messaggio
    nome del campo richiesto tipo descrizione
    Nome stringa Nome dell'avvocato.
    Cognome stringa Nome dell'avvocato.
    Cittadinanza stringa Nazionalità dell'avvocato.
    Pesel NO stringa Il peso dell'avvocato. Se non è disponibile il peso, è necessario indicare la data e il paese di nascita.
    Data di nascita NO stringa Data di nascita del delegato nel formato AAAA-mm-gg (es. 1990-01-01). Da fornire quando il pesel non è noto o il delegato non ha un numero di pesel.
    Paese di nascita NO stringa Stato di nascita del delegato.
    Tipo di documento stringa Tipo di documento. Valori accettabili: PASSAPORTO o ID.
    Documento stringa Numero del documento.
    Data di scadenza del documento stringa Data di scadenza del documento.
    PaeseDocumento stringa ID del paese del documento del beneficiario. Richiesto quando si specifica DocumentType=PASSPORT. CONSIGLIO: I valori accettabili sono indicati nella sezione Modifica della configurazione del servizio - "UPDATECONFIGURATION"

    Partner

    Il tipo descrive l'elenco degli associati.

    	<xsd:complexType name="Partners">
    		<xsd:sequence>
    			<xsd:element name="Partner" type="tns:Partner" minOccurs="0" maxOccurs="7"/>
    		</xsd:sequence>
    	</xsd:complexType>
    

    Partner

    Tipo di messaggio che descrive l'associato.

    	<xsd:complexType name="Partners">
    		<xsd:sequence>
    			<xsd:element name="FirstName" type="xsd:string"/>
    			<xsd:element name="LastName" type="xsd:string"/>
    			<xsd:element name="Citizenship" type="xsd:string"/>
    			<xsd:element name="Pesel" type="xsd:string" minOccurs="0"/>
    			<xsd:element name="BirthDate" type="xsd:string" minOccurs="0"/>
    			<xsd:element name="BirthCountry" type="xsd:string" minOccurs="0"/>
    			<xsd:element name="DocumentType" type="xsd:string" minOccurs="0"/>
    			<xsd:element name="Document" type="xsd:string" minOccurs="0"/>
    			<xsd:element name="DocumentExpirationDate" type="xsd:string" minOccurs="0"/>
    			<xsd:element name="DocumentCountryId" type="xsd:string" minOccurs="0"/>
    		</xsd:sequence>
    	</xsd:complexType>
    
    Descrizione dei campi del messaggio
    nome del campo richiesto tipo descrizione
    Nome stringa Nome del partner.
    Cognome stringa Nome del partner.
    Cittadinanza stringa Nazionalità del partner.
    Pesel NO stringa Il peso del partner. Se non è disponibile il peso, è necessario indicare la data e il paese di nascita.
    Data di nascita NO stringa Data di nascita del partner nel formato AAAA-mm-gg (ad es. 1990-01-01). Da fornire quando il pesel non è noto o il partner non ha un numero di pesel.
    Tipo di documento stringa Tipo di documento. Valori accettabili: PASSAPORTO o ID.
    Documento stringa Numero del documento. Richiesto per l'activitykind: CIVIL_PARTNERSHIP. Per le altre forme giuridiche, il campo non deve essere compilato.
    Data di scadenza del documento stringa Data di scadenza del documento.
    PaeseDocumento stringa ID del paese del documento del beneficiario. Richiesto quando si specifica DocumentType=PASSPORT. CONSIGLIO: I valori accettabili sono indicati nella sezione Modifica della configurazione del servizio - "UPDATECONFIGURATION"

    Servizio

    Tipo di messaggio che descrive il servizio partner.

    	<xsd:complexType name="Service">
    		<xsd:sequence>
    			<xsd:element name="Name" type="xsd:string" nillable="false"/>
    			<xsd:element name="ServiceUrl" type="xsd:string" nillable="false"/>
    			<xsd:element name="UrlITN" type="xsd:string" nillable="false"/>
    			<xsd:element name="ReturnUrl" type="xsd:string" nillable="false"/>
    			<xsd:element name="SettlementNRB" type="xsd:string" />
    			<xsd:element name="SwiftCode" type="xsd:string" minOccurs="0"/>
    			<xsd:element name="ForeignTransferMode" type="tns:ForeignTransferModeType" minOccurs="0"/>
    			<xsd:element name="CommissionModel" type="xsd:long" nillable="true"/>
    			<xsd:element name="isCardsPaymentRequired" type="xsd:boolean" minOccurs="0" />
    			<xsd:element name="AverageServiceTurnover" type="xsd:decimal" minOccurs="0" />
    			<xsd:element name="AverageTransactionAmount" type="xsd:decimal" minOccurs="0" />
    			<xsd:element name="EconomicPurpose" type="xsd:string" minOccurs="0" />
    			<xsd:element name="EconomicPurposeDescription" type="xsd:string" minOccurs="0" />
    			<xsd:element name="NumericTrade" type="xsd:int" minOccurs="0" />
    			<xsd:element name="InvoiceEmail" type="xsd:string" minOccurs="0" />
    			<xsd:element name="ContactEmail" type="xsd:string" minOccurs="0"/>
    			<xsd:element name="ComplaintEmail" type="xsd:string" minOccurs="0"/>
    			<xsd:element name="ReportEmail" type="xsd:string" minOccurs="0"/>
    			<xsd:element name="isTransactionRefundAllowed" type="xsd:boolean" minOccurs="0" />
    			<xsd:element name="Currency" type="tns:Currency" minOccurs="0"/>
    		</xsd:sequence>
    	</xsd:complexType>
    
    Descrizione dei campi del messaggio
    nome del campo richiesto tipo descrizione
    Nome stringa Nome del servizio partner.
    ServiceUrl stringa URL del sito del partner.
    UrlITN stringa L'URL a cui viene inviato un ITN con la notifica di una modifica dello stato di una transazione al ricevimento di tale informazione dal Canale di pagamento.
    URL di ritorno stringa URL della pagina di restituzione del pagamento.
    InsediamentoNRB stringa Numero di conto corrente bancario per il trasferimento dei fondi e la verifica tramite Bonifico di verifica.
    Codice Swift NO stringa Codice SWIFT. Richiesto se viene indicato un numero di conto diverso da quello polacco.
    Modalità di trasferimento estero NO ForeignTransferModeType Il sistema con cui verranno effettuati i trasferimenti di regolamento. Richiesto se viene indicato un numero di conto diverso da quello polacco.
    Modello di Commissione NO lungo Numero di modelli di commissione concordati durante l'integrazione.
    isCardsPaymentRequired NO booleano Informazioni sul fatto che il Partner desideri o meno fornire un'opzione di pagamento con carta per il Sito web. Il mancato invio dell'elemento o l'invio di un valore FALSE comporta la disattivazione delle carte. L'invio di TRUE avvia il processo di attivazione della carta o mantiene la disponibilità delle carte (nel caso in cui il processo di attivazione della carta per il Sito web sia stato completato con successo).
    Fatturato medio del servizio NO decimale(2) Fatturato medio del servizio. Si utilizza un punto come separatore decimale - ".". Formato: 0,00; lunghezza massima: 14 cifre prima del punto e 2 dopo il punto.
    Importo medio della transazione NO decimale(2) Valore medio delle transazioni. Un punto - '.' - viene utilizzato come separatore decimale. Formato: 0,00; lunghezza massima: 14 cifre prima del punto e 2 dopo il punto.
    Scopo economico stringa Il Partner dichiara di stipulare l'Accordo per il seguente scopo commerciale:
    ATTIVITA' DI SVILUPPO: sviluppo dell'attività del Partner attraverso l'accettazione di pagamenti da parte dei Clienti tramite gli Strumenti di Pagamento (PBL, Carta, Quick Transfer) di cui al Contratto,
    START_ACTIVITY: inizio dell'attività commerciale del Partner nell'ambito della realizzazione di vendite a distanza di Prodotti,
    ALTRO: descrizione dettagliata nel campo EconomicPurposeDescription
    Scopo economicoDescrizione NO stringa Descrizione della finalità economica da compilare per un campo EconomicPurpose con valore ALTRO.
    Sono consentite solo le lettere maiuscole dell'alfabeto latino e i caratteri dell'intervallo: êÓ󱶳¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿
    Commercio numerico int Il settore in cui è specializzato il Servizio partner. Campo a scelta singola. Se il Sito partner rientra in più di una categoria, selezionare quella principale che genera il fatturato più elevato.
    Dizionario dei valori:
    1 Alcool
    2 Oggetti d'antiquariato, opere d'arte
    3 Farmacie e integratori alimentari
    4 Forniture mediche
    5 Parafarmaci, integratori, erbe
    6 Prodotti alimentari
    7 Aste
    8 Biancheria intima
    9 Biglietti
    10 Gioielli e orologi
    11 Militaria
    12 Costruzione
    13 Carità
    14 Prodotti chimici per la casa e l'industria
    15 Devozionale
    16 Casa e giardino
    17 Bambino
    18 E-book (libri elettronici)
    19 Istruzione
    20 Elettronica
    21 Sigarette elettroniche
    22 Filatelia
    23 Finanza
    24 Fondazione
    25 gadget
    26 Galanteria
    27 Gastronomia
    28 Giochi online (non d'azzardo), loghi, suonerie per cellulari
    29 Istituzioni
    30 Carte prepagate/codici/telecard
    31 Raccolta
    32 Computer e attrezzature informatiche, stampanti
    33 Account web e di posta elettronica
    34 Cosmetici e profumi
    35 Libri, giornali, riviste
    36 Fiori e regali
    37 Forniture per ufficio
    38 Automotive
    39 Multimedia e musica
    40 Emissione di massa di fatture
    41 Numismatica
    42 Abbigliamento
    43 Annunci
    44 Software, giochi per computer e applicazioni
    45 Press/Subscription
    46 Conti
    47 Artigianato
    48 Settore pubblico
    49 Elettrodomestici bianchi/RTV
    50 Attrezzature fotografiche
    51 Attrezzature mediche
    52 Attrezzature sportive
    53 Formazione
    54 Turismo e ospitalità
    55 Assicurazione
    56 Servizi
    57 Servizi fotografici (stampe) e di stampa
    58 Servizi medici
    59 VOD
    60 Pesca
    61 Multi-industria
    62 Arredi interni, mobili
    63 Noleggio auto
    64 Prodotti del tabacco
    65 Giocattoli
    66 Zoologia
    FatturaEmail stringa Indirizzo e-mail per l'invio di fatture e rapporti mensili.
    ContattoEmail stringa Indirizzo e-mail del partner.
    ReclamoEmail stringa Indirizzo e-mail per i reclami.
    SegnalaEmail stringa Indirizzo e-mail per l'invio dei rapporti giornalieri.
    isTransactionRefundAllowed booleano Informazioni che indicano se il Partner desidera rendere disponibile al Servizio l'opzione di prelievo dal Conto di pagamento e di rimborso delle transazioni. Il mancato invio di un elemento o l'invio di un valore FALSO blocca questa opzione. L'invio di TRUE la rende disponibile per il Sito web.
    Valuta valuta Valuta del servizio.

    Azienda

    Tipo di messaggio per la trasmissione dei dati del Partner.

    	<xsd:complexType name="Company">
    		<xsd:sequence>
    			<xsd:element name="CompanyRemoteId" type="xsd:string"/>
    			<xsd:element name="Name" type="xsd:string"/>
    			<xsd:element name="Address" type="tns:Address"/>
    			<xsd:element name="Nip" type="tns:NIPType"/>
    			<xsd:element name="Krs" type="xsd:string"/>
    			<xsd:element name="Phone" type="xsd:string"/>
    			<xsd:element name="RepresentingPersonFirstName" type="xsd:string"/>
    			<xsd:element name="RepresentingPersonLastName" type="xsd:string"/>
    			<xsd:element name="RepresentingPersonPesel" type="xsd:string"/>
    			<xsd:element name="RepresentingPersonDateOfBirth" type="xsd:string"/>
    			<xsd:element name="RepresentingPersonBirthCountry" type="xsd:string" minOccurs="0"/>
    			<xsd:element name="RepresentingPersonCitizenship" type="xsd:string"/>
    			<xsd:element name="RepresentingPersonPersonalDocumentType" type="xsd:string"/>
    			<xsd:element name="RepresentingPersonPersonalDocument" type="xsd:string"/>
    			<xsd:element name="RepresentingPersonPersonalDocumentExpirationDate" type="xsd:string"/>
    			<xsd:element name="RepresentingPersonPersonalDocumentCountryId" type="xsd:string" minOccurs="0"/>
    			<xsd:element name="Service" type="tns:Service"/>
    			<xsd:element name="ActivityKind" type="xsd:string"/>
    			<xsd:element name="LegalForm" type="xsd:string" minOccurs="0"/>
    			<xsd:element name="PanelAdministrator" type="xsd:string" minOccurs="0" />
    			<xsd:element name="isListedOnTheStockExchange" type="tns:BooleanType" />
    			<xsd:element name="Beneficials" type="tns:Beneficials" minOccurs="0" />
    			<xsd:element name="TradeRegisterName" type="xsd:string" minOccurs="0"/>
    			<xsd:element name="RegistrationDate" type="xsd:string" minOccurs="0"/>
    			<xsd:element name="Plenipotentiary" type="tns:Plenipotentiary" minOccurs="0"/>
    			<xsd:element name="Partners" type="tns:Partners" minOccurs="0" />
    			<xsd:element name="PhysicalPerson" type="tns:PhysicalPerson" minOccurs="0"/>
    		</xsd:sequence>
    	</xsd:complexType>
    
    Descrizione dei campi del messaggio
    nome del campo richiesto tipo descrizione
    IDSocietàRemoto stringa ID che rappresenta il partner.
    Nome stringa Nome completo del partner. Nome dell'esercente.
    Non consentito per ActivityKind=NON_ACCOUNTED_ACTIVITY.
    Indirizzo indirizzo L'indirizzo presso il quale sono registrate le attività commerciali del Partner (la registrazione è possibile solo da paesi appartenenti al SEE).
    Non consentito per ActivityKind=NON_ACCOUNTED_ACTIVITY.
    Nip Tipo NIP Partner NIP.
    Non consentito per ActivityKind=NON_ACCOUNTED_ACTIVITY.
    Krs stringa Partner KRS.
    Richiesto per ActivityKind=GENERAL_PARTNERSHIP, LIMITED_LIABILITY_PARTNERSHIP, LIMITED_JOINT_STOCK_PARTNERSHIP, SP_ZOO, SA, SOCIETY, FOUNDATION, COOPERATIVE, CHURCH.
    Telefono stringa Telefono di contatto del partner.
    RappresentarePersonaNomeCognome stringa Nome della persona che rappresenta il Partner.
    Non consentito per ActivityKind=NON_ACCOUNTED_ACTIVITY.
    RappresentarePersonLastName stringa Nome della persona che rappresenta il Partner.
    Non consentito per ActivityKind=NON_ACCOUNTED_ACTIVITY.
    RappresentantePersonaPesello NO stringa PESEL della persona che rappresenta il socio.
    Non consentito per ActivityKind=NON_ACCOUNTED_ACTIVITY.
    RappresentarePersonaDataDellaNascita NO stringa Data di nascita della persona che rappresenta il Partner nel formato AAAA-mm-gg (ad es. 1990-01-01).
    Non consentito per ActivityKind=NON_ACCOUNTED_ACTIVITY.
    Richiesto quando il rappresentante non ha un numero PESEL.
    RappresentantePersonaPaese di nascita NO stringa Paese di nascita.
    Non consentito per ActivityKind=NON_ACCOUNTED_ACTIVITY.
    Richiesto quando il rappresentante non ha un numero PESEL.
    RappresentantePersonaCittadinanza stringa Nazionalità.
    Non consentito per ActivityKind=NON_ACCOUNTED_ACTIVITY.
    RappresentarePersonaTipoDocumentoPersonale stringa Tipo di prova dell'identità della persona che rappresenta il Partner.
    Valori accettabili:
    PASSAPORTO - passaporto
    ID - carta d'identità
    Non consentito per ActivityKind=NON_ACCOUNTED_ACTIVITY, GENERAL_PARTNERSHIP, LIMITED_LIABILITY_PARTNERSHIP, LIMITED_JOINT_STOCK_PARTNERSHIP, SP_ZOO, SA, SOCIETY, FOUNDATION, COOPERATIVE, GOVERNO, UNITÀ AUTOGOVERNATIVA, AUTOGOVERNATIVA, ISTITUZIONE CULTURALE, IMPRESA STATALE, ISTITUZIONE CULTURALE STATALE, ISTITUZIONE DEL SETTORE PUBBLICO, ISTITUZIONE DI RICERCA, CHIESA, ESTERO
    RappresentantePersonaDocumento personale stringa La serie e il numero della carta d'identità (o il numero del passaporto - un documento che prova l'identità di una persona senza carta d'identità).
    Non consentito per ActivityKind=NON_ACCOUNTED_ACTIVITY, GENERAL_PARTNERSHIP, LIMITED_LIABILITY_PARTNERSHIP, LIMITED_JOINT_STOCK_PARTNERSHIP, SP_ZOO, SA, SOCIETY, FOUNDATION, COOPERATIVE, GOVERNO, UNITÀ AUTOGOVERNATIVA, AUTOGOVERNATIVA, ISTITUZIONE CULTURALE, IMPRESA STATALE, ISTITUZIONE CULTURALE STATALE, ISTITUZIONE PUBBLICA, ISTITUZIONE DI RICERCA, CHIESA, ESTERO.
    Sono ammessi solo numeri e lettere maiuscole dell'alfabeto latino.
    RappresentanteDocumento personaleData di scadenza stringa Data di scadenza del documento d'identità (carta d'identità o passaporto).
    Non consentito per ActivityKind=NON_ACCOUNTED_ACTIVITY, GENERAL_PARTNERSHIP, LIMITED_LIABILITY_PARTNERSHIP, LIMITED_JOINT_STOCK_PARTNERSHIP, SP_ZOO, SA, SOCIETY, FOUNDATION, COOPERATIVE, GOVERNO, UNITÀ AUTOGOVERNATIVA, AUTOGOVERNATIVA, ISTITUZIONE CULTURALE, IMPRESA STATALE, ISTITUZIONE CULTURALE STATALE, ISTITUZIONE PUBBLICA, ISTITUZIONE DI RICERCA, CHIESA, ESTERO.
    Il documento deve essere valido per almeno un giorno.
    Richiesto per le forme giuridiche: SOCIETÀ_CIVILE, DITTA INDIVIDUALE.
    RappresentantePersonaleDocumentoPersonaleCountryId stringa ID del paese del documento.
    Non consentito per ActivityKind=NON_ACCOUNTED_ACTIVITY, GENERAL_PARTNERSHIP, LIMITED_LIABILITY_PARTNERSHIP, LIMITED_JOINT_STOCK_PARTNERSHIP, SP_ZOO, SA, SOCIETY, FOUNDATION, COOPERATIVE, GOVERNO, UNITÀ AUTOGOVERNATIVA, AUTOGOVERNATIVA, ISTITUZIONE CULTURALE, IMPRESA STATALE, ISTITUZIONE CULTURALE STATALE, ISTITUZIONE PUBBLICA, ISTITUZIONE DI RICERCA, CHIESA, ESTERO.
    Richiesto per le forme giuridiche: SOCIETÀ_CIVILE, DITTA INDIVIDUALE.
    Servizio Servizio Servizio partner.
    Forma giuridica stringa Nome della forma giuridica straniera. Da compilare per ActivityKind = FOREIGN.
    Tipo di attività stringa Forma giuridica. Di seguito sono riportati i valori accettabili. L'integratore deve presentare la forma giuridica al Partner in base alla versione linguistica della piattaforma:
    NON_ACCOUNTED_ACTIVITY - Attività non costituita in società di una persona fisica
    PROPRIETÀ - Impresa individuale
    CIVIL_PARTNERSHIP - Unione civile
    LIMITED_LIABILITY_PARTNERSHIP - Società di persone
    GENERAL_PARTNERSHIP - Società in nome collettivo
    SP_ZOO - Società a responsabilità limitata
    SA - Società per azioni
    LIMITED_PARTNERSHIP - Società in accomandita semplice
    LIMITED_JOINT_STOCK_PARTNERSHIP - Società in accomandita per azioni
    SOCIETÀ - Associazione
    FONDAZIONE
    COOPERATIVA - Cooperativa
    GOVERNO - Un'autorità governativa, un'autorità locale o un'agenzia di controllo.
    (comuni, autorità)
    SELF_GOVERNMENTAL_UNIT - Unità amministrativa locale
    SELF_GOVERNMENTAL_CULTURAL_INSTITUTION - Istituzione culturale dell'amministrazione locale
    STATE_OWNED_ENTERPRISE - Impresa di proprietà dello Stato
    STATE_CULTURAL_INSTITUTION - Istituzione culturale statale
    PUBLIC_SECTOR_INSTITUTION - autorità di bilancio
    RESEARCH_INSTITUTION - Istituto di ricerca
    CHIESA - Chiesa
    ESTERO - Imprenditore straniero.
    Amministratore del pannello NO stringa Nome dell'amministratore del pannello del Sistema di pagamento online.
    è quotato in borsa booleano Informazioni sul fatto che il Partner gestisce una società i cui titoli sono quotati in borsa in almeno uno Stato membro dell'Unione Europea o equivalente.
    Richiesto per ActivityKind = FOREIGN.
    Beneficiari Beneficiari Beneficiari.
    Non consentito per ActivityKind=GOVERNMENT, SELF_GOVERNMENTAL_UNIT, SELF_GOVERNMENTAL_CULTURAL_INSTITUTION, STATE_OWNED_ENTERPRISE,STATE_CULTURAL_INSTITUTION, PUBLIC_SECTOR_INSTITUTION, RESEARCH_INSTITUTION, CIVIL_PARTNERSHIP
    Nome del registro commerciale NO stringa Nome del registro commerciale.
    Data di registrazione NO stringa Data di registrazione della società.
    Plenipotenziario NO Plenipotenziario Delega.
    Partner NO - Elenco dei partner.
    Richiesto per il tipo di attività= IMPRESA CIVILE, IMPRESA GENERALE, IMPRESA A RESPONSABILITÀ LIMITATA, IMPRESA A RESPONSABILITÀ LIMITATA, IMPRESA A RESPONSABILITÀ LIMITATA, IMPRESA A RESPONSABILITÀ LIMITATA
    Persona fisica NO Persona fisica Individuale.
    Richiesto per ActivityKind=NON_ACCOUNTED_ACTIVITY

    Persona fisica

    Tipo di messaggio utilizzato per trasferire i dati di un individuo. Da compilare quando ActivityKind = NON_ACCOUNTED_ACTIVITY.

    	<xsd:complexType name="PhysicalPerson">
    		<xsd:sequence>
    			<xsd:element name="FirstName" type="xsd:string"/>
    			<xsd:element name="LastName" type="xsd:string"/>
    			<xsd:element name="Pesel" type="xsd:string"/>
    			<xsd:element name="DocumentType" type="xsd:string" minOccurs="0"/>
    			<xsd:element name="Document" type="xsd:string"/>
    			<xsd:element name="DocumentExpirationDate" type="xsd:string"/>
    			<xsd:element name="DocumentCountryId" type="xsd:string" minOccurs="0"/>
    			<xsd:element name="Citizenship" type="xsd:string"/>
    			<xsd:element name="BirthDate" type="xsd:string" minOccurs="0"/>
    			<xsd:element name="BirthCountry" type="xsd:string" minOccurs="0"/>
    		</xsd:sequence>
    	</xsd:complexType>
    
    Descrizione dei campi del messaggio
    nome del campo richiesto tipo descrizione
    Nome stringa Nome dell'individuo.
    Cognome stringa Nome della persona.
    Pesel NO stringa PESEL della persona fisica. In assenza di pesel, è necessario indicare la data e il paese di nascita.
    Tipo di documento stringa Tipo di documento. Valori accettabili:
    PASSAPORTO
    ID
    Documento stringa Numero del documento.
    Data di scadenza del documento stringa Data di scadenza del documento.
    PaeseDocumento stringa ID dello stato del documento dell'individuo. Richiesto per DocumentType=PASSPORT.
    Cittadinanza stringa Nazionalità dell'individuo.
    Data di nascita NO stringa Data di nascita di un individuo nel formato AAAA-mm-gg (es. 1990-01-01). Da indicare quando il PESEL non è noto o il beneficiario non ha un numero PESEL.
    Paese di nascita NO stringa Stato di nascita dell'individuo.

    Regole per la verifica dei dati dei beneficiari sul modulo

    La verifica dei dati riportati sul modulo si basa principalmente sulla forma giuridica dell'azienda. In base ad essa, sono previste le tipologie di beneficiari, le loro reciproche esclusioni e il numero massimo di occorrenze di per ogni tipologia.

    Il tipo di beneficiario viene definito nel modulo spuntando dal cliente con la dichiarazione appropriata.

    Forma giuridica Dichiarazione Tipo di beneficiario Numero massimo di presenze per modulo
    NON_ACCOUNTED_ACTIVITY - Attività non costituita in società di una persona fisica Sono il beneficiario effettivo - non c'è nessun'altra persona fisica che eserciti un'influenza o un controllo su di me
    NOTE: Il cliente compila i dati del beneficiario solo se è spuntata l'indicazione per il tipo ALTRO BENEFICIARIO.
    PROPRIETARIO BENEFICIARIO 0
    Non sono il beneficiario effettivo - c'è un individuo che esercita un'influenza o un controllo su di me. ALTRO BENEFICIARIO 1
    PROPRIETÀ - Impresa individuale Sono il beneficiario effettivo - non c'è nessun'altra persona fisica che eserciti un'influenza o un controllo su di me
    NOTE: Il cliente compila i dati del beneficiario solo se è spuntata l'indicazione per il tipo ALTRO BENEFICIARIO.
    PROPRIETARIO BENEFICIARIO 0
    Non sono il beneficiario effettivo - c'è un individuo che esercita un'influenza o un controllo su di me. ALTRO BENEFICIARIO 1
    CIVIL_PARTNERSHIP - Unione civile Sono il beneficiario effettivo - non c'è nessun'altra persona fisica che eserciti un'influenza o un controllo su di me
    NOTE: Il cliente compila i dati del beneficiario solo se è spuntata l'indicazione per il tipo ALTRO BENEFICIARIO.
    PROPRIETARIO BENEFICIARIO 0
    Non sono il beneficiario effettivo - c'è un individuo che esercita un'influenza o un controllo su di me. ALTRO BENEFICIARIO 8
    GENERAL_PARTNERSHIP - Società in nome collettivo I beneficiari effettivi sono i soci della Società.
    NOTE: Il cliente compila i dati del beneficiario solo se è spuntata l'indicazione per il tipo ALTRO BENEFICIARIO.
    PARTNER BENEFICIARIO 0
    Esiste una persona fisica, diversa dagli azionisti, che esercita un'influenza o un controllo sulla Società. ALTRO BENEFICIARIO 8
    LIMITED_LIABILITY_PARTNERSHIP - Società di persone CONSIGLIO: Regole per la verifica dei dati del beneficiario analoghe a GENERAL_PARTNERSHIP.
    LIMITED_PARTNERSHIP - Società in accomandita semplice CONSIGLIO: Regole per la verifica dei dati del beneficiario analoghe a GENERAL_PARTNERSHIP.
    LIMITED_JOINT_STOCK_PARTNERSHIP - Società in accomandita per azioni C'è una persona fisica che detiene, direttamente o indirettamente, più del 25% delle azioni/voti
    NOTE: Il cliente inserisce i dati del beneficiario solo se è spuntata l'indicazione del tipo BENEFICIARIO.
    AZIONISTA BENEFICIARIO 3
    Nessuna persona fisica detiene, direttamente o indirettamente, più del 25% delle azioni/voti. PARTNER BENEFICIARIO 0
    SP_ZOO - Società a responsabilità limitata C'è una persona fisica che detiene, direttamente o indirettamente, più del 25% delle azioni/voti
    NOTE: Il tipo BENEFICIARIO AMMINISTRATORE non può coesistere con altri tipi di beneficiari. Le tipologie BENEFICIARIO AZIONISTA e BENEFICIARIO DI CONTROLLO possono coesistere, pertanto il cliente può barrare sul modulo entrambe le diciture corrispondenti a queste tipologie.
    AZIONISTA BENEFICIARIO 3
    Esiste un soggetto che esercita il controllo attraverso la società madre in base alle norme contabili. CONTROLLO DEL BENEFICIARIO 8
    Persone che ricoprono una posizione di alta dirigenza nella Società (direzione o consiglio di sorveglianza) GESTIONE DEI BENEFICIARI 8
    SA - Società per azioni CONSIGLIO: Regole di verifica dei dati del beneficiario analoghe a SP_ZOO.
    SOCIETÀ - Associazione Il vero beneficiario è la gestione dell'associazione.
    NOTE: Nella comunicazione può comparire un solo tipo di beneficiario: BENEFICIARIO DIRETTO o ALTRO BENEFICIARIO.
    Queste tipologie si escludono a vicenda.
    GESTIONE DEI BENEFICIARI 8
    Esiste una persona fisica, diversa dal consiglio direttivo dell'associazione, che esercita un'influenza o un controllo sull'associazione stessa. BENEFICIARIO ALTRO 2
    FONDAZIONE Il vero beneficiario è la gestione dell'associazione.
    NOTE: Il cliente può spuntare solo una delle dichiarazioni presenti nel modulo.
    I tipi corrispondenti si escludono a vicenda.
    GESTIONE DEI BENEFICIARI 8
    Esiste una persona fisica, diversa dal consiglio di amministrazione dell'associazione, che esercita un'influenza o un controllo sulla fondazione. BENEFICIARIO ALTRO 2
    COOPERATIVA - Cooperativa Il beneficiario effettivo è il consiglio di amministrazione della cooperativa.
    NOTE: Il cliente può spuntare solo una delle dichiarazioni presenti nel modulo.
    I tipi corrispondenti si escludono a vicenda.
    GESTIONE DEI BENEFICIARI 8
    Esiste una persona fisica, diversa dal consiglio di amministrazione della cooperativa, che esercita un'influenza o un controllo sulla cooperativa stessa. BENEFICIARIO ALTRO 2
    GOVERNO - Un'autorità governativa, un'autorità locale o un'autorità esecutiva (comuni, uffici). CONSIGLIO: Non vengono raccolte informazioni sui beneficiari.
    SELF_GOVERNMENTAL_UNIT - Unità governativa locale CONSIGLIO: Non vengono raccolte informazioni sui beneficiari.
    SELF_GOVERNMENTAL_CULTURAL_INSTITUTION - Istituzione culturale dell'amministrazione locale CONSIGLIO: Non vengono raccolte informazioni sui beneficiari.
    STATE_OWNED_ENTERPRISE - Impresa di proprietà dello Stato CONSIGLIO: Non vengono raccolte informazioni sui beneficiari.
    STATE_CULTURAL_INSTITUTION - Istituzione culturale statale CONSIGLIO: Non vengono raccolte informazioni sui beneficiari.
    PUBLIC_SECTOR_INSTITUTION - autorità di bilancio CONSIGLIO: Non vengono raccolte informazioni sui beneficiari.
    RESEARCH_INSTITUTION - Istituto di ricerca CONSIGLIO: Non vengono raccolte informazioni sui beneficiari.
    CHIESA - Entità giuridica della chiesa o sua unità organizzativa Il beneficiario è l'organo della persona giuridica (ad esempio, per una parrocchia il vero beneficiario è il parroco).
    NOTE: Il cliente può spuntare solo una delle dichiarazioni presenti nel modulo.
    I tipi corrispondenti si escludono a vicenda.
    GESTIONE DEI BENEFICIARI 8
    Esiste un'altra persona fisica, diversa da un organo dell'entità giuridica ecclesiastica, che esercita un'influenza o un controllo su di essa BENEFICIARIO ALTRO 2
    ESTERO - Imprenditore straniero C'è una persona fisica che detiene, direttamente o indirettamente, più del 25% delle azioni/voti
    NOTE: Il cliente può spuntare solo una delle dichiarazioni presenti nel modulo.
    I tipi corrispondenti si escludono a vicenda.
    AZIONISTA BENEFICIARIO 2
    Esiste una persona fisica che esercita il controllo attraverso la società madre in base alle norme contabili. CONTROLLO DEL BENEFICIARIO 8
    Persone che ricoprono una posizione di alta dirigenza nella società (direzione o consiglio di sorveglianza) GESTIONE DEI BENEFICIARI 8

    Elenco dei parametri per un trasferimento di crediti di verifica

    Il Partner che crea un nuovo conto nel Sistema è tenuto a eseguire un Trasferimento di verifica. Dopo la sua esecuzione, l'AP effettua una valutazione dell'affidabilità del Partner, della correttezza dei suoi dati e della valutazione antiriciclaggio.

    Quando il Partner aggiorna i dati, AP si aspetta che venga eseguito un Trasferimento di verifica, solo per i dati sensibili e chiave.

    Elenco dei parametri per i quali la registrazione o la modifica dei dati del servizio genererà un link al Trasferimento di verifica.

    Nome del campo

    • Nome
    • Indirizzo
    • Email
    • Nip
    • Krs
    • Tipo di attività
    • ServiceUrl
    • InsediamentoNRB
    • Commercio numerico
    • Nome del registro commerciale
    • Data di registrazione
    • Codice Swift
    • Nome
    • Cognome
    • Pesel
    • Tipo di documento
    • Documento
    • Data di scadenza del documento
    • PaeseDocumento
    • Cittadinanza
    • Data di nascita
    • Paese di nascita

    NOTE: ServiceUrl è trattato come lo stesso se:
    a. si differenzia solo per il protocollo (http/https)
    b. nel corso dell'integrazione con il Partner, è stata confermata la migrazione dell'indirizzo del sito web da/verso il sottodominio CMS dell'integratore (ad es. przykladowastrona.integrator.pl = przykladowastrona.pl)
    c. il componente "www" dell'indirizzo del negozio è stato omesso o aggiunto (ad es. przykladowastrona.pl = www. przykladowastrona.pl)

    NOTE: TIN, KRS e forma giuridica sono dati che non possono essere modificati. Se questi dati devono essere modificati, è necessario registrare nuovamente il servizio
    .

    Il link al Trasferimento di verifica e tutte le sue notifiche ITN, includono il ServiceID e l'OrderID dedicati costruiti secondo lo schema menzionato durante l'integrazione:

    OrderID = ActivationServiceID_UID
    

    Dove:

    • AttivazioneServizioID - è il valore ServiceID del servizio verificato
    • UID - è una stringa che garantisce l'unicità del Trasferimento di verifica di un determinato Servizio.
    • Tutte le comunicazioni (inizio e ritorno della transazione di verifica, nonché tutte le sue notifiche ITN, che forniscono informazioni sullo stato di avanzamento del processo di verifica) sono firmate con la chiave condivisa per il servizio Trasferimento di verifica (anch'essa menzionata durante l'integrazione).

    CONSIGLIO: I parametri ITN dedicati al processo di verifica sono descritti nella sezione Campi aggiuntivi nel messaggio ITN/IPN della transazione in entrata. In particolare, i campi di verificaStato e motivi della verifica.

    CONSIGLIO: Le possibili transizioni degli stati di pagamento, le verifiche e i relativi dettagli sono inclusi nelle sezioni: Descrizione dettagliata della modifica dello stato di verifica - per una transazione completata correttamente (risultato positivo o negativo), Descrizione dettagliata della modifica dello stato di verifica - per una transazione non completata correttamente.

    Registrazione e gestione dei punti di regolamento tra l'AP e la piattaforma del mercato dei partner.

    Descrizione del funzionamento del servizio di registrazione automatica e di punti di regolamento

    Questo documento descrive le regole relative allo scambio di messaggi tra l'AP e la piattaforma Marketplace del partner nell'ambito della funzionalità di aggiunta dei punti di regolamento (tecnologia REST).

    L'Affiliato deve fornire un pulsante sulla sua Piattaforma di mercato, il cui clic da parte del Cliente attiverà un metodo nel sistema AP che genera un link effettivo a un modulo che consente la registrazione di un Punto di regolamento.

    Al ricevimento del suddetto link, la Piattaforma Marketplace dovrebbe eseguire un reindirizzamento automatico al modulo presente in questo link.

    La compilazione e l'invio dei dati del Negozio da parte del Cliente comporterà la registrazione del Punto di fatturazione nel sistema AP e la restituzione di una pagina di ringraziamento e di un link di verifica online per verificare la correttezza dei dati inseriti. Il link di verifica viene inviato anche all'indirizzo e-mail indicato dal Cliente nel modulo.

    Una volta che il Cliente ha effettuato il pagamento di verifica e l'AP ha ricevuto i dati necessari dal Canale di pagamento, il Punto di regolamento riceve uno stato di verifica finale. Il suo valore positivo determina l'attivazione del Punto di Regolamento e la disponibilità a effettuare pagamenti con esso, e verrà inviato un messaggio al Cliente con i termini e le condizioni da lui accettati nel modulo di registrazione.

    IMPORTANTE! La versione di produzione del servizio si trova dietro il firewall. L'accesso ad esso è assegnato a un pool di IP finito e definito durante l'integrazione. Questo non vale per l'ambiente di test.

    IMPORTANTE! Un ID di piattaforma (MarketplaceID) e una chiave condivisa per il servizio di registrazione sono forniti per una piattaforma Marketplace per ambiente (test/produzione).

    IMPORTANTE! Non è consentito rendere disponibili i dati di autorizzazione per il servizio, ovvero MarketplaceID e chiave condivisa, in qualsiasi forma (anche nel codice di un'applicazione in esecuzione su un server di terzi).

    Dati da scambiare durante l'integrazione dei servizi del Punto di fatturazione

    Dati scambiati nell'ambiente di test

    Dati Comunicata dall'AP al Partner Comunicata dal Partner all'AP
    Indirizzo REST
    MercatoID
    Metodo : collegamento
    ServiceID (per il servizio Verifica trasferimento crediti)
    Chiave condivisa per il servizio di registrazione del punto di insediamento
    Chiave condivisa per il servizio Verifica trasferimento crediti
    Meccanismo di funzione di scelta rapida
    Indirizzo del modulo di prova
    Indirizzo IP da cui vengono inviati gli ITN che informano sullo stato di verifica del punto di regolamento.
    Indirizzo del pannello di amministrazione del partner (facoltativo)
    Accesso
    Password
    Indirizzo ITN dopo il trasferimento di verifica
    Indirizzo di ritorno dopo il trasferimento di verifica

    Dati trasferiti in un ambiente di produzione

    Dati Comunicata dall'AP al Partner Comunicata dal Partner all'AP
    Indirizzo REST
    MercatoID
    Metodo : collegamento
    ServiceID (per il servizio Verifica trasferimento crediti)
    Chiave condivisa per il servizio di registrazione del punto di insediamento
    Chiave condivisa per il servizio Verifica trasferimento crediti
    Meccanismo di funzione di scelta rapida
    Indirizzo IP da cui vengono inviati gli ITN che informano sullo stato di verifica del punto di regolamento.
    Indirizzo del pannello di amministrazione del partner (facoltativo)
    Accesso
    Password
    Indirizzo IP dal quale viene effettuata la connessione al WS
    Indirizzo ITN dopo il trasferimento di verifica
    Indirizzo di ritorno dopo il trasferimento di verifica

    Procedura per l'aggiunta di punti di regolamento

    Descrizione del processo

    Lo scambio di messaggi tra l'AP e il servizio partner che implementa la funzionalità di aggiunta dei punti di regolamento avviene tramite la tecnologia REST. Tutti i parametri dei messaggi vengono passati con il metodo POST. Il protocollo è sensibile alle maiuscole e minuscole, sia per i nomi che per i valori dei parametri. I valori dei parametri trasmessi devono essere codificati in UTF-8.

    Scarica il link attivo al modulo di registrazione

    Dopo che il cliente ha cliccato sul pulsante di registrazione sulla piattaforma Marketplace, il seguente indirizzo verrà inviato a https://adres_usługi/api/marketplace/link deve essere inviata una richiesta per il link corrente al modulo di registrazione. Il messaggio deve essere inviato con l'intestazione Content-Type: application/json e i parametri indicati nella tabella seguente:

    Descrizione dei campi del messaggio

    IMPORTANTE! L'ordine degli attributi per l'enumerazione Hash deve seguire la loro numerazione.

    Ordine di hash nome richiesto tipo descrizione
    1 mercatoID stringa Un identificativo unico permanente del Marketplace assegnato dal Sistema di pagamento online.
    2 messaggioID stringa{32} Identificatore pseudocasuale del messaggio con una lunghezza di 32 caratteri alfanumerici latini (ad esempio, basato sull'UID).
    Il valore del campo deve essere unico per ogni richiesta di collegamento al modulo.
    n.d. hash stringa{64} Il valore della funzione hash, utilizzata per autenticare il messaggio, è calcolato da una stringa contenente i campi incollati del messaggio (concatenazione di campi). Vengono concatenati solo i valori dei campi, senza i nomi dei parametri. L'ordine in cui i campi sono concatenati segue l'ordine in cui appaiono nell'elenco dei parametri. I parametri nella stringa sono separati tra loro dal carattere "|". Alla stringa così creata viene incollata alla fine la chiave passata durante l'integrazione. La stringa risultante viene utilizzata per calcolare il valore della funzione di hash SHA256 e costituisce il valore del campo Hash del messaggio.
    Hash=SHA256(valori_messaggio + chiave condivisa)

    Esempio di calcolo dell'hash per il seguente messaggio:

    	{
    	"marketplaceID":1,
    	"messageID":"12345678901234567890123456789000",
    	"hash":"wartosc_hash"
    	}
    

    dove

    Hash=SHA256(1|12345678901234567890123456789000|klucz_wspoldzielony) = wartosc_hash
    
    Risposta alla richiesta

    In risposta alla richiesta di cui sopra, viene restituito un messaggio (nella stessa sessione HTTP) contenente un link al modulo o, in caso di errore, la sua descrizione insieme all'indicazione del campo interessato.

    IMPORTANTE! L'ordine degli attributi per l'enumerazione Hash deve seguire la loro numerazione
    .

    Ordine di hash nome tipo descrizione
    1 link stringa Link generato al modulo di registrazione.
    2 messaggioID stringa{32} Identificatore pseudocasuale del messaggio. Il suo valore corrisponde al valore ricevuto nel messaggio inviato dalla piattaforma Marketplace.
    n.d. hash stringa{64} Il valore della funzione hash, utilizzata per autenticare il messaggio, è calcolato da una stringa contenente i campi incollati del messaggio (concatenazione di campi). Vengono concatenati solo i valori dei campi, senza i nomi dei parametri. L'ordine in cui i campi vengono concatenati segue l'ordine in cui compaiono nell'elenco dei parametri. Una chiave, condivisa tra il Sistema di piattaforma e il sistema di pagamento online, viene incollata alla fine della stringa di cui sopra. Dalla stringa risultante viene calcolato il valore della funzione di hash SHA256, che costituisce il valore del campo Hash del messaggio.
    Hash = SHA256(valori_messaggio + chiave condivisa)
    n.d. errori - Un elenco di errori nel messaggio inviato dalla piattaforma Marketplace.
    n.d. errori -> campo stringa Nome del campo interessato dall'errore.
    n.d. errori -> errore stringa Descrizione del bug.

    NOTE: Quando la piattaforma Marketplace riceve un link al modulo
    , deve essere eseguito un reindirizzamento automatico al modulo.

    NOTE: Ogni tentativo di registrazione deve essere preceduto dal download del link al modulo.

    NOTE: Il link al modulo è attivo di default per 24 ore (il valore può essere modificato su richiesta del Partner) dopo la sua generazione.

    Esempi di messaggi scambiati quando si scarica un link a un modulo

    (a) Richiesta elaborata correttamente.

    RICHIESTA

    	{
    	"marketplaceID":1,
    	"messageID":"12345678901234567890123456789000",
    	"hash":"437c941b5c88b9d0bfa58a1d073d724f55cfed794c1cf9648ba2340c3dcc803f"
    	}
    

    RISPOSTA

    	{
    	"link": "https://adres_usługi/marketplace/ee0e88d81c11b110c1a35a740996453d745dcde0be449686be6ec0777a02be5d",
    	"messageID": "12345678901234567890123456789000",
    	"hash": "d01e20cc8ab2c3fbe907e805329d915a20058e96f1d6d91a863361444cbd6379"
    	}
    

    (b) MessageID è già stato utilizzato, non è unico.

    RICHIESTA

    	{
    	"marketplaceID":1,
    	"messageID":"12345678901234567890123456789012",
    	"hash":"e43ff5f4b3121d1fd267bd66aaf446b079c28292f2a966e23eb1e8a8c0aaf81a"
    	}
    

    RISPOSTA

    	{
    		"errors": [
    			{
    				"field": "messageID",
    				"error": "messageId not unique"
    			}
    		]
    	}
    

    (c) Il MessageID univoco deve essere di 32 caratteri.

    RICHIESTA

    	{
    	"marketplaceID":1,
    	"messageID":"1234567890123456789012345678900022222",
    	"hash":"dc8d14b5e3491a700e7f2479f8c196cc0db76f41b2b2ffac1f042a6cad1e5914"
    	}
    

    RISPOSTA

    	{
    		"errors": [
    			{
    				"field": "messageID",
    				"error": "size must be between 32 and 32"
    			}
    		]
    	}
    

    (d) L'hash specificato non è corretto.

    RICHIESTA

    	{
    	"marketplaceID":1,
    	"messageID":"12345678901234567890123456789001",
    	"hash":"dc8d14b5e3491a700e7f2479f8c196cc0db76f41b2b2ffac1f042a6cad1eaaaa"
    	}
    

    RISPOSTA

    	{
    		"errors": [
    			{
    				"field": "hash",
    				"error": "Invalid hash"
    			}
    		]
    	}
    

    Estensioni aggiuntive

    Modelli alternativi di avvio delle transazioni

    Preautorizzazione della carta

    Descrizione generale del funzionamento del servizio di preautorizzazione delle carte di credito

    Il supporto per la preautorizzazione della carta fornisce la funzionalità di bloccare i fondi sulla carta del cliente per un certo periodo di tempo (ad esempio, predeterminato durante la creazione del blocco) e poi effettuare un addebito. Un caso particolare è quello in cui il blocco viene rimosso senza che venga detratto alcun importo (ad esempio, il servizio al cliente non è stato eseguito).

    Tutte queste operazioni (blocco dei fondi, addebito, ritiro del blocco) devono essere ordinate tramite l'API del Sistema di pagamento Autopay. Se non c'è un ordine di addebito sulla carta durante il periodo di validità della transazione che ha creato il blocco, il sistema rilascerà i fondi, notificandovi con un messaggio standard di Transaction Status Change (ITN).

    Anche altre operazioni (addebito riuscito, blocco della carta e successivo addebito) comportano l'invio di un messaggio ITN. Questo messaggio è l'unica informazione vincolante sulla modifica dello stato di una transazione e (utilizzato insieme al servizio Stato della transazione; si veda la sezione Richiesta di informazioni sullo stato di una transazione), aiuta a gestire la transazione senza interrompere la sessione con l'utente (anche in caso di vari problemi di rete). Riconoscimento delle operazioni sincrone (nodo confermaservono solo a presentare le informazioni sull'ordine iniziale).

    Fasi di una transazione di pre-autorizzazione della carta
    Blocco su richiesta del Partner

    È possibile distinguere tra 3 modi fondamentali di posizionare un lucchetto su una carta:

    a) Stabilire un blocco durante l'autorizzazione di un pagamento una tantum (cfr. Schema A per la preautorizzazione). Il cliente compila il formato della carta, dopo l'avvio della transazione, che il Partner indica nei parametri di avvio:

    - canale di pagamento con carta (GatewayID=1500) e

    - il desiderio di assicurarsi i fondi piuttosto che di impegnarli (Mantenere=vero)

    (b) Assunzione di un blocco al momento dell'avvio di un pagamento automatico (registrazione della carta nel Servizio o nell'Applicazione mobile) (cfr. Schema B per la preautorizzazione).

    CONSIGLIO: L'intero ciclo e tutti gli eventi di pagamento automatico secondo la documentazione, modificati dal momento in cui la carta viene effettivamente addebitata e il pagamento automatico viene impostato - nel modello di pre-autorizzazione questa operazione transazioneCancellare causa di questi eventi.

    Il cliente compila il formato della carta, una volta avviata la transazione, che il Partner indica nei parametri di avvio:

    - canale di pagamento con carta (GatewayID=1503),

    - il fatto di accettare i termini e le condizioni del servizio di pagamento automatico
    data-deepl-translation/> fornito da AP (RecurringAcceptanceState=ACCEPTED, o dopo accordi sul valore aziendale PROMEMORIA/FORZA)

    - la scelta di inizializzare un pagamento automatico con un potenziale
    data-deepl-translation/> addebito sulla carta (RecurringAction=INIT_WITH_PAYMENT)

    - il desiderio di assicurarsi i fondi piuttosto che di impegnarli (Mantenere=vero)

    (c) Stabilire un blocco utilizzando una scheda salvata in precedenza (cfr. Schema C per la preautorizzazione).

    CONSIGLIO: L'intero ciclo e tutti gli eventi del pagamento automatico secondo la documentazione, modificato dal momento dell'effettivo addebito della carta e dell'instaurazione del pagamento automatico - nel modello di pre-autorizzazione questa operazione transazioneCancellare causa di questi eventi.

    Il cliente non compila il modulo della carta, ma ha luogo una pre-transazione backend (senza reindirizzamento), in cui il partner indica nei parametri di avvio:

    - canale di pagamento con carta (GatewayID=1503)

    - indicazione di una scheda precedentemente aggiunta (ClientHash derivato da RPAN)

    - scelta del metodo di pagamento automatico (RecurringAction=MANUAL)

    - il desiderio di assicurarsi i fondi piuttosto che di impegnarli (Mantenere=vero)

    Ciascuno di questi metodi per stabilire un blocco dà luogo a un messaggio ITN il cui stato indica il risultato dell'autorizzazione della transazione. Oltre agli stati standard
    , in caso di blocco dei fondi, il Sistema può fornire nello stato ITN
    paymentStatus=ON_HOLDche costituisce la conferma della creazione di un blocco di fondi sulla carta del Cliente. Inoltre, l'ITN conterrà, per impostazione predefinita, un identificatore globale di transazione (ID remoto), che sarà necessario per il successivo caricamento del blocco stabilito.

    Addebito su carta su richiesta del Partner
    Descrizione dell'addebito della carta su richiesta del partner

    Una volta stabilito il blocco, il Partner può effettuare un ordine di addebito sulla carta precedentemente autorizzata (cfr. Schema D per la preautorizzazione). In questo caso è necessario richiamare un servizio dedicato. transazioneCancellare (https://{host_gateway}/webapi/transactionClear) con i corrispondenti parametri
    . Tutti i parametri sono passati tramite il metodo POST (Content-Type: application/x-www-form-urlencoded). Il protocollo è sensibile alle maiuscole e minuscole sia nei nomi dei parametri che nei valori. I valori di parametri passati devono essere codificati in UTF-8.

    Descrizione dei parametri disponibili per l'addebito su carta su richiesta del partner
    Ordine di hash nome richiesto tipo descrizione
    1 ID servizio stringa{1,10} ID servizio partner.
    2 MessaggioID stringa{32} Identificatore pseudocasuale del messaggio con una lunghezza di 32 caratteri alfanumerici latini (ad esempio su base UID); il valore del campo deve essere unico e indicare uno specifico ordine di pagamento sul Servizio partner.
    3 ID remoto stringa{1,20} L'identificativo alfanumerico della transazione assegnato dal Sistema e trasmesso al Partner nel messaggio ITN della transazione in entrata. La sua indicazione comporterà l'addebito sulla carta autorizzata nella transazione dell'importo indicato. ID remotose è in uno stato di blocco (stato ON_HOLD).
    4 Importo importo Importo dell'addebito (non deve essere superiore all'importo del blocco); un punto viene utilizzato come separatore decimale - '.' Formato: 0,00.
    5 Prodotti stringa{1,10000} Informazioni sui prodotti inclusi nella transazione, trasmesse come XML codificato con protocollo di trasporto Base64.
    La struttura deve includere tutti i prodotti specificati nella preautorizzazione, ma può essere semplificata (solo productID e idBalancePoint saranno presi in considerazione per identificare il prodotto il cui importo deve essere aggiornato, e il nuovo importo deve essere specificato in subAmount).
    /Richiesto per più prodotti specificati nella pre-autorizzazione.
    n.d. Hash stringa{1,128} Valore della funzione message digest calcolata come descritto nella sezione Sicurezza delle transazioni. Verifica obbligatoria della conformità dell'abbreviazione calcolata da parte del servizio partner.
    Conferma della transazione per l'addebito su carta su richiesta del Partner

    Per una corretta interrogazione, insieme ai parametri passati deve essere inviata un'intestazione HTTP definita con un contenuto appropriato. L'intestazione allegata dovrebbe essere denominata 'BmHeader' e avere il seguente valore 'pay-bm', nella sua interezza dovrebbe avere il seguente aspetto 'BmHeader: pay-bm'. In caso di messaggio valido, viene restituito un testo in formato XML (nella stessa sessione HTTP), contenente la conferma dell'esecuzione dell'operazione o la descrizione dell'errore.

    Struttura di conferma (XML)

    	<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    	<balancePayoff>
    	<serviceID>ServiceID</serviceID>
    	<messageID>MessageID</messageID>
    	<remoteOutID>RemoteOutID</remoteOutID>
    	<hash>Hash</hash>
    	</balancePayoff>
    

    Struttura di conferma (XML)

    	<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    	<balancePayoff>
    	<balancePointID>BalancePointID</balancePointID>
    	<messageID>MessageID</messageID>
    	<remoteOutID>RemoteOutID</remoteOutID>
    	<hash>Hash</hash>
    	</balancePayoff>
    
    Descrizione dei parametri da restituire per l'addebito su carta su richiesta del partner
    Ordine di hash nome richiesto tipo descrizione
    1 serviceID stringa{1,32} Identificatore di servizio del partner. Derivato da una richiesta di metodo.
    Richiesto per la conferma=CONFIRMED.
    2 messaggioID stringa{1,20} Identificatore pseudocasuale del messaggio di 32 caratteri alfanumerici latini (ad esempio, basato sull'UID). Derivato dalla richiesta del metodo.
    Richiesto per la conferma=CONFIRMED.
    3 conferma stringa{1,100} Stato di conferma dell'ordine.
    Può assumere due valori:
    - CONFERMATO - l'operazione è riuscita. NOTE: Questo non significa che il carico venga eseguito! Il sistema consegnerà in modo asincrono l'ITN con paymentStatus=SUCCESS. - NOTCONFIRMED - operazione fallita.
    4 motivo NO stringa{1,1000} Spiegazione dei dettagli dell'elaborazione della richiesta.
    n.d. hash stringa{1,128} Valore della funzione message digest calcolata come descritto nella sezione Sicurezza delle transazioni. Verifica obbligatoria della conformità dell'abbreviazione calcolata da parte del servizio partner.
    Richiesto per la conferma=CONFIRMED.
    Rilascio del blocco su richiesta del Partner

    Una volta stabilito il blocco, il Partner può ordinarne il rilascio (senza detrarre alcun fondo) (Cfr. Schema E per la preautorizzazione). Per questa operazione, utilizzare il servizio releaseHold (Vedi Annullamento di una transazione non pagata). Dopo l'avvio con successo di un lock release (una risposta corretta a una transazione di cancellazione
    ), il Sistema consegnerà in modo asincrono l'ITN dal paymentStatus=FAILURE e paymentStatusDetails=CANCELLATO.

    Sblocco del blocco dopo le transazioni in ritardo

    In caso di inattività del Partner (dopo che il blocco è stato stabilito) per un periodo predeterminato di validità della transazione, questa viene rilasciata dal Sistema (senza detrarre alcun fondo) (Rif. Schema F per la preautorizzazione). Il sistema annullerà la transazione, rimuoverà il blocco e fornirà all'ITN l'indirizzo di posta elettronica. paymentStatus=FAILURE e paymentStatusDetails=CANCELLATO.

    Schemi di preautorizzazione
    Schema A per la preautorizzazione: Impostazione di un blocco durante l'autorizzazione di un pagamento unico

    Schemat A

    Schema B per la preautorizzazione: Assunzione di un blocco durante l'avvio di un pagamento automatico (enrollment della carta)

    Schemat B

    Schema C per la preautorizzazione: Impostazione di un blocco utilizzando una carta precedentemente memorizzata

    Schemat C

    Schema D per la preautorizzazione: Ordine del partner di addebitare una carta precedentemente autorizzata

    Schemat D

    Schema E per la preautorizzazione: Ordine del socio di sbloccare la serratura (senza detrarre fondi)

    Schemat E

    Schema F per la preautorizzazione: Rilascio del blocco da parte dello Schema (senza detrazione di fondi)

    Schemat F

    Pre-transazione

    Descrizione pre-transazione

    La pre-transazione estende il modello standard di avvio della transazione, gestendo esigenze specifiche:

    • ordinare un link di pagamento in base ai parametri inviati

    • addebiti al cliente (se non è richiesta un'ulteriore autorizzazione da parte del cliente)

    • verificare la correttezza del link di pagamento prima che il cliente venga reindirizzato al sistema - la chiamata convalida i parametri e la configurazione del sistema

    • Accorciamento del link di pagamento - invece di diversi parametri, il link viene accorciato a due identificatori

    • nascondere i dati sensibili dei parametri del collegamento alla transazione - la pre-transazione avviene nel backend e il collegamento alla continuazione della transazione non contiene dati sensibili, ma solo gli identificatori della continuazione

    • l'uso dell'SDK mobile in una variante mista - l'inizio della transazione viene eseguito dal backend dell'applicazione mobile piuttosto che dall'SDK stesso utilizzando il token di transazione

    CONSIGLIO: Dettagli sulle varianti dell'SDK in Documentazione SDK.

    I casi d'uso specifici della pre-transazione sono i carichi:

    • BLIK 0
      Per poter usufruire di questo servizio, è necessario fornire GatewayID=509 e passare il codice di autorizzazione della transazione nel parametro Codice di autorizzazione.

    • BLIK 0 Un clic

    • Spese per "Pagamento automatico
      Per utilizzare questo servizio, è necessario fornire una delle seguenti informazioni GatewayID o gatewayType="Pagamento automatico". e i parametri necessari.

    • Autorizzazioni tramite portafoglio Visa
      Per poter usufruire di questo servizio, è necessario fornire GatewayID=1511 e passare il token codificato nel parametro Token di pagamento. In assenza di un token
      , l'autorizzazione avverrà sul sito del sistema.

    • Autorizzazioni attraverso i portafogli Google Pay

    NOTE: Il servizio consente di addebitare la carta memorizzata nel portafoglio del cliente senza reindirizzarla al sistema. Spesso viene applicata un'autorizzazione aggiuntiva sotto forma di 3DS (comportamento predefinito dell'ambiente di prova, che può essere riconfigurato).

    Nel modello Etichetta bianca integrare come descritto e poi fornire il GatewayID=1512 e il token codificato nel parametro Token di pagamento. In assenza di un token (o di un modello diverso dal modello Etichetta bianca) si limita a dichiarare GatewayID=1512 - L'autorizzazione
    data-deepl-translation/> avverrà sul sito web del sistema.

    • Autorizzazioni attraverso i portafogli Apple Pay
      Per poter usufruire di questo servizio, è necessario fornire GatewayID=1513. L'autorizzazione avverrà sul sito del sistema.

    • Autorizzazione attraverso il formato nativo dell'SDK mobile

    NOTE: Il servizio consente l'addebito della carta, i cui dettagli sono forniti nel formato della carta sicura dell'SDK, mentre l'avvio della transazione viene eseguito dal backend dell'applicazione mobile.

    Oltre al GatewayID appropriato - 1500 per un pagamento unico o 1503 per l'attivazione di un pagamento automatico (e altri parametri) - il PaymentToken ottenuto dall'SDK e il parametro WalletType=SDK_NATIVE (descrizione in sezione Avvio di una transazione con parametri aggiuntivi)

    Chiamare una pre-transazione

    È obbligatorio per le pre-transazioni inviare al backend (utilizzando ad esempio cURL) il messaggio standard di avvio della transazione (cfr. Inizio della transazione), con un'intestazione 'BmHeader' con valori
    : 'pay-bm-continue-transaction-url':

    Esempio di intestazione

    BmHeader: pay-bm-continue-transaction-url'.)

    Inoltre, si raccomanda che il parametro ClienteIP (per richieste di risarcimento, per scopi di rendicontazione).

    Esempio di avvio della pre-transazione (PHP)

    	$data = array(
    	 'ServiceID' => '100047',
    	 'OrderID' => ‘20161017143213’,
    	 'Amount' => '1.00',
    	 'Description' => 'test bramki',
    	 'GatewayID' => '0',
    	 'Currency' => 'PLN',
    	 'CustomerEmail' => 'test@bramka.pl',
    	 'CustomerIP' => '127.0.0.0',
    	 'Title' => 'Test title',
    	'Hash' => 0c5ca136e8833e40efbf42a4da7c148c50bf99f8af26f5c9400681702bd72056
    	);
    
    	$fields = (is_array($data)) ? http_build_query($data) : $data;
    
    	$curl = curl_init('https://{host_bramki}/test_ecommerce');
    	curl_setopt($curl, CURLOPT_HTTPHEADER, array('BmHeader: pay-bm-continue-transaction-url'));
    	curl_setopt($curl, CURLOPT_POSTFIELDS, $fields);
    	curl_setopt($curl, CURLOPT_POST, 1);
    	curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
    	curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, true);
    	$curlResponse = curl_exec($curl);
    	$code = curl_getinfo($curl, CURLINFO_HTTP_CODE);
    	$response = curl_getinfo($curl);
    	curl_close($curl);
    
    	echo htmlspecialchars_decode($curlResponse);
    

    In caso di corretta convalida dei parametri (e della configurazione) e di necessità per il cliente di eseguire un'azione aggiuntiva (selezione del canale di pagamento - se specificato GatewayID=0, esecuzione/conferma del trasferimento
    , inserimento del codice CVC/CVV, esecuzione del 3DS) - verrà restituito un XML con un link per continuare la transazione.

    Esempio di file di collegamento di continuazione della transazione (XML)

    	<?xml version="1.0" encoding="UTF-8"?>
    		<transaction>
    		<status>PENDING</status>
    		<redirecturl>
    		https://{host_bramki}/payment/continue/96VSD39Z6E/L6CGP5BH
    		</redirecturl>
    		<orderID>20180824105435</orderID>
    		<remoteID>96VSD39Z6E</remoteID>
    		<hash>
    		1c6eae2127f0c3f81fbed3b6372f128040729a4d4e562fb696c22e0db68dbbe1
    		</hash>
    	</transaction>
    
    Oggetto pre-transazione

    Oggetto transazione rappresenta la ricezione o il prelievo di fondi da un conto AP, come un acquisto o un rimborso completato.

    Attributi dell'oggetto transazione per la pre-transazione

    IMPORTANTE! L'ordine degli attributi per l'enumerazione Hash deve seguire la loro numerazione
    .

    Ordine di hash nome richiesto tipo descrizione
    1 stato stringa{1,32} Stato della transazione. In questo caso la costante PENDING.
    2 redirecturl stringa{1,100} Indirizzo per continuare una transazione iniziata da un messaggio di pre-transazione.
    3 ID ordine stringa{1,32} L'identificativo della transazione assegnato nel Servizio partner e comunicato all'inizio della transazione.
    4 ID remoto stringa{1,20} L'identificativo unico della transazione assegnato nel sistema AP.
    n.d. hash stringa{1,128} Valore della funzione message digest calcolata come descritto nella sezione Sicurezza delle transazioni. Verifica obbligatoria della conformità dell'abbreviazione calcolata da herwis.
    Risposta a Pre-transazione - nessuna continuazione della transazione

    In caso di convalida non valida o di caricamento non riuscito, non viene generato alcun link di continuazione
    . Viene restituito un testo in formato XML (nella stessa sessione HTTP), che indica lo stato di elaborazione della richiesta.

    Esempio di stato di elaborazione della richiesta (XML)

    <?xml version="1.0" encoding="UTF-8"?>
    <transaction>
    	<orderID>OrderID</orderID>
    	<remoteID>RemoteID</remoteID>
    	<confirmation>ConfStatus</confirmation>
    	<reason>Reason</reason>
    	<blikAMList>
    		<blikAM>
    			<blikAMKey>Klucz1</blikAMKey>
    			<blikAMLabel>Etykieta1</blikAMLabel>
    		</blikAM>
    		<blikAM>
    			<blikAMKey>Klucz2</blikAMKey>
    			<blikAMLabel>Etykieta2</blikAMLabel>
    		</blikAM>
    	</blikAMList>
    	<paymentStatus>PaymentStatus</paymentStatus>
    	<hash>Hash</hash>
    </transaction>
    
    Risultato pre-transazione

    Parametri restituiti per il risultato della pre-transazione.

    IMPORTANTE! L'ordine degli attributi per l'enumerazione Hash deve seguire la loro numerazione
    .

    Ordine di hash nome richiesto tipo descrizione
    1 ID ordine stringa{1,32} L'identificativo della transazione assegnato nel Servizio partner e comunicato all'inizio della transazione.
    Richiesto per la conferma=CONFIRMED.
    2 ID remoto stringa{1,20} L'identificativo unico della transazione assegnato nel sistema AP.
    Richiesto per la conferma=CONFIRMED.
    3 conferma stringa{1,100} Stato di conferma dell'ordine.
    Può assumere due valori:
    - CONFERMATO - l'operazione è riuscita.
    NOTA: non indica il carico.
    - NOTCONFIRMED - operazione fallita.
    4 motivo NO stringa{1,1000} Spiegazione del motivo del rifiuto dell'ordine (per conferma=NOTCONFIRMED), se disponibile.
    5 elenco blikAML NO stringa{1,10000} Elenco delle applicazioni di banca mobile disponibili nell'ambito dell'opzione BLIK 0 OneClick (per conferma=NOTCONFIRMED e motivo=ALIAS_NONUNIQUE).
    Formato per blikAMList:
    	<blikAM>
    	<blikAMKey>Klucz1</blikAMKey>
    	<blikAMLabel>Etykieta1</blikAMLabel>
    	</blikAM>
    	…
    	<blikAM>
    	<blikAMKey>KluczN</blikAMKey>
    	<blikAMLabel>EtykietaN</blikAMLabel>
    	</blikAM>
    
    6 Stato del pagamento NO enum Stato di autorizzazione della transazione, assume i valori:
    - PENDING - transazione avviata
    - SUCCESSO - corretta autorizzazione delle transazioni
    - FAILURE - transazione non completata correttamente
    n.d. hash stringa{1,128} Valore della funzione message digest calcolata come descritto nella sezione Sicurezza delle transazioni. Verifica obbligatoria della conformità dell'abbreviazione calcolata da parte del Servizio.
    Richiesto per la conferma=CONFIRMED.
    Convalida corretta dei parametri

    Se i parametri (e la configurazione) sono stati convalidati correttamente e non c'è bisogno che il cliente esegua un'azione aggiuntiva, viene restituita una conferma dell'ordine di addebito.

    Questo è il caso in cui i dati sono sufficienti per effettuare un addebito per il canale di pagamento in questione, ad esempio: BLIK 0 senza il codice BLIK richiesto (né l'indicazione dell'alias dell'app mobile della banca), pagamento ricorrente, pagamento con carta OneClick senza il CVC/CVV/3DS richiesto.

    Risultato

    conferma=CONFIRMED

    Convalida dei parametri non corretta

    Se i parametri (e la configurazione) non sono convalidati correttamente - viene restituito un errore.

    Risultato

    conferma=NOTCONFIRMED

    Un errore può essere restituito anche in caso di risposta sincrona da parte del Canale di pagamento (ad esempio un errore specifico per il tentativo di inizializzare un pagamento automatico BLIK, ovvero reason= RECURRENCY_NOT_SUPPORTED).

    NOTE: Un errore può essere restituito anche in caso di risposta sincrona da parte di un Canale di pagamento (ad esempio, un errore specifico per un tentativo di inizializzazione di un pagamento automatico BLIK, vale a dire reason=RECURENCY_NOT_SUPPORTED). Un altro caso noto è l'errore di convalida dell'indirizzo fornito nel parametro iniziale CustomerEmail (INVALID_EMAIL).

    Gestione delle risposte per le transazioni
    Stato di conferma Stato del pagamento Descrizione del comportamento del partner
    CONFERMATO SUCCESSO Transazione accettata per l'elaborazione, stato corretto.
    La prova di carico non deve essere ripetuta.
    La conferma del pagamento può essere visualizzata, ma i processi aziendali devono essere messi in pausa fino alla conferma nell'ITN (che verrà inviata una volta che l'AP avrà ricevuto lo stato corretto della transazione dal Canale di pagamento).
    CONFERMATO FALLIMENTO Transazione accettata per l'elaborazione, stato non valido.
    È possibile riprovare il caricamento con lo stesso ID ordine. Una volta che l'AP ha ricevuto lo stato della transazione dal canale di pagamento, viene inviato un messaggio ITN. NOTE: Non è possibile ripetere il tentativo di caricamento con la stessa ID ordinese, durante l'integrazione, viene concordato un modello per il Sistema per bloccare l'inizio delle transazioni con lo stesso ID ordine. Comportamento predefinito di unicità del partner ID ordine è solo una raccomandazione e non è soggetta a verifica all'inizio della transazione.
    CONFERMATO IN ATTESA Una transazione è stata accettata per l'elaborazione, ma il suo stato non è ancora noto. Non ritentare il caricamento. Gestione ulteriore come in caso di timeout.
    NON CONFERMATO - Transazione non ordinata (motivo indicato nel nodo reason). È possibile riprovare il caricamento con lo stesso OrderID.
    Il messaggio ITN non avrebbe dovuto essere inviato.
    Timeout (o altra risposta come struttura non valida, campi obbligatori mancanti, altro stato di conferma) - Attendere l'ITN fino alla data di scadenza della transazione (a tal fine si consiglia un tempo di scadenza breve, ad esempio 15 minuti), informando il cliente del risultato tramite un processo separato (e-mail/sms). Dopo questo periodo, si consiglia di informarsi sullo stato della transazione (Stato della transazione). Se il metodo non restituisce alcuna transazione registrata (o solo gli stati di pagamento) FALLIMENTO), l'ordine di addebito può essere rinnovato con lo stesso ID ordine.

    In alternativa, si può cercare di annullare la transazione, accelerando così il processo di ottenimento dello stato finale della transazione ed eventualmente il processo di rinnovo del messaggio di avvio della transazione. A tale scopo, utilizzare il servizio di cancellazione delle transazioni (transazioneAnnulla) e confermare il suo funzionamento interrogando lo stato della transazione (come descritto sopra).

    Richiesta dei dettagli del trasferimento per una transazione di trasferimento rapido

    Descrizione dei dati di trasferimento dell'ordine in una transazione di trasferimento rapido

    Il trasferimento rapido è un metodo di pagamento che richiede al cliente di riscrivere autonomamente i dati di trasferimento forniti dal sistema. Il tipo di canale di pagamento è indicato dal parametro gatewayType in risposta alla chiamata di servizio "Querying the list of currently available Payment Channels". I dati di trasferimento possono essere visualizzati al cliente:

    • sul sito dell'AP (esecuzione della transazione basata sul modello standard di avvio della transazione descritto nella parte Inizio della transazione)

    • sul sito web del Partner (l'esecuzione della transazione senza reindirizzare il cliente al sito dell'AP è descritta di seguito)

    Chiamata

    Per una corretta trasmissione del messaggio, è necessario inviare al backend un messaggio standard di avvio della transazione (ad esempio cURL), con un'intestazione 'BmHeader' di valore: 'pay-bm' (Per esteso, l'intestazione dovrebbe apparire come questa BmHeader: pay-bm'.). Nel caso di un'intestazione definita in modo errato o mancante, il messaggio verrà letto male. Inoltre, si consiglia di passare il parametro CustomerIP come descritto in IP utente (necessario per i processi di reclamo, segnalazione) e richiesto è per passare un parametro diverso da zero GatewayID (o gatewayType "Trasferimento rapido
    ".
    ).

    Implementazione dell'avvio delle transazioni in background (PHP)

    	$data = array(
    	 'ServiceID' => '100047',
    	 'OrderID' => '20150723144517',
    	 'Amount' => '1.00',
    	 'Description' => 'test bramki',
    	 'GatewayID' => '71',
    	 'Currency' => 'PLN',
    	 'CustomerEmail' => 'test@bramka.pl',
    	 'CustomerIP' => '127.0.0.0',
    	 'Title' => 'Test title',
    	 'ValidityTime' => '2016-12-19 09:40:32',
    	 'LinkValidityTime' => '2016-07-20 10:43:50',
    	 'Hash' => 'e627d0b17a14d2faee669cad64e3ef11a6da77332cb022bb4b8e4a376076daaa'
    	);
    
    	$fields = (is_array($data)) ? http_build_query($data) : $data;
    
    	$curl = curl_init('https://{host_bramki}/test_ecommerce');
    	curl_setopt($curl, CURLOPT_HTTPHEADER, array('BmHeader: pay-bm'));
    	curl_setopt($curl, CURLOPT_POSTFIELDS, $fields);
    	curl_setopt($curl, CURLOPT_POST, 1);
    	curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
    	curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, true);
    	$curlResponse = curl_exec($curl);
    	$code = curl_getinfo($curl, CURLINFO_HTTP_CODE);
    	$response = curl_getinfo($curl);
    	curl_close($curl);
    
    	echo htmlspecialchars_decode($curlResponse);
    
    Risposta - Dettagli del trasferimento

    Nel caso di pagamenti di questo tipo, il Sistema genera un insieme di dati necessari per eseguire un trasferimento intra-bancario (e quindi veloce) al conto bancario dell'AP. Questi dati vengono inseriti nella risposta all'inizio della transazione
    , in un documento xml.

    Risposta del sistema di pagamento all'avvio della transazione (XML)

    	<?xml version="1.0" encoding="UTF-8"?>
    	<transaction>
    		<receiverNRB>47 1050 1764 1000 0023 2741 0516</receiverNRB>
    		<receiverName>Autopay</receiverName>
    		<receiverAddress>81-718 Sopot, ul. Powstańców Warszawy 6</receiverAddress>
    		<orderID>9IMYEH2AV3</orderID>
    		<amount>1.00</amount>
    		<currency>PLN</currency>
    		<title>9IMYEH2AV3  - weryfikacja rachunku</title>
    		<remoteID>9IMYEH2AV3</remoteID>
    		<bankHref>https://ssl.bsk.com.pl/bskonl/login.html</bankHref>
    		<hash> fe685d5e1ce904d059eb9b7532f9e06a64c34c1ea9fcf29b62afefdb7aad7b75 </hash>
    	</transaction>
    
    Elenco dei parametri restituiti per la risposta

    IMPORTANTE! L'ordine degli attributi per l'enumerazione Hash deve seguire la loro numerazione
    .

    Ordine di hash nome richiesto tipo descrizione
    1 ricevitoreNRB stringa{32} Numero di conto del destinatario del bonifico (AP).
    2 NomeRicevitore stringa{1,100} Nome del destinatario del bonifico (AP).
    3 indirizzo del ricevitore stringa{1,100} Indirizzo del destinatario del bonifico (AP).
    5 ID ordine stringa{1,32} L'identificativo della transazione assegnato nel Servizio partner e comunicato all'inizio della transazione.
    6 importo importo Importo della transazione. Come separatore decimale si usa un punto fermo - '.'. Formato: 0,00; lunghezza massima: 14 cifre prima della virgola e 2 dopo la virgola. NOTE: Il valore consentito di una singola transazione nel Sistema di produzione è di min. 0,01 PLN, max. 100000,00 PLN (o fino al limite della singola Transazione della Banca per un trasferimento intrabancario).
    7 valuta stringa{1,3} Valuta della transazione.
    8 titolo stringa{1,140} Il titolo completo del trasferimento (ID insieme al campo Descrizione dall'inizio della transazione).
    9 ID remoto stringa{1,20} L'identificativo univoco del trasferimento assegnato nel sistema AP.
    10 bancaHref stringa{1,100} L'indirizzo di accesso al sistema bancario online, che può essere utilizzato per creare un pulsante "Vai alla banca".
    n.d. hash stringa{1,128} Valore della funzione message digest calcolata come descritto nella sezione Sicurezza delle transazioni. Verifica obbligatoria della conformità dell'abbreviazione calcolata da parte del servizio.

    NOTE: Utilizzare le informazioni di cui sopra per visualizzare i dati del trasferimento e reindirizzare l'utente alla pagina di login della banca.

    BLIK 0 Pagamento con un solo clic

    Descrizione di BLIK 0 Pagamenti in un clic

    Si tratta di una soluzione dedicata ai pagamenti BLIK, che consente di effettuare un pagamento senza inserire un codice BLIK (e senza dover lasciare il sito web). Il suo avvio con successo nel Sistema attiva l'avvio automatico dell'applicazione mobile della banca e la presentazione della transazione all'Utente per la conferma.

    Potenziali benefici:

    • L'offerta del primo metodo di pagamento comodo e sicuro nel mCommerce che non richiede un numero di carta apre questo segmento a nuovi clienti,

    • un'esperienza di acquisto migliore per i clienti, che pagano più velocemente e in modo più comodo,

    • Frequenza d'acquisto e valore di vita del cliente - I clienti sono più disposti e più propensi ad acquistare da quei negozi in cui il processo di acquisto è
      più conveniente,

    • Tasso di conversione - il servizio ha un maggiore controllo sul processo di acquisto e pagamento (il cliente non lo abbandona), il rischio di perdita del carrello è eliminato,

    • decisione rapida sulla transazione - in breve tempo la transazione è soggetta ad autorizzazione, rifiuto o annullamento,

    • Il servizio ha la possibilità di coprire l'analisi della fase stessa di effettuazione dei pagamenti
      .

    Un prerequisito per rendere disponibile BLIK 0 OneClick al Cliente è l'autorizzazione al Servizio (possedere un account e avervi precedentemente effettuato l'accesso). Se, durante un pagamento BLIK precedentemente effettuato, insieme ad altre informazioni di pagamento, il Servizio ha inviato un UID Alias dedicato (descrizione dei parametri Chiave BlikUID e Etichetta BlikUID in un'altra parte del documento
    ), e il cliente, al momento della conferma del pagamento nell'applicazione mobile
    , ha indicato di voler ricordare il negozio, ciò ha avuto l'effetto di collegare in modo permanente (in genere per un periodo di 2 anni) il Cliente del servizio alla sua applicazione, ossia registrando l'Alias UID. L'uso successivo di tale codice comporterà l' autorizzazione della transazione senza il codice.

    Chiamare i pagamenti BLIK 0 OneClick

    Si consiglia di non forzare il codice BLIK quando si seleziona un canale di pagamento BLIK. È invece opportuno visualizzare il collegamento ipertestuale "Voglio inserire il codice BLIK" sotto il pulsante "Acquista e paga" per consentire l'inserimento del codice al primo tentativo (nel caso in cui il Cliente voglia effettuare un pagamento BLIK da un'applicazione mobile diversa da quella in cui ha precedentemente memorizzato il dato Servizio).

    Il servizio dovrebbe eseguire una Pre-transazione, con particolare attenzione a:

    • specificando il parametro GatewayID = 509 - indicazione del canale di pagamento BLIK,

    • indicazione dei parametri Chiave BlikUID e Etichetta BlikUID - indicazione del richiesto nel BLIK 0 OneClick Alias UID (identificatore utente
      )

    • specificando il parametro Codice di autorizzazione - se il cliente ha inserito il codice BLIK,

    • specificando il parametro BlikAMKey - se il cliente ha indicato l'etichetta dell'applicazione mobile della banca dall'elenco presentato nel Servizio,

    • gestione delle possibili risposte pre-transazione, compresa la gestione di "Response - no follow-up" e degli errori specifici di BLIK 0 OneClick:

    (a) un errore in molte applicazioni mobili della banca (conferma=NOTCONFIRMED e motivo=ALIAS_NONUNIQUE) - visualizzare l'elenco delle etichette restituite nella pre-transazione dell'elenco di alias (coppie chiave + etichetta contenute nella struttura dell'oggetto Elenco BlikAML), per recuperare la chiave selezionata e inserirla nel parametro BlikAMKey un altro tentativo di pre-transazione

    (b) errori di autorizzazione (conferma=NOTCONFIRMED e motivo di uno dei valori: ALIAS_DECLINATO, ALIAS_NON_TROVATO, BIGLIETTO_ERRATO, BIGLIETTO_SCADUTO, BIGLIETTO_USATO) - visualizzare il campo del codice Blik, per scaricarlo e inserirlo nel parametro Codice di autorizzazione un altro tentativo di pre-transazione

    Trasferimenti all'Agenzia delle Entrate

    Descrizione

    Il sistema consente di effettuare trasferimenti all'Ufficio delle imposte.

    Convalida dei titoli di trasferimento all'Ufficio delle imposte

    nome del validatore: US_TITLE_VALIDATOR

    Title="/TI/______________/OKR/______/SFP/_______/TXT/_________{idtransremote_out}", gdzie:

    (a) TI: sta per Taxpayer Identifier (P per PESEL o N per NIP o R per REGON). Ha effetto su:

    • Y in NRB (0/1)
    • X in NRB, che è un PESEL o un NIP.

    (b) OKR: anno, tipo di periodo e numero del periodo per il quale viene effettuato il pagamento dell'imposta

    • R - anno in formato a due cifre
    • P - semestre
    • K - trimestre
    • M - mese
    • D - decennio
    • J - giorno
    • 0 (zero) - per i crediti non relativi al periodo contabile

    Numero di periodo:

    • per i caratteri R 4-7 non vanno compilati
    • per P caratteri 4-5 = 01 o 02, caratteri 6-7 non compilati
    • per K caratteri 4-5 = 01,02,03 o 04, caratteri 6-7 non compilati
    • per M caratteri 4-5 = da 01 a 12, caratteri 6-7 non compilati
    • per D caratteri 4-5 = 01, 02 o 03, caratteri 6-7 = da 01 a 12
    • per J caratteri 4-5 = da 01 a 31, caratteri 6-7 = da 01 a 12

    (c) SFP: simbolo del modulo di pagamento:

    simbolo del modulo di pagamento microcontabilità NRB di costruzione a cui trasferire l'importo Periodo per il quale viene pagata l'imposta
    CIT LK 1010 0071 222Y XXXX XXXX XXXX
    CIT-10Z LK 1010 0071 222Y XXXX XXXX XXXX Crediti non relativi al periodo contabile.
    CIT-11R LK 1010 0071 222Y XXXX XXXX XXXX Crediti non relativi al periodo contabile.
    CIT-6R LK 1010 0071 222Y XXXX XXXX XXXX Crediti non relativi al periodo contabile.
    CIT-6AR LK 1010 0071 222Y XXXX XXXX XXXX Crediti non relativi al periodo contabile.
    CIT-8 LK 1010 0071 222Y XXXX XXXX XXXX annuale
    CIT-8A LK 1010 0071 222Y XXXX XXXX XXXX annuale
    CIT-8B LK 1010 0071 222Y XXXX XXXX XXXX annuale
    CIT-9R LK 1010 0071 222Y XXXX XXXX XXXX Crediti non relativi al periodo contabile.
    CIT-CFC LK 1010 0071 222Y XXXX XXXX XXXX
    KP NO XX XXXX XXXX XXX0 0007 0000
    SD NO XX XXXX XXXX XXX0 0007 0000 Crediti non relativi al periodo contabile.
    SD-2 NO XX XXXX XXXX XXX0 0007 0000 Crediti non relativi al periodo contabile.
    PCC NO XX XXXX XXXX XXX0 0007 0000 Crediti non relativi al periodo contabile.
    PCC-2 NO XX XXXX XXXX XXX0 0007 0000 Crediti non relativi al periodo contabile.
    PCC-3 NO XX XXXX XXXX XXX0 0007 0000 Crediti non relativi al periodo contabile.
    PIT LK 1010 0071 222Y XXXX XXXX XXXX
    PIT-28 LK 1010 0071 222Y XXXX XXXX XXXX annuale
    PIT-36 LK 1010 0071 222Y XXXX XXXX XXXX annuale
    PIT-36L LK 1010 0071 222Y XXXX XXXX XXXX annuale
    PIT-37 LK 1010 0071 222Y XXXX XXXX XXXX annuale
    PIT-38 LK 1010 0071 222Y XXXX XXXX XXXX annuale
    PIT-39 LK 1010 0071 222Y XXXX XXXX XXXX annuale
    PIT-4 LK 1010 0071 222Y XXXX XXXX XXXX mensile
    PIT-4R LK 1010 0071 222Y XXXX XXXX XXXX annuale
    PPL LK 1010 0071 222Y XXXX XXXX XXXX
    PIT-7 LK 1010 0071 222Y XXXX XXXX XXXX
    PIT-8A LK 1010 0071 222Y XXXX XXXX XXXX mensile
    PIT-8AR LK 1010 0071 222Y XXXX XXXX XXXX annuale
    PIT-CFC LK 1010 0071 222Y XXXX XXXX XXXX
    PU1 LK 1010 0071 222Y XXXX XXXX XXXX Crediti non relativi al periodo contabile.
    PPD LK 1010 0071 222Y XXXX XXXX XXXX
    DPI LK 1010 0071 222Y XXXX XXXX XXXX
    PPW LK 1010 0071 222Y XXXX XXXX XXXX
    IVA-7 LK 1010 0071 222Y XXXX XXXX XXXX mensile
    IVA-7K LK 1010 0071 222Y XXXX XXXX XXXX trimestralmente. A partire dall'1.10, questi simboli saranno sostituiti da JPK_V7K e JPK_V7M.
    IVA-7D LK 1010 0071 222Y XXXX XXXX XXXX trimestrale
    IVA-8 LK 1010 0071 222Y XXXX XXXX XXXX mensile
    IVA-9M LK 1010 0071 222Y XXXX XXXX XXXX mensile
    IVA-10 LK 1010 0071 222Y XXXX XXXX XXXX Crediti non relativi al periodo contabile.
    IVA-12 LK 1010 0071 222Y XXXX XXXX XXXX
    IVA-14 LK 1010 0071 222Y XXXX XXXX XXXX
    VAP-1 LK 1010 0071 222Y XXXX XXXX XXXX
    VAI LK 1010 0071 222Y XXXX XXXX XXXX Crediti non relativi al periodo contabile.
    IVA-IM LK 1010 0071 222Y XXXX XXXX XXXX
    IVA-Z LK 1010 0071 222Y XXXX XXXX XXXX Crediti non relativi al periodo contabile.
    IVA-In LK 1010 0071 222Y XXXX XXXX XXXX Crediti non relativi al periodo contabile.

    d) TXT: testo aggiuntivo (max 29 caratteri)

    e) {idtransremote_out} → costante del titolo, che deve trovarsi alla fine della stringa. Non si devono incollare altri valori in questo punto.

    Google Pay

    Descrizione

    Google Pay è un sistema di pagamento istantaneo e intuitivo di Google.

    Google Pay è un prodotto che permette di ottenere i dati criptati della carta di pagamento di un cliente, consentendone l'addebito.

    Per pagare tramite Google Pay, è necessario salvare la carta di pagamento sul proprio account Google, utilizzando una qualsiasi piattaforma di Google (ad esempio, l'acquisto di app su Google Play) o direttamente sul sito web di Google. Google Pay.

    NOTE: Il servizio richiede la preventiva sottoscrizione di un accordo con l'operatore della carta
    . Per maggiori dettagli, contattare il Business Department di Autopay.

    Schema di comunicazione

    Dopo aver fatto clic su "Paga con Google Pay", sulla pagina del negozio viene visualizzato un modulo Google Pay. In esso, il cliente conferma il proprio account Google e la carta con cui intende pagare (in questa fase, può anche cambiare la carta con un'altra o aggiungerne una nuova). Lo script passa i dati codificati della carta sullo sfondo della tramite la funzione messaggiopoi il negozio deve accettarli e codificarli tramite la funzione base64 e infine inviarli nel parametro Token di pagamento insieme ad altri parametri (dati della transazione).

    Sul proprio sito web, il negozio deve richiamare lo script fornito da Google con i dati del processore di pagamento sostituiti.

    CONSIGLIO: Dettagli in Documentazione per sviluppatori di Google.

    Szczegółowy schemat komunikacji i wymiany danych Schema dettagliato di comunicazione e scambio di dati

    Registrazione della transazione Google Pay
    1. Il negozio sul proprio sito deve inviare una richiesta al sistema di pagamento online AP, per recuperare i dati necessari per elaborare Google Pay (paybmApiResponse).

    CONSIGLIO: Un esempio di come inviare una richiesta è disponibile all'indirizzo GitHub Autopay.

    1. Il negozio deve quindi chiamare lo script fornito nel file Parti dell'esercitazione della documentazione per sviluppatori di Google, contenente:

    (a) I dati del processore di pagamento sono stati alterati:

    const tokenizationSpecification = {
    	type: 'PAYMENT_GATEWAY',
    	parameters: {
    		'gateway': 'bluemedia',
    		'gatewayMerchantId': paybmApiResponse.acceptorId
    	}
    };
    

    b) I dati restituiti dal sistema di pagamento online AP trasferiti presso la struttura PaymentDataRequest.merchantInfo:

    PaymentDataRequest.merchantInfo = {
    	merchantId: paybmApiResponse.merchantId,
    	merchantOrigin: paybmApiResponse.merchantOrigin,
    	merchantName: paybmApiResponse.merchantName,
    	authJwt: paybmApiResponse.authJwt,
    };
    
    1. Dopo aver fatto clic su "Paga con Google Pay", sulla pagina del negozio viene visualizzato un modulo Google Pay. In esso il cliente conferma il proprio account Google e la carta con cui intende pagare (in questa fase può anche cambiare la carta con una diversa o aggiungerne una nuova). Uno script in background passa i dati codificati della carta, che il negozio deve accettare e poi codificare con la funzione Base64 e inviare nel parametro Token di pagamento insieme agli altri parametri iniziali della transazione (cioè i dati della transazione del Sistema di pagamento online AP - i dettagli sono descritti nella parte del file Avvio di una transazione con parametri aggiuntivi).

    CONSIGLIO: Un esempio completo di integrazione con Google Pay è disponibile all'indirizzo GitHub Autopay.

    Informazioni aggiuntive

    Per mantenere l'integrità estetica del design utilizzato sul sito web e sull'applicazione mobile di
    , utilizzare la guida che fornisce nel documento parti della documentazione per gli sviluppatori delle Linee guida del marchio Google per descrizioni di stile e pulsanti per le pagine web e per parti Tutorial della documentazione per sviluppatori Google, dove troverete le informazioni necessarie per sviluppare un'applicazione mobile.

    Apple Pay

    Implementazione di Apple Pay sul sito web del negozio.

    Richiesta di contatto con il prodotto dell'infrastruttura di pagamento - necessità di supporto informatico.

    1. Creazione di un conto da parte del Partner e ottenimento di un certificato per l'elaborazione dei pagamenti in conformità con la normativa vigente. documento Configurare Apple Pay (iOS, watchOS)

    - certificato di comunicazione - per la cosiddetta presentazione -identificativo del commerciante

    - certificato di addebito - certificato di elaborazione dei pagamenti

    1. Implementazione web in conformità con documento Apple Pay sul web

    2. Preparazione di 2 endpoint sul lato del partner, in un dominio registrato con Apple (utilizzando 2 certificati di Apple):

    - fino all'inizio della sessione

    - per addebitare al cliente il costo del token di Apple.

    SUGGERIMENTO: safari (il browser del cliente) comunica con l'endpoint di ritorno della sessione (menzionato sopra), dopodiché Apple interroga se stessa per la sessione Autopay.

    1. Elaborazione di Apple Pay
    • Come parte della registrazione del servizio con Apple, generare il proprio certificato identità del commerciante.
    • Generare un certificato elaborazione dei pagamenti sulla base del certificato fornito da AP CSR

    NOTA: I certificati AP CSR per l'accettazione e per la produzione sono diversi).

    • Dopo averlo utilizzato nel processo di registrazione Apple, fornire all'AP un certificato firmato da Apple e inviarlo via Modulo di pagamento automatico

      SUGGERIMENTO: Il cliente deve fornire il paese, la città, il dominio del sito web e l'e-mail della persona di contatto.

    • Nell'ambito dell'elaborazione dei pagamenti sul sito del partner, avviare una sessione API Apple.

    • Quindi restituire il token Autopay nel parametro PaymentToken start.

    NOTA: La decodifica del token è responsabilità dell'AP.

    Formato del token di pagamento: una fetta di un oggetto in formato json che l'API ApplePay restituisce:

      EncryptedPaymentData {
    	  String version;
    	  String data;
    	  String signature;
    	  Header header;
      }
      Header {
    	  String ephemeralPublicKey;
    	  String publicKeyHash;
    	  String transactionId;
    	  String applicationData;
      }
      
    

    NOTA: Quando si invia una richiesta di pagamento ApplePayPaymentRequest, è necessario riempire il campo applicationData con il valore Base64-encoded orderId, come descritto nel documento documento ApplicationData.

    Widget Autopay (modello WhiteLabel)

    Gli affiliati che desiderano incorporare una parte delle transazioni direttamente sul loro sito / nel loro carrello (nel cosiddetto modello WhiteLabel) possono farlo integrando il Widget Autopay. Attualmente, il Widget Autopay supporta la raccolta dei dati della carta (all'interno del PaywayId 1500/1503) e Visa Mobile inizia (PaywayId 1523)

    IMPORTANTE! Il Partner non è autorizzato a memorizzare i dati della Carta (in particolare il numero della carta, il codice di sicurezza CVC, il CVV2), ad eccezione dei parametri trasmessi durante l'elaborazione dei pagamenti automatici da parte di AP, come descritto in questa sezione.

    IMPORTANTE! Il sito web del Partner in cui viene utilizzata la funzionalità del widget Autopay deve essere criptato e l'IFRAME HTML con il widget deve essere incorporato in un indirizzo HTTPS con utilizzando il protocollo TLS.

    IMPORTANTE! Il partner si impegna a presentare ad AP, in forma elettronica, i seguenti documenti:
    (a) una tantum (prima della conclusione del Contratto): un questionario SAQ-A PCI compilato (Sezione 2); il documento sarà fornito da AP o è disponibile per il download sul sito web: https://www.pcisecuritystandards.org
    b) Su base trimestrale: il risultato dell'audit PCI ASV trimestrale che include una scansione di indirizzi/reti/domini IP esterni (pubblici) - IPv4 e/o IPv6. Tale audit deve essere condotto da uno degli appaltatori autorizzati elencati in: https://www.pcisecuritystandards.org/assessors_and_solutions/approved_scanning_vendors

    WidgetJS SDK Autopay

    È necessario utilizzare l'SDK Autopay WidgetJS per incorporare e comunicare con il widget Autopay. In breve, si tratta di incorporare l'IFRAME HTML con il widget e configurare l'SDK JS per gestire i messaggi (eventi) prodotti quando il titolare della carta interagisce con il widget. Il messaggio finale è un evento con stato MODULO_INTERROTTO incluso paymentToken necessari per l'avvio delle transazioni backend sull'API del sistema di pagamento online AP.

    Incorporare l'SDK

    Di seguito sono riportati alcuni esempi di come incorporare e diffondere facilmente un widget, utilizzando l'Autopay WidgetJS SDK, sia per la carta che per i canali VisaMobile.

    L'SDK Autopay WidgetJS è disponibile all'indirizzo widget-nuovo/widget-comunicazione.min.js una volta che è stato inserito nel <head>

    <script src="?r=quot;https://testcards.autopay.eu/widget-new/widget-communication.min.js"></script>
    

    si ottiene l'accesso all'oggetto WidgetConnection

    var widgetConfigObject = { ... };
    var widget = new WidgetConnection(widgetConfigObject)
    

    che, se integrato con una configurazione sotto forma di oggetto JSON, consentirà una comunicazione completa con l'API Autopay e, di conseguenza, garantirà la ricezione di un evento con uno stato pari a MODULO_INTERROTTO z paymentToken.

    Esempi di configurazioni

    Esempio di configurazione per i dati della carta

    Configurazione:

    { language: 'pl', amount: 1.23, currency: 'PLN', serviceId: 123456 }
    

    PaymentToken restituito:

    {status: 'FORM_SUCCESS', message: 'ey...9', id: 'OGFlZTYyYTMtN2U2OS00MTU1LTgyNDctNmMwMGI2NjE5ZDQy'}
    

    Esempio di configurazione per i dati VisaMobile

    Configurazione:

    { language: 'pl', amount: 1.23, currency: 'PLN', serviceId: 123456, merchantName: 'ShopName' }
    

    PaymentToken restituito:

    {status: 'FORM_SUCCESS', message: 'ey...9', prefix: '48', phoneNumber: '666666666', id: 'OGFlZTYyYTMtN2U2OS00MTU1LTgyNDctNmMwMGI2NjE5ZDQy'}
    
    Discussione dettagliata della configurazione dell'oggetto WidgetConnection

    Lingua

    Determina la versione linguistica del widget in cui sarà presentato.

    Nome del campo: lingua Formato stringa Valori: predefinito itAttualmente sono supportate le seguenti lingue: cs, de, el, it, es, fr, hr, hu, esso, it, ro, se, sk, sl, uk

    Importo della transazione

    Importo della transazione

    Nome del campo: importo Formato galleggiante Valori: un importo scritto in formato float, ad es: "PLN 1,23" è 1.23

    importo: 1,23, valuta: 'PLN', serviceId: 123456, merchantName: 'ShopName'.

    Valuta della transazione

    Valuta della transazione

    Nome del campo: valuta Formato stringa Valori: predefinito PLN, altre valute in un formato compatibile con la configurazione attuale del servizio

    Numero di servizio

    Numero di servizio ricevuto da Autopay (dipende dall'ambiente di sviluppo)

    Nome del campo: serviceId Formato intero Valori: di solito sei cifre

    Tipo di ricorrenza (solo per le carte)

    Indicazione del tipo di avvio della ricorrenza (Solo per il canale 1503 relativo all'avvio della ricorrenza)

    Nome del campo: azione ricorrente Formato stringa Valori: 'INIT_WITH_REFUND', 'INIT_WITH_PAYMENT'.

    Nome del negozio (solo per VisaMobile)

    Nome visualizzato all'utente nella notifica VisaMobile nell'app mobile della banca (solo per il canale 1523 di VisaMobile)

    Nome del campo: nome del commerciante Formato stringa Valori: Nome del negozio

    Card Widget - Esempio di implementazione sul sito web di un partner

    IMPORTANTE! Il seguente esempio di codice HTML è stato creato a scopo illustrativo. Per poterlo eseguire effettivamente sul proprio computer locale, il seguente file HTML deve essere collocato sotto un dominio locale (qualsiasi, può essere test.local). Questo HTML non può essere sparato nel browser come file locale, perché gli eventi JS scambiati tra l'IFRAME e la pagina sono verificati per la coerenza del dominio (quindi deve essere presente un dominio).

    La pagina seguente ha lo scopo di imitare Front Merchant, mostrando quali elementi devono essere implementati per integrarsi con il Widget Autopay.

    Nel browser, la seguente pagina di esempio è composta da tre sezioni:

    • la sezione superiore contiene una selezione di canali di pagamento specifici
    • la sezione centrale contiene il luogo in cui sarà incorporato l'IFRAME HTML, in cui sarà inserito l'indirizzo del widget (visamobile o scheda standard, se necessario)
    • la sezione inferiore contiene un pulsante (inattivo per impostazione predefinita) PayButon in bundle con l'SDK JS per controllare l'avvio del processo nel widget (in questo esempio, il pulsante si attiva solo quando riceve il messaggio che la convalida è corretta e i dati necessari per avviare il processo sono completi)

    Przykład implementacji Widget Kartowy Pierwszy Ekran

    Quando si seleziona un canale per la carta (payway: 1500 o 1503), viene caricata una vista dedicata al formato della carta (basata su HTML IFRAME). Quando nel widget vengono inseriti i dati completi e validi della carta, (grazie agli eventi di convalida) viene attivato il pulsante "Paga" sul front-end dell'esercente.

    Przykład implementacji Widget Kartowy Wczytany

    Suggerimento: Come si può vedere nell'esempio, è possibile supportare il canale VisaMobile anche nel modello WhiteLabel. L'implementazione/layout è analogo a quello del widget della carta, pertanto il codice sottostante contiene già entrambi i casi.

    Convalida e completamento dei dati

    L'SDK JS riceve eventi dal widget quando il widget Autopay viene inserito. STATO_DI_VALIDITÀ con valore valido: falso

    Przykład implementacji Widget Kartowy Walidacja Danych

    Una volta ottenuti i dati completi della carta, l'ultimo evento sarà STATO_DI_VALIDITÀ con un valore di valido: vero

    {status: 'VALIDITY_STATUS', message: null, valid: true, id: 'M2Zl...mU2'}
    

    L'attivazione del pulsante può essere basata su questo evento Pulsante di pagamento

    Przykład implementacji Widget Kartowy Widok Zapłać

    Suggerimento: Nell'ambiente di test, i pagamenti con carta si basano su un mock 3ds e un mock di autorizzazione. Ai diversi scenari corrispondono numeri di carta di prova dedicati. L'elenco completo dei casi di test è riportato in un'appendice separata.

    Schermo DCC

    Se lo scenario e la carta soddisfano le condizioni per ottenere un'offerta DCC, apparirà un'ulteriore schermata con una proposta di conversione di valuta per il titolare della carta.

    Przykład implementacji Widget Kartowy Widok DCC

    Il titolare della carta può scegliere di utilizzare l'addebito della carta nella sua valuta nativa o di lasciare la valuta originale. In questa schermata avviene anche la convalida.

    Przykład implementacji Widget Kartowy Walidacja DCC

    La selezione della valuta del titolare della carta non influisce sull'esercente e sull'importo originale della transazione, ma influisce sull'importo che verrà addebitato alla carta. Se il titolare della carta non desidera utilizzare l'offerta di conversione di valuta DCC, seleziona la valuta originale (in questo caso il PLN).

    Przykład implementacji Widget Kartowy Odmowa DCC

    Ottenere un token

    Il pulsante deve essere collegato all'SDK Autopay Widget JS, in modo che il clic su di esso attivi una chiamata al metodo widget.sendForm(); nella struttura WidgetConnection Che alla fine si tradurrà in un evento MODULO_INTERROTTOcioè ottenere il valore del paymentToken (nel campo messaggio).

    {status: 'FORM_SUCCESS', message: 'eyJ...n19', id: 'M2Z...ZmU2'}
    

    Przykład implementacji Widget Kartowy Ekran Zapłacono DCC

    Widget della scheda - Schema dettagliato della comunicazione e dello scambio di dati

    Di seguito è riportato un diagramma dettagliato della comunicazione tra esercente, titolare di carta e sistemi di pagamento Autopay nel caso della cosiddetta integrazione WhiteLabel (ovvero utilizzando un widget della carta).

    Schemat komunikacji i wymiany danych widget kartowy

    Trasferimento sicuro dei dati della carta al sistema Autopay e flusso completo delle transazioni:

    • (0) Inoltrare al front-end i dati di configurazione che avviano l'incorporazione del widget.
    • (1) Visualizzazione del formato della carta del Widget incorporato nel frontend dell'Esercente (i dati della carta non sono forniti nel frontend dell'Esercente ma nel frontend del widget Autopay)
    • (2) Iniziare con l'inserimento dei dati della carta da parte del titolare della carta.
    • (3) Trasmissione dei dati della carta utilizzando una connessione TLS protetta da un certificato Extended Validation al backend di CardsAutopay ** ** Si applica solo se è possibile proporre la DCC ** ** (3a) Restituzione dei dettagli della proposta di conversione valutaria DCC ** (3b) Il titolare della carta decide, se vuole utilizzare la DCC ** (3c) Trasmissione dei dati della carta precedentemente inseriti dal titolare della carta e segue la decisione della DCC
    • (4) WidgetJS riceve da CardsAutopay e invia al front-end dell'esercente (tramite JS) il valore dell'opzione paymentToken
    • (5) Il Merchant Front riceve il token di pagamento dal Widget tramite un evento JavaScript.
    • (6) Il Merchant Front trasferisce il token di pagamento al Merchant Backend.
    • (7) Avvio del backend Pre-transazione con paymentToken ricevuto in precedenza dal fronte
    • (8) L'API Autopay restituisce l'URL il proseguimento della transazione che sarà usato per reindirizzare all'inizio della transazione con l'utente
    • (9) Il backend del commerciante passa un URL di reindirizzamento al frontend del commerciante.
    • (10) Reindirizzamento del titolare della carta dal sito web dell'esercente a PayAutopay per l'autenticazione del 3DS.
    • Viene effettuata la verifica del 3DS (a seconda della decisione della banca, può trattarsi di una verifica completa o semplificata)
    • (11) Quando il titolare della carta "ritorna" dal 3DS, il risultato dell'autenticazione viene completato/raccolto e autorizzato.
    • (12) L'Autopay riceve un risultato di addebito
    • (13) Lo stato della transazione viene comunicato al sistema di pagamento online (in background).
    • (14) Il titolare della carta viene reindirizzato dal sito web di PayAutopay (dopo l'autenticazione 3DS). al sito web del commerciante
    • (15) In modo asincrono al backend dell'esercente arriva il messaggio ITN con lo stato della transazione ** ( nel caso di una transazione che avvia una ricorrenza, il backend dell'esercente riceve anche un messaggio supplementare RPAN )
    Widget Visa Mobile - Esempio di implementazione su un sito web partner

    Di seguito è riportato un esempio di una semplice implementazione HTML/JS che utilizza il widget VisaMobile (e il widget della carta)

    { 'status': 'FORM_SUCCESS', 'message': 'eyJrZ...', ... }
    

    Cruciale per questa integrazione è il punto del codice JS responsabile della ricezione degli eventi, in particolare dell'evento status MODULO_INTERROTTOcome contiene nel campo messaggio il valore del paymentToken che l'esercente deve passare al proprio backend per completare i parametri dell'API Autopay e consentire l'avvio del pagamento in Autopay.

    Pagina di esempio

    Nel browser, la seguente pagina di esempio è composta da tre sezioni:

    • la sezione superiore contiene icone/bottoni per canali di pagamento specifici (utilizzando le rappresentazioni grafiche di Autopay)
    • la sezione centrale contiene il luogo in cui viene collocato l'IFRAME HTML, in cui verrà inserito l'indirizzo del widget (visamobile o scheda standard, a seconda delle necessità)
    • la sezione inferiore contiene un pulsante (inattivo per impostazione predefinita) PayButon in bundle con l'SDK JS per controllare l'avvio del processo nel widget (in questo esempio, il pulsante si attiva solo quando riceve il messaggio che la convalida è corretta e i dati necessari per avviare il processo sono completi)

    Visa Mobile Przykladowa Strona

    Quando si seleziona un canale dedicato a VisaMobile, viene visualizzata una vista dedicata (basata su HTML IFRAME), dove l'inserimento del numero di telefono completo (grazie ai messaggi di convalida) porta all'attivazione del pulsante "Paga".

    Visa Mobile Przykladowa Strona z wczytanym widgetem

    Convalida e completamento dei dati

    Quando si inserisce un numero di telefono, l'Autopay Widget JS SDK riceve eventi dal widget STATO_DI_VALIDITÀ con valore valido: falso Una volta ottenuto il numero di telefono completo, l'ultimo evento sarà STATO_DI_VALIDITÀ con un valore di valido: vero

    {status: 'VALIDITY_STATUS', message: null, valid: true, id: 'M2Zl...mU2'}
    

    L'attivazione del pulsante può essere basata su questo evento Pulsante di pagamento

    Visa Mobile Przykladowa Strona z uaktywnionym przyciskiem

    Ottenere un token

    Il pulsante deve essere collegato all'SDK Autopay Widget JS, in modo che il clic su di esso attivi una chiamata al metodo widget.sendForm(); nella struttura WidgetConnection Che alla fine si tradurrà in un evento MODULO_INTERROTTOcioè ottenere il valore del paymentToken.

    {status: 'FORM_SUCCESS', message: 'eyJ...n19', prefix: '48', phoneNumber: '666666666', id: 'M2Z...ZmU2'}
    

    Visa Mobile Przykladowa Strona po kliknieciu

    Visa Mobile widget - Schema dettagliato di comunicazione e scambio dati

    Schemat komunikacji i wymiany danych visa mobile

    Inizio della transazione:

    • (1) Iniziate inserendo il vostro numero di telefono nel widget VisaMobile.
    • (2) Lancio delle transazioni VisaMobile
    • (3) Rimborso da parte di VisaMobile
    • (4) Ritornare dal widget a Merchant (usando JS) il file generato paymentToken
    • (5) Il Merchant Front trasferisce il token di pagamento al Merchant Backend.
    • (6) Avvio del backend Pre-transazione con paymentToken ilToken di pagamento precedentemente ricevuto
    • (7) Il ritorno riceve immediatamente una risposta XML PENDING (perché viene elaborata in background).
    • (8) Sul fronte Mercante, viene presentata la schermata di attesa dei risultati

    Possibile annullamento della transazione (dal paywall di PayAutopay):

    • (9a) Se l'utente non riceve la notifica nell'app mobile o cambia idea, ha la possibilità di annullare la transazione dal paywall.
    • (9b) Il sistema CardsAutopay invia una richiesta di cancellazione a Visa.
    • (9c) Il sistema CardsAutopay riceve un risultato di cancellazione da Visa.
    • (9d) Il risultato della cancellazione viene accettato dal sistema PayAutopay e presentato all'utente sul paywall PayAutopay.
    • (9e) Viene inviato un parallelo ITN (con stato negativo) a Merchant

    Carica e restituisce il risultato:

    • (10) Attesa dei dati del token di pagamento da Visa (se un cliente VisaMobile conferma nell'app mobile di voler pagare con una carta specifica per un determinato ordine)
    • (11) Segue un ordine di addebito
    • (12) Riceviamo un risultato di carico positivo o negativo.
    • (13) Lo stato della transazione viene inviato al gateway PayAutopay.
    • (14) Il gateway Autopay invia il risultato della transazione all'Esercente sotto forma di un messaggio di conferma. ITN
    Discussione del codice HTML JS di esempio (Card Widget e VisaMobile)

    Il codice seguente è stato utilizzato per generare le integrazioni di esempio citate nelle sezioni con esempi di implementazione del Widget Carta e del Widget Visa Mobile

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Autopay Widget Integration Example</title>
        <script src="?r=quot;https://testcards.autopay.eu/widget-new/widget-communication.min.js"></script>
        <style>/* pominięte w przykladzie */</style>
    </head>
    <body>
    <div>
      <form onsubmit="submitForm(event)" novalidate>
       <div class="form-group"><p>Transaction amount:</p><span>1,23 PLN</span></div>
    
        <!-- przykładowa implementacja mechanizmu wyboru kanału płatności po stronie merchanta -->
        <p>Choose payment method:</p>
        <ul>
          <li onclick="setPayway(event, 1500)">One time payment with card</li>
          <li onclick="setPayway(event, 1503)">Remember your card</li>
          <li onclick="setPayway(event, 1523)">Pay with VisaMobile</li>
        </ul>
    
        <!-- miejsce, w które wstrzyknięty zostanie HTML IFRAME z widget"em -->
        <div class="form-group" id="iframe-wrapper">
          <iframe id="iframe"></iframe>
        </div>
    
        <!-- przycisk wywołujący akcję w widget'cie -->
        <button type="submit" id="button" disabled="disabled">PayButton</button>
      </form>
    </div>
    <script type="text/javascript">
    window.addEventListener('load', () => {
        // pomocnicze zmienne (tylko na potrzeby przykładu)
        var currentPayway = null;
        var widget = null;
    
        // przykładowe konfiguracje zależne od środowiska devloperskiego (tylko na potrzeby przykładu)
    	var AUTOPAY_CARDS_DOMAIN_ENV_PROD = 'https://cards.autopay.eu';
    	var AUTOPAY_CARDS_DOMAIN_ENV_TEST = 'https://testcards.autopay.eu';
    
    	var MERCHANTS_SERVICE_ID_ENV_PROD = 903555;
    	var MERCHANTS_SERVICE_ID_ENV_TEST = 903555;
    
        // pomocnicza metoda obsługująca wybór kanału płatności i osadzenie widget'u
        function setPayway (event, paywayId) {
            if (currentPayway === paywayId) {
                return;
            }
            currentPayway = paywayId
            removeWidget();
            disableSubmitButton();
            markActiveIcon(event);
    
            if (paywayId === 1500) {
                startWidget('/widget-new/partner'   , { language: 'en', amount: 1.23, currency: 'PLN', serviceId: MERCHANTS_SERVICE_ID_ENV_TEST });
                return
            }
            if (paywayId === 1503) {
                startWidget('/widget-new/partner'   , { language: 'en', amount: 1.23, currency: 'PLN', serviceId: MERCHANTS_SERVICE_ID_ENV_TEST, recurringAction: 'INIT_WITH_REFUND' });
                return
            }
            if (paywayId === 1523) {
                startWidget('/widget-new/visamobile', { language: 'en', amount: 1.23, currency: 'PLN', serviceId: MERCHANTS_SERVICE_ID_ENV_TEST,  merchantName: 'ShopName' });
    			return
            }
        }
    
        // pomocnicza metoda (tylko na potrzeby przykładu) ustawiająca obramowanie na wybranym kanale płatności
        function markActiveIcon (event) {
            var currentActive = document.querySelector('ul li.active');
            if (currentActive) {
                currentActive.classList.remove('active');
            }
            var newActive = event.target;
            if (newActive.nodeName.toLowerCase() === 'img') {
                newActive = newActive.parentNode;
            }
            newActive.classList.add('active');
        }
    
        // główna metoda odpowiadająca za osadzenie IFRAME z widget'em i zestawienia komunikacji między nim a jego obiektowym reprezentantem WidgetConnection
        function startWidget (widgetVariantUrl, widgetConfig) {
            if (!widgetEvents || !WidgetConnection) {
                return;
            }
            var iframeEl = document.getElementById('iframe');
            iframeEl.src = AUTOPAY_CARDS_DOMAIN_ENV_TEST + widgetVariantUrl;
            widget = new WidgetConnection(widgetConfig)
    
            widget.startConnection(iframeEl).then(() => {
    
                // obsłużenie głównego, finalnego event'u zawierającego wartość PaymentToken'a
                widget.on(widgetEvents.formSuccess, function (message, eventData) {
                    console.log('payment token event =>', eventData);
                    console.log('payment token value:', message);
                    // w tym miejscu powinno być wywołanie API merchanta, aby przekazać paymentToken (message) do backend'u merchanta;    <<<<<<<<<<<<<<<<<
                })
    
                // obsłużenie event'ów związanych z walidacją podczas wprowadzania danych w widget'cie przez użytkownika/cardholder'a
                widget.on(widgetEvents.validityStatus, function (message, eventData) {
                    console.log('form validation status =>', eventData);
                    if (eventData.valid) {
                        enableSubmitButton();
                    } else {
                        disableSubmitButton();
                    }
                })
    
                // obsłużenie event'u związanego z walidacją w momencie wprowadzania danych w widget'cie przez użytkownika/cardholder'a
                widget.on(widgetEvents.validationResult, function (message, eventData) {
                    console.log('form validation result =>', eventData);
                    if (eventData.valid) {
                        enableSubmitButton();
                    } else {
                        disableSubmitButton();
                    }
                })
    
                // obsłużenie event'u showModal
                widget.on(widgetEvents.showModal, function () {
                    console.log('show modal');
                })
            })
        }
    
        // pomocnicza metoda (tylko na potrzeby przykładu) ustawiająca usuwanie widget'u dla innych, niż kartowe, kanałów płatnosći (w przykladzie jest kanał 106 PBL)
        function removeWidget () {
            if (!widget) {
                return;
            }
            widget.stopConnection();
        }
    
        // pomocnicza metoda (tylko na potrzeby przykładu)
        function enableSubmitButton () {
            document.getElementById('button').removeAttribute('disabled');
        }
    
        // pomocnicza metoda (tylko na potrzeby przykładu)
        function disableSubmitButton () {
            document.getElementById('button').setAttribute('disabled', 'disabled');
        }
    
        // pomocnicza metoda (tylko na potrzeby przykładu) powiązująca naćiśnięcie aktywnego przycisku zapłać z wywołaniem sendForm() w obiekcie widget'u
        function submitForm (event) {
            event.preventDefault();
            if (!widget || widget.invalid) {
                return;
            }
            disableSubmitButton();
            widget.sendForm();
        }
    
        window.setPayway = setPayway;
        window.submitForm = submitForm
    });
    </script>
    </body>
    </html>
    

    Pagamento con carta incorporata nel servizio (iFrame)

    L'iFrame della carta (PayBmCheckout) non è più supportato, invece, per il pagamento con carta incorporata nel sito del partner, usare Widget della scheda.

    Pagamento automatico

    Descrizione del pagamento automatico

    I pagamenti automatici sono un modo estremamente comodo e sicuro per effettuare transazioni ricorrenti. Consiste nella riscossione automatica dei crediti da parte del cliente alle date di pagamento. Il servizio deve essere prima attivato. Nel caso delle carte, ciò avviene tramite reindirizzamento del cliente al modulo di attivazione del servizio. Per BLIK
    , invece, accettando un pagamento automatico nell'applicazione mobile
    . Una volta autorizzata con successo tale transazione di attivazione, l'AP trasmette al Partner un messaggio standard di modifica dello stato della transazione (ITN) e un messaggio di attivazione del servizio di pagamento automatico (RPAN). Il messaggio RPAN contiene il campo clientHashche il Partner identificherà il pagamento automatico specifico durante gli addebiti successivi e la disattivazione del servizio.

    Tutte le transazioni all'interno del ciclo di vita di un pagamento automatizzato (attivazione e addebiti) vengono elaborate all'interno di canali di pagamento dedicati (BLIK - GatewayID=522, Carte - GatewayID = 1503) o gatewayType="Pagamento automatico".. Quando si integrano i pagamenti automatici BLIK, è possibile specificare (nei dati forniti prima dell'integrazione) la durata dei pagamenti automatici attivati (illimitata per impostazione predefinita) o specificarla nell'operazione di inizializzazione (parametro Tempo di validità ricorrente).

    Attivazione del pagamento automatico

    L'attivazione del pagamento automatico consiste nell'autorizzazione della transazione di attivazione, nella comunicazione ITN e nel RPAN. Una volta ricevuto l'RPAN, il Partner è pronto a eseguire addebiti ricorrenti (o un clic).

    Si tratta di attivare il servizio di pagamento automatico durante il pagamento di un servizio/bene (così RecurringAction=INIT_WITH_PAYMENT e il regolamento della transazione al Partner).

    Proces aktywacji usługi płatności automatycznych

    Processo di attivazione del servizio di pagamento automatico

    Il messaggio ITN inviato dopo un pagamento automatico è simile a quelli ricevuti dopo i pagamenti una tantum (è solo esteso dal nodo
    Dati ricorrentie - per i pagamenti con carta - Dati scheda).

    Messaggio di avvio della transazione automatica

    Il processo di attivazione del servizio viene avviato dal sito del partner mediante l'avvio della transazione con il parametro Azione ricorrente consente di controllare il comportamento di del sistema:

    (a) il valore di INIT_WITH_PAYMENT - corrisponde all'attivazione del servizio di pagamento automatico al momento del pagamento di un servizio/bene (la carta o il conto vengono addebitati con l'importo dovuto e i fondi del pagamento vengono trasferiti al Partner); nell'elenco dei canali di pagamento disponibili, il sistema presenta solo pagamenti automatici (a meno che non sia stato selezionato un canale di pagamento nel Servizio),

    (b) il valore di INIT_WITH_REFUND - corrisponde all'attivazione del servizio di pagamento automatico al di fuori del processo di pagamento del servizio/merce (l'addebito sulla carta o sul conto viene effettuato con l'importo di 1 PLN, seguito dal ritorno automatico dei fondi sul conto del Cliente); nell'elenco dei canali di pagamento disponibili, il Sistema presenta solo i pagamenti automatici (se non è stato selezionato alcun canale di pagamento sul Sito web),

    (c) il valore di INIT_SENZA_PAGAMENTO - corrisponde all'attivazione del servizio di pagamento automatico al di fuori del processo di pagamento del servizio/bene; valore supportato solo nel modello White-Label, per il metodo BLIK. L'importo iniziale per questo valore è 0,00.

    d) nessun parametro (o vuoto) - a meno che non sia stato selezionato un canale di pagamento sul Servizio, il Sistema visualizzerà tutti i canali di pagamento disponibili per il Servizio (compresi quelli automatici) e lascerà al Cliente la decisione: pagamento unico o avvio di un pagamento automatico.

    NOTE: Non è consentito avviare transazioni di attivazione con il canale di pagamento automatico selezionato, ma senza la RecurringAction selezionata.

    In alcuni casi (se risulta dalla risposta del metodo dati legali) sono richiesti anche i parametri Stato di accettazione ricorrente (con un valore di ACCETTATOil che significa che il Cliente ha letto e accettato i termini e le condizioni del pagamento automatico sul Sito Partner) e RecurringAcceptanceID.

    L'attivazione del servizio di carta di pagamento automatico viene effettuata sui formati forniti da AP. Il cliente deve inserire i dati della carta: nome, cognome, numero di carta, data di scadenza e codice CVV.

    In caso di pagamento automatico da un conto bancario (BLIK), l'autorizzazione avviene senza specificare i dati della carta: ad esempio con il codice BLIK (trasportato nei parametri iniziali in AuthorisationCode), o tramite BLIK OneClick Alias (trasportato nei parametri iniziali in BlikUIDKey/BlikUIDLabel). I pagamenti automatici per il metodo BLIK possono essere avviati in due varianti:

    1. Modello M - con conferma di ogni pagamento da parte del cliente sull'app mobile della banca (canale 522),
    2. Modello O - senza conferma del pagamento in banca (canale 524). In questo modello, la certificazione del Merchant Service secondo la procedura descritta in: https://blik.com/lp/reccuring-payments/BLIK-Recurring-Payments---Certification-Checklist.141951091.html

    Una volta autorizzata la transazione, il Sistema AP trasmette al Servizio Partner un messaggio di modifica dello stato della transazione (ITN) e un messaggio di attivazione del servizio di pagamento automatico (RPAN). Il messaggio RPAN è dedicato agli eventi di attivazione del pagamento automatico e contiene il suo identificativo (ClientHash), che il Partner utilizzerà durante i successivi addebiti e disattivazioni del servizio. Il RPAN contiene anche informazioni sull'azione per il processo di pagamento automatico (RecurringAction, descritta sopra).

    Notifica dell'avvio di un pagamento automatico (RPAN)

    Al ricevimento di uno stato di pagamento positivo per l'attivazione del pagamento automatico, viene inviato al Servizio un messaggio dedicato.

    Formato del documento (XML)

    	<?xml version="1.0" encoding="UTF-8"?>
    	<recurringActivation>
    		<serviceID>ServiceID</serviceID>
    		<transaction>
    			<orderID>OrderID</orderID>
    			<remoteID>RemoteID</remoteID>
    			<amount>999999.99</amount>
    			<currency>PLN</currency>
    			<gatewayID>GatewayID</gatewayID>
    			<paymentDate>YYYYMMDDhhmmss</paymentDate>
    			<paymentStatus>PaymentStatus</paymentStatus>                 
    			<paymentStatusDetails>PaymentStatusDetails</paymentStatusDetails>
    			<startAmount>999998.99</startAmount>
    			<invoiceNumber>InvoiceNumber</invoiceNumber>
    			<customerNumber>CustomerNumber</customerNumber>
    			<customerEmail>CustomerEmail</customerEmail>
    			<customerPhone>CustomerPhone</customerPhone>
    		</transaction>
    		<recurringData>
    			<recurringAction>RecurringAction</recurringAction>
    			<clientHash>ClientHash</clientHash>
    			<expirationDate>YYYYMMDDhhmmss</expirationDate>
    		</recurringData>
    		<cardData>
    			<index>Index</index>
    			<validityYear>ValidityYear</validityYear>
    			<validityMonth>ValidityMonth</validityMonth>
    			<issuer>Issuer</issuer>
    			<bin>BIN</bin>
    			<mask>Mask</mask>
    		</cardData>
    		<hash>Hash</hash>
    	</recurringActivation>
    

    Valori degli elementi: ID ordine, ID servizio, importo relativi a ciascuno dei pagamenti automatici attivati sono identici ai valori dei campi corrispondenti forniti dal Servizio all'avvio del rispettivo pagamento di inizializzazione.

    Descrizione dei parametri restituiti per l'attivazione del pagamento automatico

    IMPORTANTE! L'ordine degli attributi per l'enumerazione Hash deve seguire la loro numerazione
    .

    Ordine di hash nome richiesto tipo descrizione
    1. serviceID stringa{1,10} L'ID del servizio partner, assegnato durante la registrazione del servizio, identifica in modo univoco il servizio partner nel sistema di pagamento online.
    2. transazione -> orderID stringa{1,32} L'identificativo della transazione assegnato nel Servizio partner e comunicato all'inizio della transazione.
    3. transazione -> remoteID stringa{1,20} Un identificativo alfanumerico della transazione assegnato dal Sistema di pagamento online.
    5. transazione -> importo importo Importo della transazione. Come separatore decimale si utilizza un punto fermo - ".".
    Formato: 0,00; lunghezza massima: 14 cifre prima del punto e 2 dopo il punto.NOTE: Il valore ammissibile di una singola transazione nel sistema di produzione è rispettivamente:
    - per le PBL - min. 0,01 PLN, max. PLN 100000,00 (o fino all'importo stabilito dalla banca che emette lo strumento di pagamento)
    - per le carte di pagamento - min. 0,10 PLN, max. PLN 100000,00 (o fino al limite individuale per una singola transazione presso la banca dell'emittente della carta)
    - per i bonifici veloci - min. 0,01 PLN, max. 100000,00 PLN (o fino al limite individuale della Banca per una singola transazione per un trasferimento intrabancario)
    - per BLIK - min. 0,01 PLN, max. 75000,00 PLN (o fino al limite individuale della Banca per una singola transazione per un trasferimento intrabancario)
    - per OTP - min. 100,00 PLN, max. 2000,00 PLN
    - per Alior Rat - min. 50,00 PLN, max. 7750,00 PLN
    6. transazione -> valuta stringa{1,3} Valuta della transazione.
    7. transazione -> gatewayID stringa{1,5} Identificatore del canale di pagamento attraverso il quale il cliente ha effettuato il pagamento.
    8. transazione -> data di pagamento stringa{14} L'ora in cui la transazione è stata autorizzata, trasmessa nel formato YYYMMDDhhmmss. (ora CET)
    9. transazione -> paymentStatus enum Stato di autorizzazione della transazione. Assume valori (transizioni di stato identiche al campo corrispondente in ITN):
    IN ATTESA - transazione avviata
    SUCCESSO - autorizzazione corretta della transazione, il Servizio riceve i fondi per la transazione
    FALLIMENTO - transazione non completata correttamente
    10. transazione -> paymentStatusDetails enum Stato dettagliato della transazione, il valore può essere ignorato dal Servizio.
    11. transazione -> startAmount NO importo L'importo della transazione indicato nel Link di pagamento (non include l'importo della commissione addebitata al cliente, se presente). La somma della commissione del Cliente e dell'Importo iniziale si trova nel campo dell'importo, poiché è il valore risultante della transazione). Un punto - '.' - viene utilizzato come separatore decimale. Formato: 0,00; lunghezza massima: 14 cifre prima del punto e 2 dopo il punto.
    12. transazione -> numero fattura NO stringa{1,100} Il numero del documento finanziario nel servizio.
    13. transazione -> numero cliente NO stringa{1,35} Numero di cliente nel servizio.
    14. transazione -> customerEmail NO stringa{1,60} Indirizzo e-mail del cliente.
    15. transazione -> telefono del cliente NO stringa{9-15} Numero di telefono dell'utente.
    16. dati ricorrenti -> recurringAction NO stringa{1,100} Azione nel processo di pagamento automatico.
    17. dati ricorrenti -> clientHash stringa{1,64} Identificatore di pagamento automatico.
    18. dati ricorrenti -> data di scadenza NO stringa{14} Scadenza del pagamento automatico, trasmessa nel formato YYYMMDDhhmmss. (ora CET)
    19. cardData -> indice NO stringa{1, 64} Indice della carta di pagamento utilizzata per il pagamento automatico (se viene utilizzata una carta).
    20. cardData -> anno di validità NO stringa{4} Validità della carta nel formato YYYY (se è stata utilizzata una carta).
    21. data della carta -> mese di validità NO stringa{2} Validità della carta in formato mm (se la carta è utilizzata).
    22. cardData -> emittente NO stringa{64} Emittente della carta, valori possibili:
    - VISA
    - MASTERCARD
    - MAESTRO
    - AMERICAN EXPRESS (attualmente non supportato)
    - DISCOVER (attualmente non supportato)
    - CENA (attualmente non supportata)
    - UNCATEGORIZZATO (emittente non riconosciuto)
    23. cardData -> bin NO stringa{6} Le prime 6 cifre del numero della carta.
    24. cardData -> maschera NO stringa{4} Le ultime 4 cifre del numero della carta.
    n.d. hash stringa{1,128} Valore della funzione message digest calcolata come descritto nella sezione Sicurezza delle transazioni. Verifica obbligatoria della conformità dell'abbreviazione calcolata da parte del servizio.

    CONSIGLIO: Elemento hash (messaggio) è usato per autenticare il del documento. Il valore di questo elemento è calcolato come valore della funzione hash da una stringa contenente i valori concatenati di tutti i campi del documento e la chiave condivisa allegata. Per una descrizione di come viene calcolato l'hash
    , vedere la sezione Sicurezza delle transazioni.

    Risposta alla notifica

    La risposta di notifica prevede uno stato HTTP di 200 (OK) e un testo in formato XML (non codificato Base64), restituito dal Partner Service nella stessa sessione HTTP, contenente una conferma di ricezione del messaggio
    .

    Struttura di conferma (XML)

    	<?xml version="1.0" encoding="UTF-8"?>
    	<confirmationList>
    		<serviceID>ServiceID</serviceID>
    		<recurringConfirmations>
    			<recurringConfirmed>
    				<clientHash>ClientHash</clientHash>
    				<confirmation>Confirmation</confirmation>
    			</recurringConfirmed>
    		</recurringConfirmations>
    		<hash>Hash</hash>
    	</confirmationList>
    

    Elemento di conferma del pagamento automatico

    Elemento conferma è utilizzato per comunicare lo stato della verifica dell'autenticità della transazione da parte del Servizio partner. Il valore dell'elemento è determinato dalla verifica della correttezza del valore del parametro. serviceID, un confronto tra i valori dei campi ID ordine i importo nel messaggio di notifica e nel messaggio di avvio della transazione, oltre a verificare che l'hash calcolato dai parametri del messaggio corrisponda al valore passato nel campo hash del messaggio.

    Per l'elemento sono previsti due valori conferma:

    a) CONFERMATO - i valori dei parametri in entrambi i messaggi e il parametro hash corrispondono - la transazione è autentica;

    b) NON CONFERMATO - i valori nei due messaggi sono diversi o c'è una mancata corrispondenza dell'hash - la transazione non è autentica;

    CONSIGLIO: Elemento hash (in risposta a un messaggio) è usato per autenticare la risposta ed è calcolato a partire dai valori dei parametri della risposta. Per una descrizione di come viene calcolato il digest, fare riferimento alla sezione Sicurezza delle transazioni.

    Se non c'è una risposta corretta alle notifiche inviate, il sistema di pagamento online farà un altro tentativo di trasmissione dopo che è trascorso un periodo di tempo specificato. Il servizio del Partner deve eseguire la propria logica di business (ad esempio, lanciare un servizio di pagamento automatico, spedire ecc. ClientHash.

    Schema di riproduzione dei messaggi ITN/ISTN/IPN/RPAN/RPDN

    Di seguito è riportato uno schema che descrive il rinnovo programmato dei messaggi (ci riserviamo
    , tuttavia, la possibilità di rinnovare uno qualsiasi di essi in qualsiasi momento).

    Numero di rinnovo Intervallo fino al prossimo rinnovo
    1-12 3 min
    13-156 10 min
    157-204 1 ora
    205-209 1 giorno

    NOTE: La ripetizione continua dell'identico messaggio da parte del Sistema indica una risposta mancante o errata da parte del Servizio e richiede da parte del Partner per una diagnosi urgente della causa.

    Caricamento per il pagamento automatico

    Ricezione corretta dell'identificativo del servizio (ClientHash), rende il Partner pronto ad addebitare automaticamente al Cliente i beni/servizi acquistati dal Servizio. Il processo consiste in transazioni e comunicazioni ITN.

    Di seguito viene illustrato il processo di addebito automatico al cliente del servizio/bene (quindi RecurringAction=MANUAL/AUTO e il regolamento della transazione al Partner).

    Obciążenie dla płatności automatycznej

    Il messaggio ITN inviato dopo un pagamento automatico è simile a quelli ricevuti dopo i pagamenti una tantum. È esteso solo dal nodo RecurringData e (per i pagamenti con carta) CardData.

    Messaggio di avvio della transazione di pagamento automatizzata

    Per eseguire un caricamento automatico, il servizio partner deve eseguire una pre-transazione con il parametro ClientHashcompatibile con il servizio di pagamento automatico (proveniente da RPAN) precedentemente attivato, con il parametro
    Stato di accettazione ricorrente valore NON APPLICABILE e il valore corrispondente del parametro Azione ricorrente:

    a) AUTO - pagamento ricorrente (addebito senza coinvolgimento del cliente),

    b) MANUALE - pagamento con un solo clic (addebito ordinato dal cliente, chiamato OneClick).

    NOTE: La partecipazione del cliente all'opzione MANUALE, di solito, si limita a richiamare un messaggio (selezionando nel Servizio l'opzione di pagamento con la carta memorizzata). Nella maggior parte dei casi, è necessaria un'ulteriore autorizzazione in banca (sotto forma di codice 3DS o CVC). In tal caso, invece di un addebito (e dello stato dell'ordine in risposta a una pre-traduzione), il sistema restituirà un link per proseguire - questo è il comportamento predefinito del sistema nell'ambiente di test
    . Per testare uno scenario di carico senza la necessità di autorizzazioni aggiuntive, è necessario dichiarare la necessità di modificare la configurazione del Sistema per la durata del test.

    NOTE: Opzione non disponibile per i pagamenti automatici BLIK (BLIK OneClick).

    Disattivazione del servizio

    Il partner può disattivare il servizio di pagamento automatico in qualsiasi momento. Il processo può consistere in un messaggio che ordina la disattivazione del e in un messaggio RPDN (dedicato agli eventi di cancellazione del servizio di pagamento automatico).

    Dezaktywacja usługi

    Può anche accadere che l'annullamento del servizio sia avviato da parte dell'AP (ad esempio su richiesta del cliente, della banca o dell'organizzazione della carta). In questo caso, il sistema invierà anche un messaggio RPDN.

    Messaggio di disattivazione del pagamento automatico

    Il servizio può essere disattivato tramite un messaggio dedicato. Tutti i parametri di vengono passati tramite il metodo POST (al file https://{host_gateway}/disattiva_ricorrenti). Il protocollo è sensibile alle maiuscole e alle minuscole sia nei nomi dei parametri che nei valori. I valori dei parametri passati devono essere codificati in UTF-8.

    Elenco dei parametri per la disattivazione del pagamento automatico

    IMPORTANTE! L'ordine degli attributi per l'enumerazione Hash deve seguire la loro numerazione
    .

    Ordine di hash nome richiesto tipo descrizione
    1 ID servizio stringa{1,10} L'ID del servizio partner, assegnato durante la registrazione del servizio, identifica in modo univoco il servizio partner nel sistema di pagamento online.
    2 MessaggioID stringa{32} Identificatore pseudocasuale del messaggio con una lunghezza di 32 caratteri alfanumerici latini (ad esempio, basato sull'UID); il valore del campo deve essere unico per il sito partner.
    3 ClientHash stringa{1,64} Identificatore di pagamento automatico.
    n.d. Hash stringa{1,128} Valore della funzione message digest calcolata come descritto nella sezione Sicurezza delle transazioni. Verifica obbligatoria della conformità dell'abbreviazione calcolata da parte del servizio.

    NOTE: L'elemento Hash (messaggio) viene utilizzato per autenticare il documento. Il valore di questo elemento è calcolato come valore di una funzione hash da una stringa contenente i valori concatenati di tutti i campi del documento e la chiave condivisa allegata.

    Risposta

    In risposta alla notifica, viene restituito un testo formattato in XML nella stessa sessione HTTP
    , contenente una conferma.

    Struttura di conferma (XML)

    	<?xml version="1.0" encoding="UTF-8"?>
    	<confirmationList>
    		<serviceID>ServiceID</serviceID>
    		<messageID>MessageID</messageID>
    		<recurringConfirmations>
    			<recurringConfirmed>
    				<clientHash>ClientHash</clientHash>
    				<confirmation>Confirmation</confirmation>
    				<reason>Reason</reason>
    			</recurringConfirmed>
    		</recurringConfirmations>
    		<hash>Hash</hash>
    	</confirmationList>
    
    Conferma dell'elemento

    Elemento conferma è utilizzato per comunicare lo stato di verifica dell'autenticità dell'operazione da parte del Servizio. Il valore dell'elemento viene determinato verificando la correttezza dei valori dei parametri. serviceID e clientHash con quelli specificati nel messaggio RPAN all'inizio di un determinato pagamento di attivazione, oltre a verificare che l'hash calcolato dai parametri del messaggio corrisponda al valore passato nel campo Hash.

    Per l'elemento sono previsti due valori conferma:

    a) CONFERMATO - i valori dei parametri sono corretti e i parametri Hash sono coerenti - operazione autentica;

    b) NON CONFERMATO - i valori in entrambi i messaggi non sono corretti o Hash mismatch - operazione non autentica;

    NOTE: L'elemento hash (nel messaggio di risposta) è usato per autenticare la risposta ed è calcolato a partire dal valore dei parametri della risposta. Il valore di questo elemento è calcolato come valore di una funzione hash da una stringa contenente i valori concatenati di tutti i campi del documento (senza tag) e la chiave condivisa allegata. Per una descrizione dell'elemento Sicurezza delle transazioni.

    Notifica di disattivazione del pagamento automatico (RPDN)

    Quando il pagamento automatico viene disattivato per un dato ClientHash, viene inviato un messaggio dedicato sotto forma di documento XML, è tramite protocollo HTTPS (porta predefinita 443), utilizzando il metodo POST, con un parametro denominato ricorrente. Questo parametro è memorizzato utilizzando il meccanismo di codifica del trasporto Base64.

    Formato del documento (XML)

    	<?xml version="1.0" encoding="UTF-8"?>
    	<recurringDeactivation>
    		<serviceID>ServiceID</serviceID>
    		<recurringData>
    			<recurringAction>RecurringAction</recurringAction>
    			<clientHash>ClientHash</clientHash>
    			<deactivationSource>DeactivationSource</deactivationSource>
    			<deactivationDate>DeactivationDate</deactivationDate>
    		<recurringData>
    		<hash>Hash</hash>
    	</recurringDeactivation>
    

    I valori degli elementi serviceID, clientHash relativi a ciascuno dei pagamenti ciclici disattivati sono identici ai valori dei campi corrispondenti forniti nel messaggio RPAN all'inizio del rispettivo pagamento di inizializzazione.

    Descrizione dei parametri restituiti

    IMPORTANTE! L'ordine degli attributi per l'enumerazione Hash deve seguire la loro numerazione.

    Ordine di hash nome richiesto tipo descrizione
    1 serviceID stringa{1,10} L'ID del servizio partner, assegnato durante la registrazione del servizio, identifica in modo univoco il servizio partner nel sistema di pagamento online.
    2 dati ricorrenti -> recurringAction stringa{1,100} Azione nel processo di pagamento automatico (in questo caso, il valore DISATTIVA).
    3 dati ricorrenti -> clientHash stringa{1,64} Identificatore di pagamento automatico.
    4 recurringData -> deactivationSource stringa{1,64} Motivo della disattivazione del pagamento automatico. Questa descrizione va considerata come informativa, l'elenco dei valori ammessi è in continua crescita e la comparsa di nuovi valori non può comportare la non accettazione del messaggio RPDN.

    Di seguito sono riportati i valori attuali:
    - SERVIZIOcommissionato dai partner
    - ACQUIRENTEcommissionato dall'AP (ad esempio, al ricevimento di informazioni su fraudu)
    - BM_ITordinati dal cliente su fatture.autopay.eu
    - PAYBMderivanti dalla scadenza della carta.
    5 dati ricorrenti -> data di disattivazione stringa{14} L'ora di disattivazione del pagamento automatico, trasmessa nel formato YYYYMMDDhhmmss. (ora CET)
    n.d. hash stringa{1,128} Valore della funzione message digest calcolata come descritto nella sezione Sicurezza delle transazioni. Verifica obbligatoria della conformità dell'abbreviazione calcolata da parte del servizio.

    NOTE: L'elemento hash (messaggio) viene utilizzato per autenticare il documento. Il valore di questo elemento è calcolato come valore di una funzione hash da una stringa contenente i valori concatenati di tutti i campi del documento e la chiave condivisa allegata.

    Conferma della ricezione del messaggio

    La risposta alla notifica prevede lo stato HTTP 200 (OKq) e un testo in formato XML (non codificato Base64), restituito dal Servizio nella stessa sessione HTTP, contenente la conferma della ricezione del messaggio.

    Struttura di conferma (XML)

    	<?xml version="1.0" encoding="UTF-8"?>
    	<confirmationList>
    		<serviceID>ServiceID</serviceID>
    		<recurringConfirmations>
    			<recurringConfirmed>
    				<clientHash>ClientHash</clientHash>
    				<confirmation>Confirmation</confirmation>
    			</recurringConfirmed>
    		</recurringConfirmations>
    		<hash>Hash</hash>
    	</confirmationList>
    
    Conferma dell'elemento

    Elemento conferma è utilizzato per comunicare lo stato di verifica dell'autenticità dell'operazione da parte del Servizio. Il valore dell'elemento viene determinato verificando la correttezza dei valori dei parametri. serviceID e clientHash con quelli specificati nel messaggio RPAN all'inizio di un determinato pagamento di inizializzazione e verifica che l'hash calcolato dai parametri del messaggio corrisponda al valore passato nel campo hash.

    Per l'elemento sono previsti due valori conferma:

    a) CONFERMATO - i valori dei parametri sono corretti e i parametri hash sono coerenti - operazione autentica

    b) NON CONFERMATO - i valori in entrambi i messaggi non sono validi o hash mismatch - operazione non autentica

    NOTE: L'elemento hash (nel messaggio di risposta) è utilizzato per l'autenticazione della risposta ed è calcolato a partire dal valore dei parametri della risposta. Il valore di questo elemento è calcolato come valore di una funzione hash da una stringa contenente i valori hash di tutti i campi del documento (senza tag
    ) e la chiave condivisa inclusa. Per una descrizione di come calcola l'hash, vedere la sezione Sicurezza delle transazioni.

    Se non c'è una risposta corretta alle notifiche inviate, il Sistema farà un altro tentativo di comunicazione dopo un certo tempo. Il Servizio deve eseguire la propria logica aziendale (ad esempio, interrompere il pagamento automatico, l'invio di posta elettronica, ecc.

    CONSIGLIO: Si consiglia di leggere anche le sezioni Monitoraggio delle comunicazioni ITN/ISTN/IPN/RPAN/RPDN i Schema di rinnovo dei messaggi ITN/ISTN/IPN/RPAN/RPDN.

    Verifica dell'identità del pagatore

    Descrizione della verifica dell'identità del pagatore

    La verifica dell'identità del pagatore può essere effettuata sulla base del confronto tra i dati forniti per la verifica nei parametri iniziali della transazione e i dati ottenuti dal pagamento registrato nel Sistema.

    I campi del messaggio di avvio della transazione associati a un servizio (descrizione nella sezione Avvio di una transazione con parametri aggiuntivi):

    • Nome della verifica,

    • Nome della verifica,

    • VerificaStreet,

    • VerificaStreetHouseNo,

    • VerificaStradaSala n,

    • VerificaStreetPremiseNo,

    • VerificaCodice postale,

    • VerificaCittà,

    • VerificaNRB

    I campi del messaggio ITN associati al servizio (descritti nella sezione Campi aggiuntivi nel messaggio ITN/IPN della transazione in entrata):

    • nodo clienteDati

    • verificaStato

    • nodo motivi della verifica

    CONSIGLIO: Istruzioni dettagliate su come interpretare gli stati dei pagamenti e delle verifiche di in questo processo sono contenute nella sezione Campi aggiuntivi nel messaggio ITN/IPN della transazione in entrata.

    Avvio di una transazione con parametri aggiuntivi

    L'avvio della transazione può essere effettuato con i parametri aggiuntivi descritti nelle sezioni seguenti.

    IMPORTANTE! L'ordine degli attributi per l'enumerazione Hash deve seguire la loro numerazione.

    Ordine di hash nome tipo descrizione
    8 Lingua stringa{1,2} Selezione della lingua in cui i contenuti saranno presentati nel sistema.
    I valori accettabili sono: PL, EN, DE, CS, ES, FR, IT.
    L'uso di valori diversi da PL deve essere confermato durante l'integrazione e deve dipendere dall'effettiva scelta della lingua da parte del Cliente sul Sito web.
    9 ClienteNRB stringa{26} Numero di conto del cliente, un parametro destinato esclusivamente ai Servizi partner che generano numeri di conto dedicati all'ordine o al cliente (cfr. Modello di regolamento per le transazioni dopo ogni pagamento).
    Sono ammesse solo cifre. Se durante l'integrazione è stato stabilito l'utilizzo di conti al di fuori della Polonia, il campo trasferisce l'IBAN e l'intervallo di dati previsto per il campo cambia in: caratteri latini alfanumerici (min. 15, max. 32 caratteri).
    10 Codice Swift stringa{8,11} Il codice swift corrispondente al numero di conto indicato.
    Sono ammesse solo cifre. Parametro da fornire se durante l'integrazione è stato stabilito l'uso di account non polacchi.
    11 Modalità di trasferimento estero stringa{4,5} Il sistema con cui deve essere effettuato il trasferimento del regolamento estero:
    SEPA (Single Euro Payments Area) - è possibile effettuare un bonifico in valuta euro all'interno degli Stati membri dell'Unione Europea, così come in altri Paesi del Vecchio Continente, ad esempio Islanda, Liechtenstein, Norvegia, Svizzera, Monaco o Andorra,
    SWIFT - trasferimenti all'estero non realizzabili con la SEPA (ad esempio, valuta diversa dall'euro), comporta costi di trasferimento più elevati rispetto alla SEPA.

    Valori accettabili: SEPA e SWIFT.
    Parametro da fornire se durante l'integrazione è stato stabilito l'uso di conti al di fuori della Polonia.
    12 Paese fiscale stringa{1,64} Paese di residenza del pagatore.
    13 ClienteIP stringa{1,15} L'indirizzo IP dell'utente, un parametro destinato solo ai servizi partner che eseguono il sistema in background (cfr. Pre-transazione e Richiesta dei dettagli del trasferimento per una transazione di trasferimento rapido).
    14 Titolo stringa{1,95} Titolo del bonifico che compensa la transazione, un parametro destinato solo ai Servizi partner compensati tramite bonifico dopo ogni pagamento (cfr. Modello di regolamento per le transazioni dopo ogni pagamento). In alcuni casi, indipendentemente dall'AP, il titolo del trasferimento del regolamento può essere modificato autonomamente dalla Banca presso la quale è avvenuto il regolamento.
    Caratteri alfanumerici latini e caratteri dell'intervallo accettabili: dove il segno "/" sarà sostituito da un "-" per le transazioni in uscita.
    15 NomeRicevitore stringa{1,35} Nome del destinatario del bonifico che compensa la transazione, parametro destinato solo ai Servizi partner compensati tramite bonifico dopo ogni deposito (cfr. Modello di regolamento per le transazioni dopo ogni pagamento).
    Caratteri alfanumerici latini e caratteri dell'intervallo accettabili:
    16 Prodotti stringa{1,10000} Informazioni sui prodotti inclusi nella transazione, trasmesse come XML codificato con protocollo di trasporto Base64.
    La descrizione della struttura in parte Cestino prodotti.
    17 Telefono del cliente stringa{9-15} Numero di telefono dell'utente.
    Sono ammessi solo i numeri.
    18 ClientePesel stringa{11} Numero PESEL dell'utente.
    Sono ammessi solo i numeri.
    20 Numero cliente stringa{1,35} Numero di cliente nel Servizio.
    21 Numero di fattura stringa{1,100} Il numero del documento finanziario nel Servizio.
    22 Nome dell'azienda stringa{1,150} Nome della società per la verifica automatica del contributore, ad esempio Cool Company.
    23 Nip stringa{1,10} Il numero di partita IVA dell'azienda verificata, ad esempio 5851351185.
    Sono ammessi solo i numeri.
    24 Regon stringa{9,14} Il numero di identificazione REGON dell'azienda verificata, ad esempio 191781561.
    Sono ammessi solo i numeri.
    25 NomeVerifica stringa{1,32} Il nome di battesimo fornito dal Servizio per la verifica automatica del collaboratore, ad esempio Jan.
    Sono ammesse solo le lettere dell'alfabeto polacco.
    26 NomeVerifica stringa{1,64} Nome indicato nel Servizio per la verifica automatica del contributore, ad esempio Kowalski.
    Sono ammesse solo le lettere dell'alfabeto polacco.
    27 VerificaStreet stringa{1,64} Via fornita dal Servizio per la verifica automatica, ad esempio Długa.
    Sono ammesse solo lettere dell'alfabeto polacco e numeri.
    28 VerificaStreetHouseNo stringa{1,64} Il numero civico fornito dal Servizio per la verifica automatica del contribuente.
    Sono ammesse solo lettere dell'alfabeto polacco e numeri.
    29 VerificaStradaSalaNessuno stringa{1,64} Il numero di telaio fornito dal Servizio per la verifica automatica del contribuente.
    Sono ammesse solo lettere dell'alfabeto polacco e numeri.
    30 VerificaStreetPremiseNo stringa{1,64} Numero del locale fornito dal Servizio per la verifica automatica del contribuente.
    Sono ammesse solo lettere dell'alfabeto polacco e numeri.
    31 Codice postale di verifica stringa{1,64} Codice postale fornito sul sito web per la verifica automatica del contribuente, formato XX-XXX, ad esempio 80-180.
    Sono ammessi solo i numeri e il segno -.
    32 VerificaCittà stringa{1,64} Città specificata nel Servizio per la verifica automatica del collaboratore, ad esempio Varsavia.
    Sono ammesse solo lettere dell'alfabeto polacco e numeri.
    33 VerificaNRB stringa{1,26} Il numero di conto bancario fornito dal Servizio per la verifica automatica del contribuente, ad esempio 88154010982001554242710005.
    Sono ammessi solo i numeri.
    35 Stato di accettazione ricorrente stringa{1,100} Informazioni sull'accettazione dei termini e delle condizioni di pagamento automatico che indicano se il Cliente ha accettato i termini e le condizioni di pagamento automatico o se l'accettazione deve essere imposta dal Sistema. Campo necessario per i pagamenti automatici nel modello WhiteLabel del servizio di pagamento fornito da AP al Cliente (il Cliente paga una commissione). La disponibilità dei termini e delle condizioni può essere verificata richiamando il metodo legalData.
    Valori ammessi:
    NON APPLICABILE - l'accettazione dei termini e delle condizioni non è richiesta (pagamento singolo o azione di addebito, cioè recurringAction con valore AUTO o MANUAL)
    ACCETTATO - dichiarazione di accettazione dei termini e delle condizioni del servizio dell'appaltatore (da allegare al contratto). RecurringAcceptanceID)
    PROMEMORIA - sul modulo della carta viene proposto il consenso per l'iscrizione alla carta, la cui spunta dà il via al pagamento automatico
    FORZA - Il consenso al salvataggio della carta è richiesto nel modulo della carta, altrimenti il pagamento non è possibile. NOTE: Disponibilità di opzioni ACCETTATO/PROMOSSO/FORZATO dipende dagli accordi commerciali (in particolare, determinare dove viene visualizzato il servizio di consenso/pagamento automatico).
    36 Azione ricorrente stringa{1,100} Campo obbligatorio per i pagamenti automatici, che specifica le azioni possibili su un pagamento automatico.
    Valori ammessi:
    INIT_WITH_PAYMENT - attivazione del pagamento automatico con pagamento di beni/servizi
    INIT_WITH_REFUND - attivazione di un pagamento automatico seguito da una restituzione di pagamento
    INIT_WITHOUT_PAYMENT - attivazione del pagamento automatico senza pagamento di beni/servizi. L'importo iniziale del pagamento è pari a 0,00.
    AUTO - pagamento ciclico (addebito senza coinvolgimento del cliente)
    MANUALE - pagamento con un solo clic (addebito avviato dal cliente) NOTE: Opzione non disponibile per i pagamenti automatici BLIK (BLIK OneClick).
    DISATTIVA - per disattivare il pagamento automatico
    37 ClientHash stringa{1,64} Identificatore automatico di pagamento. Questo parametro consente di assegnare uno strumento di pagamento (ad es. carta, BLIK) a un cliente in modo anonimo. In base ad esso, il Partner può attivare gli addebiti successivi nel modello di pagamento automatico.
    38 Nome dell'operatore stringa{1,35} Il nome dell'operatore del numero di telefono indicato.
    Valori accettabili: Plus, Play, Orange, T-Mobile.
    39 ICCID stringa{12,19} Numero della carta SIM del numero di telefono specificato.
    Valori ammessi (sono ammesse solo le cifre):
    Per Plus: 12 o 13 cifre
    Per Play, Orange, T-Mobile: 19 cifre
    40 Codice di autorizzazione stringa{6} Un codice di autorizzazione al pagamento inserito dal lato del servizio/sistema (attualmente supportato in BLIK). Il suo utilizzo significa che non è necessario reindirizzare il cliente alla pagina del Canale di pagamento. Dovrebbe quindi essere inserito solo tramite la Pre-transazione.
    Il formato dipende dal Canale di pagamento. Per il BLIK effettuato in background (BLIK 0 o BLIK OneClick): 6 cifre.
    41 Tipo di schermo stringa{4,6} Tipo di visualizzazione del modulo di autorizzazione al pagamento. Valori accettabili:
    IFRAME - non supportato
    COMPLETO.
    42 Chiave BlikUID stringa{1,64} Chiave Alias UID (utilizzata in BLIK). È l'identificativo univoco dell'utente del Servizio.
    Caratteri alfanumerici latini e caratteri ammessi: _.
    43 Etichetta BlikUID stringa{1,20} Etichetta Alias UID (utilizzata in BLIK), che verrà presentata al Cliente nell'applicazione bancaria per distinguere i conti presso il Partner. Si raccomanda di utilizzare il login, il nickname o l'indirizzo e-mail assegnato al conto autorizzato del Cliente. Se esiste la possibilità che i dati personali (ad esempio, l'indirizzo e-mail) vengano trasmessi al Partner. jan.kowalski@poczta.pl) rendere i dati riservati (sostituendo i 3 punti con alcuni caratteri, ad es. ja...ki@po...pl).
    Caratteri alfanumerici latini e caratteri dell'intervallo: . : @ - , spazio.
    44 BlikAMKey stringa{1,64} Chiave alias dell'applicazione mobile della banca (utilizzata in BLIK). Si tratta dell'identificativo unico del vostro conto BLIK.
    Cifre accettabili.
    45 URL di ritorno stringa{1,1000} Indirizzo dinamico di ritorno del pagamento che inizia con http/https.
    URL validi accettabili. Possono contenere IP, porta, sottodominio, caratteri polacchi e (dopo il dominio) parametri e caratteri speciali: ,'\+%$#_!=.
    46 Modalità di transazione stringa{2,10} Possibilità di modificare il regolamento delle transazioni. Mancanza di parametri (retrocompatibilità) trattati come invio di valori COMUNI.
    Il parametro NESSUNO fa sì che la transazione venga trattata come una ricarica del saldo prepagato e non venga regolata.
    Valori accettabili:
    COMUNE
    NESSUNO
    47 Token di pagamento stringa{1,100000} Token utilizzato nei portafogli Visa e Google Pay collocati direttamente sul sito web del Partner (autorizzazione senza reindirizzamento al Sistema). In questo caso, il sito web si integra direttamente con le API di Visa e/o Google per recuperare l'handle della carta. Il token ottenuto viene trasmesso al Sistema di pagamento online in forma codificata con il protocollo di trasporto Base64. NOTE: Il parametro non è necessario se la selezione dei canali di pagamento (e l'accesso al portafoglio) avviene direttamente sulla pagina del sistema di pagamento online.
    48 Numero di documento stringa{1,150} Numero del documento finanziario.
    49 RecurringAcceptanceID stringa{1,10} Identificatore dei termini e delle condizioni del servizio di pagamento automatico visualizzati sul Sito Web e accettati dal Cliente. Campo obbligatorio per i pagamenti automatici nel modello Etichetta bianca servizio di pagamento fornito da AP al Cliente (il Cliente paga una commissione). Il regolamento ID corrispondente alla lingua scelta (e al canale di pagamento) deve essere scaricato utilizzando il metodo dati legali.
    50 Tempo di accettazione ricorrente stringa{1,19} Campo opzionale. Nel momento in cui il cliente accetta i termini e le condizioni, questo valore verrà verificato dal sistema con la durata dei termini e delle condizioni con il valore indicato. RecurringAcceptanceID.
    Valore campione: 2014-10-30 07:54:50. (Ora in CET)
    51 Stato di accettazione della regolamentazione predefinita stringa{1,100} Informazioni sull'accettazione dei termini e delle condizioni del servizio di pagamento. Campo obbligatorio nel modello Etichetta bianca servizio di pagamento fornito da AP al Cliente (il Cliente paga una commissione). In caso contrario, potrebbe verificarsi un errore o la visualizzazione della pagina di transizione del sistema con la richiesta di accettare i termini e le condizioni. La disponibilità dei termini e delle condizioni può essere verificata richiamando il metodo dati legali.
    Valori ammessi:
    ACCETTATO - l'accettazione dei termini e delle condizioni previste nel servizio dell'appaltatore (da indicare insieme alla DefaultRegulationAcceptanceID).
    52 DefaultRegulationAcceptanceID stringa{1,10} Identificatore dei termini e delle condizioni del servizio di pagamento fornito da AP al cliente e visualizzato sul sito web e accettato dal cliente. Campo necessario nel modello WhiteLabel del servizio di pagamento fornito da AP al Cliente (il Cliente paga la commissione). L'ID delle norme e dei regolamenti rilevanti per la lingua (e il canale di pagamento) selezionati deve essere recuperato con il metodo legalData.
    53 Tempo di accettazione del regolamento predefinito stringa{1,19} Campo opzionale. L'ora in cui le norme e i regolamenti sono stati accettati dal cliente; questo valore sarà verificato dal sistema con l'ora delle norme e dei regolamenti con il DefaultRegulationAcceptanceID specificato; valore di esempio: 2014-10-30 07:54:50. (Ora in CET)
    54 Tipo di portafoglio stringa{1,32} Payment Wallet Type, determina l'origine del parametro PaymentToken (se caricato).
    I valori disponibili sono:
    SDK_NATIVE - formato scheda nativo (SDK mobile)
    WIDGET - widget della carta (formato della carta prima dell'inizio della transazione) _
    55 Tempo di validità ricorrente stringa{10} Data di scadenza del pagamento automatico BLIK attivato, formato AAAA-MM-GG (valore di esempio: 2024-01-30). Se il parametro manca, verrà proposta una data di configurazione predefinita impostata durante l'integrazione (solitamente indefinita).
    56 URL del servizio stringa{1,1000} Parametro che specifica l'indirizzo web del negozio da cui è stato avviato il pagamento, iniziando con http/https. URL valido accettabile. Può contenere IP, porta, sottodominio, caratteri polacchi, nonché (dopo il dominio) parametri e caratteri speciali: ,'+%$#_!=
    57 Etichetta BlikPPL stringa{1,35} Etichetta del pagamento ricorrente BLIK, visualizzata nell'applicazione mobile quando viene accettato. Se il parametro manca, verrà utilizzato il suo valore predefinito (impostato durante l'integrazione).
    58 NomeRicevitorePerFronte stringa{1,35} Il nome del beneficiario, visualizzato sul paywall o sull'app mobile, tra gli altri, quando si accetta un pagamento. Se il parametro manca, verrà utilizzato il suo valore predefinito (di solito l'URL del servizio). NOTE: Il servizio deve essere concordato con il mentore aziendale. Caratteri alfanumerici latini accettabili, caratteri compresi nell'intervallo:
    59 Nome del titolare del conto stringa{1,100} Nome del proprietario del mezzo di pagamento.

    Cestino prodotti

    Descrizione del carrello di prodotti

    Il carrello dei prodotti viene inviato come parametro (metodo POST) denominato Products. Il suo valore è codificato con il protocollo di trasporto Base64.

    Formato prima della codifica (XML)

    	<?xml version="1.0" encoding="UTF-8"?>
    	<productList>
    		<product>
    			<subAmount>SubAmount1</subAmount>
    			<params>Params1</params>
    		</product>
    		<product>
    			<subAmount>SubAmount2</subAmount>
    			<params>Params2</params>
    		</product>
    		…
    		<product>
    			<subAmount>SubAmountN</subAmount>
    			<params>ParamsN</params>
    		</product>
    	</productList>
    

    Nodo elenco prodotti deve contenere almeno 1 elemento prodotto, ogni nodo prodotto devono contenere ciascuno un elemento di subImporto i params.

    Elemento subImporto deve contenere un importo di prodotto positivo (il separatore decimale è un punto seguito da due cifre da un centesimo). La somma degli importi dei prodotti consecutivi deve essere uguale all'importo indicato nel parametro Importo (l'importo della transazione).

    Se le condizioni di cui sopra non sono soddisfatte, il sistema restituisce un errore.

    Parametri dell'elemento

    Elemento params possono essere utilizzati per comunicare informazioni specifiche sul prodotto. I nomi dei parametri e il loro significato sono soggetti a un accordo in forma operativa ogni volta durante l' integrazione.

    Di seguito sono riportati alcuni esempi di parametri di prodotto e il loro significato.

    • In questo caso, il nodo contiene il nome del prodotto:
    		<params>
    			<param name="productName" value="Nazwa produktu 1" />
    		</params>
    
    • In questo caso, il nodo contiene due valori assegnati al prodotto, che possono indicare, ad esempio, il tipo di prodotto e il suo nome:
    		<params>
    			<param name="productType" value="ABCD" />
    			<param name="productName" value="Nazwa produktu 1" />
    		</params>
    
    • Nel caso in cui il Servizio abbia un saldo nel Sistema, e preveda di effettuare rimborsi al Cliente di tutto o parte dell'importo pagato per il prodotto designato, è obbligato a trasferire nel prodotto il suo unico identifier (parametro denominato productID con tipo string{1,36} (caratteri alfanumerici latini e caratteri ammessi: _ i -)):
    		<params>
    			<param name="productID" value="12456" />
    		</params>
    
    • Se il Partner utilizza una struttura estesa (più punti di fatturazione), è tenuto a trasmettere in ogni prodotto l'identificativo del punto di fatturazione (parametro denominato idBalancePoint con tipo integer{1,10}):
    		<params>
    			<param name="idBalancePoint" value="12456" />
    		</params>
    
    • Nel caso in cui il Partner utilizzi la fatturazione TRASFERIMENTO DI MASSA, cioè

      • ogni transazione viene regolata immediatamente al momento del deposito e

      • i regolamenti sono effettuati a livello di prodotto/punto di regolamento (cioè vengono effettuati tanti trasferimenti di regolamento dopo il deposito quanti sono i prodotti nel paniere), e

      • non sono stati impostati dati di fatturazione fissi (o non sono stati impostati tutti i dati di fatturazione nella configurazione di fatturazione),

    Il partner deve fornire in ogni prodotto i dati mancanti per la fatturazione di quel prodotto. I parametri disponibili che costituiscono i dati sono:

    • clienteNRB - numero di conto target per la fatturazione.
      formato NRB (26 cifre con checksum). Se durante l'integrazione di viene stabilito l'utilizzo di conti non polacchi, allora il campo trasferisce IBAN e l'intervallo di dati previsto per il campo cambia in: caratteri alfanumerici latini (min. 15, max. 32 caratteri). Specificando valori in formato IBAN sarà necessario specificare nel prodotto anche i parametri swiftCode, foreignTransferMode.

    • titolo - titolo del trasferimento di regolamento del prodotto. In alcuni casi, al di fuori del controllo di AP, il titolo del trasferimento di regolamento può essere modificato autonomamente dalla Banca da cui è avvenuto il regolamento.
      Caratteri alfanumerici latini accettati e caratteri dell'intervallo
      :

    • NomeRicevitore - il nome del destinatario del bonifico che effettua la compensazione del prodotto.
      Caratteri alfanumerici latini e caratteri dell'intervallo accettati:

    Esempio di applicazione dei parametri a un prodotto:

    	<params>
    		<param name="customerNRB" value="83109010980000000107285707" />
    		<param name="title" value="Rozliczenie produktu X" />
    		<param name="receiverName" value="Jan Kowalski" />
    	</params>
    
    • Nel modello Marketplace, il Partner è tenuto a trasmettere in ogni prodotto l'identificativo del punto di fatturazione (parametro denominato idPunto di equilibrio di tipo intero{1,10}). Questo vale anche per il del saldo del punto di regolamento.

    Esempio di parametri del carrello:

    	<params>
    		<param name="idBalancePoint" value="12456" />
    		<param name="productName" value="Zasilenie salda dla Autopay" />
    	</params>
    
    Visualizzazione del carrello dei prodotti nella schermata di selezione del canale di pagamento

    Se durante la discussione del carrello prodotti è stato stabilito che il suo riepilogo deve essere visualizzato nella pagina del Sistema (la schermata di selezione del Canale di pagamento), è possibile specificare le etichette di ogni parametro utilizzato nel carrello. Il sistema può utilizzare l'etichetta predefinita del parametro oppure può accettarla all'inizio della transazione.

    Il valore dell'attributo titolo sarà visualizzato prima del valore del parametro prodotto.

    Esempio di attributo title

    	<params>
    		<param name="productName" value="Nazwa produktu 1" title="Nazwa"/>
    		<param name="productType" value="ABCD" title="Typ"/>
    	</params>
    

    Opzioni di comunicazione online aggiuntive per il partner

    Campi aggiuntivi nel messaggio ITN/IPN della transazione in entrata

    Descrizione

    La notifica immediata di una modifica dello stato di una transazione può contenere campi aggiuntivi (cfr. Schemi di preautorizzazione). La loro presenza è una questione di configurazione di
    , determinata durante l'integrazione (per impostazione predefinita, solo il nodo viene inviato
    . clienteDati).

    Il fatto che si tratti di un messaggio ITN o IPN è determinato unicamente dalla presenza di un nodo prodotto.

    Elenco completo dei campi aggiuntivi del messaggio ITN/IPN

    IMPORTANTE! L'ordine degli attributi per l'enumerazione Hash deve seguire la loro numerazione.

    Ordine di hash nome tipo descrizione
    11 indirizzoIP stringa{1,15} L'indirizzo IP del cliente registrato dal front-end del sistema, o l'indirizzo trasmesso al sistema nel parametro CustomerIP, o l'IP da cui è stata avviata la transazione nel sistema.
    13 numero cliente stringa{1,35} Numero di cliente nel Servizio.
    21 titolo stringa{1,140} Titolo del pagamento. In alcuni casi, al di fuori del controllo di AP, il titolo del bonifico può essere modificato autonomamente dalla Banca in cui è avvenuto il pagamento del cliente.
    22 dati del cliente> fNome stringa{1,128} Nome del pagatore.
    23 dati del cliente> lNome stringa{1,128} Nome del pagatore.
    24 dati del cliente> nome della strada stringa{1,128} Nome della via del pagatore.
    25 dati del cliente-> viaCasaNo stringa{1,10} Numero civico del pagatore.
    26 dati del cliente-> viaStaircaseNo stringa{1,10} Numero di gabbia del pagatore.
    27 dati del cliente-> viaPremioNo stringa{1,10} Numero di sede del pagatore.
    28 dati del cliente> codice postale stringa{1,6} Codice postale dell'indirizzo del pagatore.
    29 dati del cliente; città stringa{1,128} Città pagante.
    30 dati del cliente; nrb stringa{1,26} Conto bancario del pagatore.
    31 DatiCliente> DatiMittente stringa{1,600} Dati del pagatore in forma indivisa.
    32 verificaStato enum Elemento contenente lo stato di verifica del pagatore. Si tratta di un enum che consente i valori: In attesa, POSITIVO e NEGATIVO.
    n.d. motivi della verifica lettera Un elenco dei motivi della verifica negativa o in sospeso. I motivi possono essere molteplici.
    33 verificaStato enum Motivazione dettagliata in caso di esito negativo o di verifica in corso.
    Valori ammessi per la verifica negativa:
    - NOME - il nome o il cognome non corrispondono
    - NRB - il numero di conto non corrisponde
    - TITOLO - il titolo non corrisponde
    - STREET - il nome della via non corrisponde
    - HOUSE_NUMBER - numero civico non corretto
    - SCALA - numero di scala non corretto
    - PREMISE_NUMBER - il numero del locale non è corretto.
    - POSTAL_CODE - il codice postale non corrisponde
    - CITTA' - la città non è d'accordo
    - BLACKLISTED - il conto da cui è stato effettuato il pagamento è nella lista nera.
    - SHOP_FORMAL_REQUIREMENTS - il servizio verificato non soddisfaceva le condizioni formali

    Valori ammessi per la verifica in corso:
    - NEED_FEEDBACK - è in corso l'attesa che il servizio soddisfi le condizioni formali. NOTE: Per contare i valori di Hash, vengono presi i valori dei seguenti nodi: motivi della verifica, verificationStatusReason.
    60 importo iniziale importo L'importo della transazione indicato nel Link di pagamento (non include l'importo della commissione addebitata al Cliente, se presente). La somma della commissione del Cliente e importo iniziale è sul campo importopoiché si tratta del valore della transazione risultante). Come separatore decimale si utilizza un punto - ".". Formato: 0,00; lunghezza massima: 14 cifre prima del punto e 2 dopo il punto.
    70 dati ricorrenti-> recurringAction stringa{1,100} Azione nel processo di pagamento automatico (il significato e i valori ammessi sono descritti nella sezione Definizioni).
    71 dati ricorrenti-> clientHash stringa{1,64} Identificatore del pagamento automatico generato dal PA e trasmesso al Partner al momento dell'attivazione del pagamento automatico.
    72 dati ricorrenti-> data di scadenza stringa{14} Scadenza del pagamento automatico, trasmessa nel formato YYYMMDDhhmmss. (ora CET)
    73 cardData-> indice stringa{1,64} Indice della carta (se viene utilizzata una carta). L'indice identifica una carta con una data di scadenza (la modifica della data o del numero della carta cambia il valore di questo parametro).
    74 cartaDati-> validitàAnno stringa{4} Validità della carta nel formato YYYY (se è stata utilizzata una carta).
    75 data della carta> mese di validità stringa{4} Validità della carta in formato mm (se la carta è utilizzata).
    76 dati della carta stringa{1,64} Tipo di carta (se viene utilizzata una carta).
    Valori possibili:
    - VISA
    - MASTERCARD
    - MAESTRO
    - AMERICAN EXPRESS (attualmente non supportato)
    - DISCOVER (attualmente non supportato)
    - CENA (attualmente non supportata)
    - UNCATEGORIZZATO (emittente non riconosciuto)
    77 cardData-> bin stringa{6} Le prime 6 cifre del numero della carta (se viene utilizzata una carta). Viene passato se il parametro cardData-> mask non viene passato.
    78 schedaDati-> maschera stringa{4} Le ultime 4 cifre del numero della carta (se viene utilizzata una carta). Viene passato se il parametro cardData->bin non viene passato.
    90 prodotto-> subImporto importo L'importo del prodotto utilizza un punto fermo come separatore decimale - '.'.
    Formato: 0,00; lunghezza massima: 14 cifre prima del punto e 2 dopo il punto.
    Nodo disponibile solo nelle comunicazioni IPN.
    91 prodotto-> params lettera Parametri di prodotto successivi in base al formato del carrello all'avvio della transazione. Nodo disponibile solo nei messaggi IPN.

    NOTE: Per il conteggio dei valori di Hash, vengono presi gli attributi valore altri nodi prodotto.params.

    Esempio di messaggio ITN/IPN con parametri aggiuntivi (XML)

    	<?xml version="1.0" encoding="UTF-8"?>
    	<transactionList>
    	  <serviceID>ServiceID</serviceID>
    	  <transactions>
    	  <transaction>
    		<orderID>OrderID</orderID>
    		<remoteID>RemoteID</remoteID>
    		<amount>999999.99</amount>
    		<currency>PLN</currency>
    		<gatewayID>GatewayID</gatewayID>
    		<paymentDate>YYYYMMDDhhmmss</paymentDate>
    		<paymentStatus>PaymentStatus</paymentStatus>                 
    		<paymentStatusDetails>PaymentStatusDetails</paymentStatusDetails>
    		<addressIP>127.0.0.1</addressIP>
    		<customerNumber>1111111</customerNumber>
    		<title>title</title>
    		<customerData>
    		  <fName>fName</fName>
    		  <lName>lName</lName>
    		  <streetName>streetName</streetName>
    		  <streetHouseNo>streetHouseNo</streetHouseNo>
    		  <streetStaircaseNo>streetStaircaseNo</streetStaircaseNo>
    		  <streetPremiseNo>streetPremiseNo</streetPremiseNo>
    		  <postalCode>postalCode</postalCode>
    		  <city>city</city>
    		  <nrb>nrb</nrb>
    		  <senderData>senderData</senderData>    
    		</customerData>
    		<verificationStatus>verificationStatus</verificationStatus>
    		<verificationStatusReasons>
    		   <verificationStatusReason>reason1</verificationStatusReason>
    		   <verificationStatusReason>reason2</verificationStatusReason>
    		   <verificationStatusReason>reason3</verificationStatusReason>
    		</verificationStatusReasons>
    		<startAmount>999998.99</startAmount>    
    		<recurringData>
    			<recurringAction>RecurringAction</recurringAction>
    			<clientHash>ClientHash</clientHash>
    			<expirationDate>YYYYMMDDhhmmss</expirationDate>
    		</recurringData>
    		<cardData>
    			<index>Index</index>
    			<validityYear>ValidityYear</validityYear>
    			<validityMonth>ValidityMonth</validityMonth>
    			<issuer>Issuer</issuer>
    			<bin>BIN</bin>
    		</cardData>
    		<product>
    			<subAmount>SubAmount</subAmount>
    			<params>
    				<param name="idBalancePoint" value="idBalancePoint"/>
    				<param name="invoiceNumber" value="invoiceNumber"/>
    				<param name="customerNumber" value="customerNumber"/>
    				<param name="subAmount" value="SubAmount"/>
    			</params>
    		</product>
    	  </transaction>
    	  </transactions>
    	  <hash>Hash</hash>
    	</transactionList>
    
    Descrizione dettagliata della modifica dello stato di verifica - per una transazione completata con successo (risultato positivo o negativo)
    Stato del pagamento Stato di verifica Dettagli della verifica (verificationStatusReasons) Dettagli
    IN ATTESA IN ATTESA Vuoto Il cliente ha selezionato il metodo di pagamento.
    SUCCESSO IN ATTESA Vuoto La transazione è stata pagata, il sistema è in attesa di recuperare i dati del contribuente dal conto.
    SUCCESSO IN ATTESA BISOGNO DI UN RISCONTRO Autopay è in attesa che il Partner soddisfi le condizioni formali.
    SUCCESSO POSITIVO Vuoto La verifica ha avuto esito positivo.
    SUCCESSO NEGATIVO Elenco dei motivi di NEGATIVO Verifica negativa.
    Descrizione dettagliata della modifica dello stato di verifica - per una transazione non completata correttamente
    Stato del pagamento Stato di verifica Dettagli della verifica (verificationStatusReasons) Dettagli
    IN ATTESA IN ATTESA Vuoto Il cliente ha selezionato il metodo di pagamento.
    FALLIMENTO IN ATTESA Vuoto La transazione non è stata completata correttamente. Lo stato di verifica non verrà fornito.
    Stati dettagliati delle transazioni

    Il messaggio ITN per una transazione in entrata contiene, oltre allo stato di pagamento (campo Stato del pagamento) una descrizione dettagliata dello stato (campo pagamentoStatoDettagli). Questa descrizione va considerata come informativa, l'elenco dei valori ammessi è in continua crescita e la comparsa di nuovi valori non può comportare la non accettazione del messaggio ITN.

    Valori di stato della transazione - Stati generali (indipendenti dal canale di pagamento)
    Valore del campo Significato del campo
    AUTORIZZATO transazione autorizzata da un Canale di pagamento
    ACCETTATO transazione approvata dal Call Center (ad esempio, a seguito di un reclamo andato a buon fine)
    RIFIUTATO Transazione interrotta da un canale di pagamento (banca/agente di compensazione)
    RIFIUTATO_DA_UTENTE Transazione terminata dal cliente
    IMPORTO_ERRATO è stato pagato un importo diverso da quello indicato all'inizio della transazione
    SCADUTO transazione scaduta
    ANNULLATO una transazione annullata dal Servizio Partner o dal Call Centre (ad esempio su richiesta del Cliente). Non è possibile avviare una nuova transazione o continuare una transazione precedentemente avviata con la stessa ID ordine
    RICORSIONE_INATTIVA errore ciclico nell'attività di pagamento
    ALTRO_ERRORE si è verificato un altro errore durante l'elaborazione della transazione
    Valori di stato delle transazioni - Stati delle carte
    Valore del campo Significato del campo Codice di errore dell'organizzazione della scheda opzionale
    ERRORE_DI_CONNESSIONE errore di connessione con la banca dell'emittente della carta di pagamento
    LIMITE_DI_CARTA_SUPERATO errore nei limiti della carta di pagamento
    ERRORE DI SICUREZZA errore di sicurezza (ad es. cvv errato)
    NON ONORE Rifiuto dell'autorizzazione in banca; suggerimento di contattare il cliente con l'emittente della carta
    TREEDI_NEGATIVO transazione non riuscita in 3DS
    CARTA_EXPIRED carta non valida
    NUMERO_CARTA_ERRATA numero di carta errato
    FRODE_SUSPETTO sospetto di frode (ad esempio, smarrimento della carta, ecc.)
    STOP_RECURRING impossibilità di ripetizione a causa dell'annullamento delle istruzioni del cliente
    VUOTO transazione abbandonata o errore di comunicazione
    NON CLASSIFICATO altri errori
    Valori di stato della transazione - stati specifici della transazione BLIK
    Valore del campo Significato del campo
    FONDI_INSUFFICIENTI Mancanza di fondi. Messaggio consigliato da visualizzare per il cliente:
    Pagamento non riuscito - rifiuto della banca. Verificare il motivo del rifiuto nella domanda della banca.
    Se il motivo è che avete superato il limite, potete aumentarlo contattando la vostra banca.
    LIMIT_EXCEED Errore di limite (ad es. importi). Messaggio consigliato da visualizzare al cliente:
    Pagamento non riuscito - rifiuto della banca. Controllare il motivo del rifiuto nella domanda della banca....
    Se il motivo è che avete superato il limite, potete aumentarlo contattando la vostra banca.
    BAD_PIN è stato inserito un PIN errato al momento della conferma della transazione
    EMITTENTE_DECISO, UTENTE_DECISO, SEC_DECISO Transazione terminata dal cliente
    TIMEOUT i AM_TIMEOUT timeout nella comunicazione con l'applicazione mobile della banca
    USER_TIMEOUT timeout in attesa della conferma della transazione da parte del cliente

    Notifica immediata della modifica dello stato del prodotto (IPN)

    Nel caso di un partner che utilizza struttura estesa (Cestino prodotti con più punti di fatturazione), il sistema fornisce una notifica indipendente dei cambiamenti di stato per ciascun prodotto. Questo servizio ha senso se i singoli punti di fatturazione devono ricevere le proprie notifiche. In questo caso, la configurazione dell'IPN (indirizzo per le notifiche, campi da includere nel messaggio, ecc.) è memorizzata proprio a livello di configurazione del punto di fatturazione. La struttura dell'IPN è simile a quella dell'ITN (estesa solo dal nodo prodotto simile a quello descritto nel capitolo Campi aggiuntivi nel messaggio ITN/IPN della transazione in entrata, integrato solo dalla ripetizione dell'importo subImporto in params). Esempio di IPN nella sottosezione Campi aggiuntivi nel messaggio ITN/IPN della transazione in entrata).

    Notifica immediata di una modifica dello stato di una transazione di regolamento (ISTN)

    È possibile fornire messaggi relativi a tutte le erogazioni (liquidazioni, erogazioni a saldo e rimborsi) effettuate dal Sistema nell'ambito del servizio di pagamento. Poiché il servizio non è abilitato di default, la necessità di questo servizio, insieme all'indirizzo postale ISTN, deve essere richiesta dal Partner durante la determinazione dei requisiti.

    Se la comunicazione ISTN viene attivata con successo, il Sistema trasmette immediatamente le notifiche relative all'ordine dell'operazione di regolamento (eventuali prelievi/restituzioni) e alla modifica del suo stato.

    https://sklep_nazwa/odbior_informacji_o_rozliczeniu
    

    Questa notifica consiste nell'invio da parte del Sistema di un documento XML contenente i nuovi stati delle transazioni. Il documento viene inviato tramite il protocollo HTTPS (porta predefinita 443). Il documento viene inviato tramite il metodo POST, come parametro HTTP denominato transazioni. Questo parametro è memorizzato utilizzando il meccanismo di codifica di trasporto Base64.

    Formato del documento (XML)

    	<?xml version="1.0" encoding="UTF-8"?>
    	<transactionList>
    		<serviceID>ServiceID</serviceID>
    		<transactions>
    			<transaction>
    				<isRefund>true/false</isRefund>
    				<productID>ProductID</productID>
    				<orderID>OrderID</orderID>
    				<orderOutID>OrderOutID</orderOutID>
    				<remoteID>RemoteID</remoteID>
    				<remoteOutID>RemoteOutID</remoteOutID>
    				<amount>999999.99</amount>
    				<currency>PLN</currency>
    				<transferDate>YYYYMMDDhhmmss</transferDate>
    				<transferStatus>TransferStatus</transferStatus>                 
    				<transferStatusDetails>TranasferStatusDetails</transferStatusDetails>
    				<title>Title</title>
    				<receiverBank>ReceiverBank</receiverBank>      
    				<receiverNRB>ReceiverNRB</receiverNRB>
    				<receiverName>ReceiverName</receiverName>
    				<receiverAddress>ReceiverAddress</receiverAddress>
    				<senderBank>SenderBank</senderBank>
    				<senderNRB>SenderNRB</senderNRB>
    			</transaction>
    		</transactions>
    		<hash>Hash</hash>
    	</transactionList>
    
    Parametri restituiti

    IMPORTANTE! L'ordine degli attributi per l'enumerazione Hash deve seguire la loro numerazione.

    Ordine di hash nome richiesto tipo descrizione
    1 serviceID NO stringa{1,10} L'ID del servizio partner, assegnato durante la registrazione del servizio, identifica in modo univoco il servizio partner nel sistema di pagamento online.
    2 isRefund NO Booleano Informazioni sul fatto che l'ISTN si riferisca alla restituzione di una transazione (true) o al normale regolamento (false).
    3 ID prodotto NO stringa{1,36} L'identificativo del prodotto fatturato dal paniere di prodotti della transazione in entrata; il valore del campo deve essere unico per il Servizio partner.
    4 ID ordine NO stringa{1,32} Identificatore di transazione in ingresso, composto da un massimo di 32 caratteri alfanumerici latini; il valore del campo deve essere unico per il Servizio partner.
    5 orderOutID NO stringa{1,32} Identificatore della transazione in uscita, composto da un massimo di 32 caratteri alfanumerici latini. Il campo può essere assegnato dal Servizio (nel caso di un ordine di fatturazione) o dal Sistema di pagamento online.
    6 ID remoto NO stringa{1,20} Identificativo alfanumerico della transazione in entrata assegnato dal Sistema di pagamento online (dato se un pagamento è collegato al regolamento).
    7 remoteOutID NO stringa{1,20} L'identificativo alfanumerico dell'operazione di regolamento assegnato dal Sistema di pagamento online.
    8 importo importo Importo della transazione. Un punto - '.' - viene utilizzato come separatore decimale. Formato: 0,00; lunghezza massima: 14 cifre prima del punto e 2 dopo il punto.
    9 valuta stringa{1,3} Valuta della transazione.
    40 data di trasferimento NO stringa{14} L'ora in cui la transazione è stata autorizzata, trasmessa nel formato YYYMMDDhhmmss. (ora CET).
    Si verifica solo per transferStatus=SUCCESS.
    41 transferStatus enum Stato di autorizzazione dell'operazione di regolamento.
    Adotta i seguenti valori:
    - PENDING - trasferimento in corso
    - SUCCESSO - trasferimento ordinato alla banca
    - FALLIMENTO - il trasferimento non può essere effettuato, ad esempio numero di conto sbagliato.
    42 transferStatusDetails NO enum Stato dettagliato della transazione, valore che può essere ignorato dal Servizio partner.
    Accetta i seguenti valori (l'elenco può essere esteso):
    - AUTORIZZATO - transazione presentata per l'esecuzione in banca
    - CONFIRMED - transazione confermata in banca (denaro inviato fisicamente)
    - ANNULLATO - transazione annullata dal servizio partner o dal call center (ad esempio, su richiesta del servizio).
    - ANOTHER_ERROR - si è verificato un altro errore di elaborazione della transazione
    43 titolo NO stringa{1,140} Titolo del bonifico. In alcuni casi, al di fuori del controllo di AP, il titolo del bonifico può essere modificato autonomamente dalla Banca da cui è stato effettuato il regolamento.
    Caratteri alfanumerici latini e caratteri dell'intervallo accettabili: ĘęÓ󥹌śŁłŻżŹźĆćŃń\\s.-/,!@#%\^\*()\_=+\[\]{};:?dove il segno "/" sarà sostituito da un "-" per le transazioni in uscita.
    44 ricevitoreBanca NO stringa{1,64} Il nome della banca presso la quale il Sistema ha effettuato il bonifico.
    45 ricevitoreNRB NO stringa{26} Il numero di conto bancario del destinatario del bonifico.
    46 NomeRicevitore NO stringa{1,140} Nome del destinatario del trasferimento.
    Caratteri alfanumerici latini e caratteri dell'intervallo accettabili:
    47 indirizzo del ricevitore NO stringa{1,140} Indirizzo del destinatario del trasferimento.
    Caratteri alfanumerici latini e caratteri dell'intervallo accettabili:
    48 mittenteBanca NO stringa{1,64} Il nome della banca attraverso la quale il Sistema ha effettuato il bonifico.
    49 mittenteNRB NO stringa{26} Numero di conto corrente bancario dell'ordinante del bonifico.
    n.d. hash stringa{1,128} Valore della funzione message digest calcolata come descritto nella sezione Sicurezza delle transazioni. Verifica obbligatoria della conformità dell'abbreviazione calcolata da parte del servizio.
    Risposta alla notifica

    In risposta alla notifica, ci si aspetta un testo in formato XML (non codificato Base64), restituito dal Servizio partner nella stessa sessione HTTP, contenente una conferma di ricezione dello stato della transazione.

    Struttura di conferma (XML)

    	<?xml version="1.0" encoding="UTF-8"?>
    	<confirmationList>
    		<serviceID>ServiceID</serviceID>
    		<transactionsConfirmations>
    			<transactionConfirmed>
    				<remoteOutID>RemoteOutID</remoteOutID>
    				<confirmation>Confirmation</confirmation>
    			</transactionConfirmed>
    		</transactionsConfirmations>
    		<hash>Hash</hash>
    	</confirmationList>
    

    Elemento conferma è utilizzato per comunicare lo stato della verifica dell'autenticità della transazione da parte del servizio partner. Il valore dell'elemento è determinato dalla convalida del valore del parametro serviceID e dalla verifica che l'hash calcolato corrisponda al valore passato nel campo hash.

    Per questo elemento sono previsti due valori:

    a) CONFERMATO - il parametro hash è coerente - transazione autentica;

    b) NON CONFERMATO - il parametro hash è inconsistente - transazione non autentica;

    Se non c'è una risposta corretta alle notifiche inviate, il Sistema farà ulteriori tentativi di comunicare un nuovo stato dopo un tempo specificato
    . Il Servizio partner deve eseguire la propria logica aziendale, solo dopo il primo messaggio relativo a un determinato stato di pagamento.

    CONSIGLIO: Vale la pena di dare un'occhiata a Schema di riproduzione dei messaggi ITN/ISTN/IPN/RPAN/RPDN.

    Descrizione dettagliata del comportamento e della modifica degli stati di regolamento (transferStatus)

    Nel modello di base, il Sistema fornirà solo lo stato SUCCESSOTuttavia, è possibile una notifica più precisa
    . L'opzione completa deve essere notificata durante l'integrazione e comporta il seguente schema di transizioni di stato.

    Un ordine per una transazione di regolamento invia uno stato IN ATTESA. In seguito, il sistema fornirà SUCCESSO o FALLIMENTO. Per le transazioni per le quali si è verificato lo status SUCCESSOnon dovrebbe più esserci un cambio di stato in FALLIMENTO. È tuttavia possibile che si verifichi una modifica dello stato di dettaglio (i successivi messaggi di modifica dello stato di dettaglio sono solo informativi e non devono comportare la riesecuzione della logica aziendale).

    In casi particolari (ad esempio un errore della banca), una transazione originariamente confermata può essere passata per una nuova esecuzione, e quindi cambiare il suo stato a IN ATTESA e di nuovo a SUCCESSO.

    Un altro caso particolare può essere lo stato di FALLIMENTO (ad esempio dopo un errore interno del sistema
    ), poi sostituito dallo stato dell'elemento SUCCESSO.

    Servizi aggiuntivi

    Interrogazione dell'elenco dei canali di pagamento attualmente disponibili

    Descrizione

    Per costruire una vista di selezione dei metodi di pagamento nel servizio, il sistema consente di interrogare da remoto l'elenco corrente dei canali di pagamento. Per farlo, chiamare il metodo gatewayList (https://{host_gateway}/gatewayList/v3) con parametri corrispondenti (in formato JSON). Tutti i parametri sono trasmessi utilizzando la tecnologia REST. Il protocollo è sensibile alle maiuscole sia nei nomi dei parametri che nei valori. I valori dei parametri passati devono essere codificati in UTF-8.

    Elenco dei parametri disponibili

    IMPORTANTE! L'ordine degli attributi per l'enumerazione Hash deve seguire la loro numerazione.

    Ordine di hash nome richiesto tipo descrizione
    1 ID servizio intero ID servizio partner.
    2 MessaggioID stringa{32} Identificatore pseudocasuale del messaggio con una lunghezza di 32 caratteri alfanumerici latini (ad esempio, basato sull'UID). Il valore del campo deve essere unico per il Servizio partner.
    3 Valute stringa{0,1000} Elenco di valute di cui si vuole restituire l'elenco dei canali disponibili.
    L'elenco deve avere un minimo di un elemento. I valori accettabili sono: PLN, EUR, GBP, USD.
    4 Lingua stringa{2} Lingua in cui verranno restituite le descrizioni dei metodi di pagamento.
    Valori accettabili: PL,EN,DE,FR,IT,ES,CS,RO,SK,HU,UK,EL,HR,SL,TR,BG.
    5 Hash stringa{64} Valore della funzione message digest calcolata come descritto nella sezione Sicurezza delle transazioni

    Esempio di messaggio

    {
    	"ServiceID": 47498,
    	"MessageID": "11111111111111111111111111111111",
    	"Currencies":"PLN,EUR",
    	"Language": "PL",
    	"Hash": "306519f632e53a5e662de0125da7ac3f8135c7e4080900f2b145d4b25ff1b55d"
    }
    
    Risposta alla richiesta

    In risposta a una richiesta, vengono restituiti 2 elenchi di definizioni nella stessa sessione HTTP:

    a) Canali di pagamento (nodo gatewayList)

    b) Gruppi di pagamento (nodo gatewayGruppi)

    Di seguito viene riportata una descrizione dettagliata del messaggio restituito:

    nome richiesto tipo descrizione
    1 risultato stringa{1,5} Stato della risposta.
    Valori accettabili:
    - OK
    - ERRORE
    2 erroreStato stringa{1,100} Stato di errore, da compilare in caso di errore (altrimenti nullo).
    3 descrizione stringa{1.500} Descrizione dell'errore, da compilare in caso di errore (altrimenti null).
    4 gatewayGruppi lettera Un elenco contenente i gruppi di pagamento.
    4.1 tipo stringa{1,20} Tipo di gruppo di pagamento. Ogni definizione di pagamento è assegnata a uno dei tipi.
    4.2 titolo stringa{1,50} Nome del gruppo di pagamento.
    4.3 breveDescrizione NO stringa{1,200} Breve descrizione del gruppo di pagamento.
    4.4 descrizione NO stringa{1,1000} Descrizione dettagliata del gruppo di pagamento.
    4.5 ordine intero Ordine di visualizzazione consigliato per i gruppi di pagamento.
    4.6 iconUrl NO stringa{1,100} Indirizzo dal quale è possibile scaricare il logo del gruppo di pagamento.
    5 serviceID stringa{1,10} Identificatore del servizio del partner; derivato dalla richiesta del metodo.
    6 messaggioID stringa{32} Identificatore del messaggio derivato dalla richiesta del metodo.
    7 gatewayList NO lettera Elenco contenente ulteriori canali di pagamento (vuoto se non sono configurati canali di pagamento).
    7.1 gatewayID intero{1,5} Identificatore del Canale di pagamento con cui il Cliente può regolare il pagamento.
    7.2 nome stringa{1,200} Il nome del canale di pagamento che può essere visualizzato nell'elenco delle banche disponibili.
    7.3 gruppoTipo NO stringa{1,30} Tipo, utilizzato per raggruppare i canali di pagamento nel loro elenco.
    Il parametro prende i valori dal nodo gatewayGruppi.
    7.4 NomeBanca NO stringa{1,32} Nome della banca.
    7.5 iconUrl NO stringa{1,100} Indirizzo dal quale è possibile scaricare il logo del Canale di pagamento.
    7.6 Stato stringa{1,64} Informazioni sullo stato di disponibilità dei canali.
    Accetta valori:
    - OK - canale disponibile
    - TEMPORARY_DISABLED - canale temporaneamente non disponibile (ad es. per lavori bancari)
    - DISABLED - canale non disponibile (servizio sospeso per un periodo prolungato)
    7.7 statoData NO stringa{1,19} Ultimo aggiornamento dello stato del Canale di pagamento; valore di esempio: 2023-08-28 00:00:01. (ora CET)
    7.8 breveDescrizione NO stringa{1,200} Campo opzionale contenente una breve descrizione del canale di pagamento. Può essere visualizzato quando viene selezionato.
    7.9 descrizione NO stringa{1,1000} Campo opzionale che descrive dettagliatamente il canale di pagamento (può essere con tag HTML).
    7.10 descrizioneUrl NO stringa{1,200} Campo opzionale contenente un link a una pagina esterna che illustra il canale di pagamento.
    7.11 disponibilePer stringa{2,10} Il valore di questo campo indica a quale cliente è destinato il canale di pagamento:
    B2C - metodo di pagamento per le persone fisiche
    B2B - metodo di pagamento per le aziende
    ENTRAMBI - metodo di pagamento per tutti i clienti.
    In base a questo parametro, si deve decidere se presentare al cliente un canale di pagamento.
    7.12 parametri richiesti NO elenco Un elenco di parametri richiesti quando si seleziona un metodo di pagamento. Ad esempio, l'inizio di una transazione per un metodo di pagamento del gruppo B2B deve includere il parametro Nip. I parametri richiesti sono descritti nella sezione: Avvio di una transazione con parametri aggiuntivi.
    Attualmente, tali parametri possono essere: Nip e Nome del titolare del conto.
    7.13 mcc NO oggetto Codice categoria commerciante. Nodo opzionale, configurabile in aggiunta. In casi particolari, per siti contenenti prodotti di diverse categorie, possiamo restituire un elenco di codici MCC consentiti e vietati, in modo che il commerciante possa decidere se il metodo di pagamento può essere presentato o meno.
    7.13.1 consentito NO lettera Elenco dei codici MCC consentiti.
    7.13.2 non ammesso NO lettera Elenco dei codici MCC vietati.
    7.14 inBalanceAllowed NO booleano Informazioni sulla possibilità di utilizzare il canale (dopo accordi commerciali) per i saldi prepagati (inizio della transazione con il parametro TransactionSettlementMode=NONE).
    7.15 minValidityTime NO intero Tempo minimo di validità della transazione in minuti. Compare per i canali che richiedono più tempo del solito per stabilire lo stato del pagamento.
    7.16 ordine intero Ordine di visualizzazione consigliato per il metodo di pagamento.
    7.17 valute elenco Un elenco contenente le valute disponibili per il canale di pagamento, con i limiti degli importi.
    7.17.1 valuta stringa{3} La valuta che può essere pagata da questo canale. Se per un canale di pagamento sono disponibili più valute, l'elenco conterrà più di una voce.
    Sono accettati solo i valori: PLN, EUR, GBP e USD.
    Per il conteggio dei valori di Hash, vengono presi i valori dei seguenti nodi valute.
    7.17.2 importo minimo NO importo L'importo minimo di una transazione che può essere pagato attraverso questo canale. Come separatore decimale si usa un punto fermo - '. Formato: 0,00; lunghezza massima: 14 cifre prima del punto e 2 dopo il punto. Il campo è presente solo per alcuni canali, il valore è espresso nella valuta del campo. valuta.
    Per il conteggio dei valori di Hash, vengono presi i valori dei seguenti nodi valute.
    7.17.3 Importo massimo NO importo L'importo massimo di una transazione che può essere pagato attraverso questo canale. Un punto è usato come separatore decimale - ".". Formato: 0,00; lunghezza massima: 14 cifre prima del punto e 2 dopo il punto. Il campo è presente solo per alcuni canali, il valore è espresso nella valuta del campo. valuta.
    Per il conteggio dei valori di Hash, vengono presi i valori dei seguenti nodi valute.
    7.18 titolo del pulsante stringa Messaggio suggerito che dovrebbe essere presente sul pulsante "paga" dopo aver selezionato un canale di pagamento.

    Esempio di risposta

    {
        "result": "OK",
        "errorStatus": null,
        "description": null,
        "gatewayGroups": [
            {
                "type": "PBL",
                "title": "Przelew internetowy",
                "shortDescription": "Wybierz bank, z którego chcesz zlecić płatność",
                "description": null,
                "order": 1,
                "iconUrl": null
            },
            {
                "type": "FR",
                "title": "Dane do przelewu",
                "shortDescription": "Zleć przelew wykorzystując podane dane",
                "description": null,
                "order": 2,
                "iconUrl": null
            },
            {
                "type": "BNPL",
                "title": "Kup teraz, zapłać później",
                "shortDescription": "Kup teraz, zapłać później",
                "description": null,
                "order": 3,
                "iconUrl": null
            }
        ],
        "serviceID": "10000",
        "messageID": "2ca19ceb5258ce0aa3bc815e80240000",
        "gatewayList": [
            {
                "gatewayID": 106,
                "name": "Płatność testowa PBL",
                "groupType": "PBL",
                "bankName": "NONE",
                "iconURL": "https://testimages.autopay.eu/pomoc/grafika/106.gif",
                "state": "OK",
                "stateDate": "2023-10-03 14:35:01",
                "description": "Płatność testowa",
                "shortDescription": null,
                "descriptionUrl": null,
                "availableFor": "BOTH",
                "requiredParams": ["Nip"],
                "mcc": {
                    "allowed": [1234, 9876],
                    "disallowed": [1111]
                },
                "inBalanceAllowed": true,
                "minValidityTime": null,
                "order": 1,
                "currencies": [
                    {
                        "currency": "PLN",
                        "minAmount": 0.01,
                        "maxAmount": 5000.00
                    }
                ],
                "buttonTitle": "Płacę"
            },
            {
                "gatewayID": 9,
                "name": "Przelew z innego banku",
                "groupType": "FR",
                "bankName": "BANK TEST",
                "iconURL": "https://testimages.autopay.eu/pomoc/grafika/9.gif",
                "state": "OK",
                "stateDate": "2023-10-03 14:35:02",
                "description": "<b>Szybki przelew</b>",
                "shortDescription": "Szybki przelew",
                "descriptionUrl": null,
                "availableFor": "BOTH",
                "requiredParams": [],
                "mcc": null,
                "inBalanceAllowed": true,
                "minValidityTime": null,
                "order": 2,
                "currencies": [
                    {
                        "currency": "PLN"
                    }
                ],
                "buttonTitle": "Wygeneruj dane do przelewu"
            },
    		{
                "id": 701,
                "name": "Zapłać później z Payka",
                "groupType": "BNPL",
                "bankName": "NONE",
                "iconUrl": "https://testimages.autopay.eu/pomoc/grafika/701.png",
                "state": "OK",
                "stateDate": "2023-10-03 14:37:10",
                "description": "<div class=\"payway_desc\"><h1>Dane dotyczące kosztu</h1><p>Zapłać później - jednorazowo do 45 dni (...). Szczegóły oferty na: <a href="?r="https://payka.pl\" target=\"_blank\">Payka.pl</a></p></div>",
                "shortDescription": "Zapłać później - jednorazowo do 45 dni lub w kilku równych ratach",
                "descriptionUrl": null,
                "availableFor": "B2C",
                "requiredParams": [],
                "mcc": null,
                "inBalanceAllowed": false,
                "minValidityTime": 60,
                "order": 3,
                "currencies": [
                    {
                        "currency": "PLN",
                        "minAmount": 49.99,
                        "maxAmount": 7000.00
                    }
                ],
                "buttonTitle": "Płacę"
            }
        ]
    }
    

    NOTE: Il risultato dell'interrogazione del metodo deve essere salvato e aggiornato ogni minuto per verificare la disponibilità del canale. gatewayList nel servizio partner. Una risposta non valida deve essere considerata come una risposta vuota, un timeout o un elenco di nodi vuoto. gatewayGruppi o gatewayList.

    Richiesta di un elenco delle autorizzazioni formali attualmente disponibili

    Descrizione

    Descrizione di un'integrazione che consente l'utilizzo di una lista di pagamento incorporata in un servizio (o in un'applicazione mobile), senza fasi di transizione. In alcuni casi, invece di una fase di transizione, il comportamento standard del sistema prevede il blocco dell'inizio della transazione.

    I contenuti formali pertinenti (ossia le clausole informative e, se del caso, i termini e le condizioni) devono essere visualizzati già al momento della selezione del metodo di pagamento e la conferma della loro visualizzazione e, se del caso, accettazione (sotto forma di identificatori) deve essere trasmessa al sistema di pagamento online.

    Il sistema consente di interrogare a distanza l'elenco corrente degli obblighi e dei relativi contenuti formali. A questo scopo, il metodo dati legali (https://{host_gates}/legalData) con i corrispondenti parametri (in formato JSON).

    CONSIGLIO: Tutti i parametri sono trasmessi utilizzando la tecnologia REST. Il protocollo è sensibile alle maiuscole e minuscole sia nei nomi che nei valori dei parametri. I valori dei parametri trasmessi devono essere codificati in UTF-8.

    Elenco dei parametri disponibili

    IMPORTANTE! L'ordine degli attributi per l'enumerazione Hash deve seguire la loro numerazione
    .

    Ordine di hash nome richiesto tipo descrizione
    1 ID servizio intero ID servizio partner.
    2 MessaggioID stringa{32} Identificatore pseudocasuale del messaggio con una lunghezza di 32 caratteri alfanumerici latini (ad esempio, basato sull'UID). Il valore del campo deve essere unico per il Servizio partner.
    3 GatewayID intero{1,5} Identificativo del Canale di pagamento attraverso il quale il Cliente intende regolare il pagamento.
    4 Lingua stringa{2} La lingua in cui viene presentato il contenuto del Sito web.
    Valori accettabili PL, EN, DE, CS, ES, FR, IT, SK, RO, HU, UK.
    L'uso di valori diversi da PL deve essere confermato durante l'integrazione e dipende dalla scelta effettiva (da parte del cliente) della lingua nel Servizio.
    n.d. Hash stringa{1,128} Valore della funzione message digest calcolata come descritto nella sezione Sicurezza delle transazioni. Verifica obbligatoria della conformità dell'abbreviazione calcolata da parte del servizio.

    Esempio di messaggio

    	{
    		"ServiceID": 102422,
    		"MessageID": "11111111111111111111111111111111",
    		"GatewayID": 1500,
    		"Language": "PL",
    		"Hash":"61789013d932e2bc728d6206f7e9222b93e3176f7f07f6aa8cce1ccd65afaf0d"
    	}
    
    Elenco dei parametri restituiti

    In risposta alla richiesta, viene restituito un elenco (nella stessa sessione HTTP), contenente ulteriori contenuti formali sotto forma di: ID, tipo e formulazione del contenuto
    , la sua posizione nel Servizio, l'indirizzo alle regole e altre informazioni aggiuntive.

    IMPORTANTE! L'ordine degli attributi per l'enumerazione Hash deve seguire la loro numerazione
    .

    Ordine di hash nome richiesto tipo descrizione
    1 risultato stringa{1,5} Stato della risposta.
    Valori accettabili:
    - OK
    - ERRORE
    2 erroreStato stringa{1,100} Stato di errore, da compilare in caso di errore. Altrimenti null.
    3 descrizione stringa{1.500} Descrizione dell'errore, da compilare in caso di errore. Altrimenti null.
    4 serviceID stringa{1,10} Identificatore del servizio del partner; derivato dalla richiesta del metodo.
    5 messaggioID stringa{32} Identificatore pseudocasuale del messaggio di 32 caratteri alfanumerici latini (ad esempio, basato sull'UID). Derivato dalla richiesta del metodo.
    6 gatewayID intero{1,5} Identificatore del Canale di pagamento con cui il Cliente può regolare il pagamento.
    7 lingua stringa{2} La lingua in cui il Sistema restituisce i contenuti (clausole e regolamenti).
    8 modello di servizio stringa{1,20} Un campo per indicare il modello in cui funziona il servizio, per eventuali indicazioni future basate su questi valori (attualmente con i valori: MERCHANT, PAYER). A questo punto dovrebbe essere ignorato.
    n.d. elenco dei regolamenti lettera Un elenco contenente i contenuti formali disponibili per il canale di pagamento.
    9 regolamentoID intero{1,10} Identificatore formale del contenuto, che (se accettato dal cliente) deve essere passato nel parametro di inizio DefaultRegulationAcceptanceID, o RecurringAcceptanceID (rispettivamente per il tipo DEFAULT i RICORRENTE).
    Il metodo di accettazione è determinato dai campi showCheckbox i isCheckboxRequired. NOTE: Questo valore può ripetersi per le chiamate con diverse GatewayIDpoiché i regolamenti sono attribuiti a un gruppo di canali di pagamento piuttosto che a singoli canali.
    10 tipo stringa{1,64} Tipo di obbligo formale.
    Valori previsti:
    - DEFAULT - clausole e termini e condizioni di pagamento nel modello di servizio fornito da AP al cliente
    - RICORRENTE - e i termini e le condizioni del pagamento automatico. Valore disponibile solo se è configurato un servizio di pagamento automatico.
    - PSD2 - clausola dedicata ai canali di tipo PSD2 (valore non utilizzato al momento)
    - RODO - clausola informativa sul trattamento dei dati personali
    - PRIVACY - clausola informativa sulla privacy
    11 url NO stringa{1.500} Indirizzo del file dei termini e delle condizioni (da incorporare nel Servizio stesso). Per impostazione predefinita, se si tratta di un obbligo formale, dovrebbe far parte di una delle sue clausole, cioè il campo etichetta d'ingresso. CONSIGLIO: Appare quando c'è un documento associato al consenso.
    n.d. elenco etichette lettera Un elenco contenente le clausole disponibili per un determinato obbligo formale. L'obbligo può richiedere la visualizzazione di uno o più contenuti.
    12 etichettaID intero{1,10} Identificatore di clausola, trasmesso a scopo diagnostico (può essere ignorato dal Partner).
    13 etichetta d'ingresso stringa{1.500} Il contenuto della clausola da visualizzare sul Servizio in combinazione con la relativa regolamentoID. In alcuni casi, può includere un link ai regolamenti.
    14 posizionamento NO stringa{1,64} Informazioni che suggeriscono dove collocare le clausole.
    Valori attuali:
    - TOP_OF_PAGE - nella parte superiore del sito (ad es. vicino al logo/banner superiore)
    - NEAR_PAYWALL - intorno all'elenco dei canali di pagamento (direttamente sopra, sotto o accanto)
    - ABOVE_BUTTON - sopra il pulsante "Avvia il pagamento".
    - BOTTOM_OF_PAGE - in fondo alla pagina (di solito si riferisce a clausole di RODO, di informazione sulla PRIVACY)
    15 showCheckbox booleano Informazioni sull'opportunità di visualizzare una clausola accanto a una casella di controllo per l'accettazione da parte dell'utente.
    16 casella di controlloRichiesta booleano Informazioni sul fatto che la casella di controllo visualizzata deve essere selezionata dall'utente per procedere al pagamento. NOTE: Se il valore è true, il pulsante "Avvia pagamento" deve essere bloccato finché la casella di controllo non è selezionata.
    n.d. hash stringa{1,128} Valore della funzione message digest calcolata come descritto nella sezione Sicurezza delle transazioni. Verifica obbligatoria della conformità dell'abbreviazione calcolata da parte del servizio partner.

    Esempio di risposta

    	{
    		"serviceID": "102422",
    		"messageID": "11111111111111111111111111111111",
    		"gatewayID": "1500",
    		"language": "PL",
    		"serviceModel": "PAYER",
    		"regulationList": [
    			{
    				"regulationID": 6288,
    				"type": "RECURRING",
    				"url": "https://host/path?params",
    				"labelList": [
    					{
    						"labelID": 1,
    						"inputLabel": "<ul><li>\r\nZapoznałem się i akceptuję <a id=\"regulations_pdf\" target=\"_blank\" href=https://{host_bramki}/path?params>Regulamin świadczenia usług płatniczych</a> oraz <a class=\"privacy-policy\" href=\"https://{host_bramki}/polityka-prywatnosci.pdf\" target=\"_blank\">Politykę prywatności</a></li><li>\r\nChcę aby usługa została zrealizowana niezwłocznie, a w przypadku odstąpienia od umowy, wiem, że nie otrzymam zwrotu poniesionych kosztów za usługi zrealizowane na moje żądanie do chwili odstąpienia od umowy\r\n</li></ul>",
    						"placement": "ABOVE_BUTTON",
    						"showCheckbox": true,
    						"checkboxRequired": true
    					}
    				]
    			},
    			{
    				"regulationID": 1,
    				"type": "PRIVACY",
    				"labelList": [
    					{
    						"labelID": 1,
    						"inputLabel": "Autopay korzysta z plików cookie. Pozostając na tej stronie, wyrażasz zgodę na korzystanie z plików cookie zgodnie z <a class=\"privacy-policy\" href="?r="https://{host_bramki}/polityka-prywatnosci.pdf\" target=\"_blank\">Polityką prywatności Autopay S.A. </a> Możesz samodzielnie zarządzać cookies zmieniając odpowiednio ustawienia swojej przeglądarki lub oprogramowania urządzenia."
    						"placement": "BOTTOM_OF_PAGE",
    						"showCheckbox": false,
    						"checkboxRequired": false
    					}
    				]
    			}
    		],
    		"hash": "61789013d932e2bc728d6206f7e9222b93e3176f7f07f6aa8cce1ccd65afaf0d",
    		"result": "OK",
    		"errorStatus": null,
    		"description": null
    	}
    
    Descrizione della gestione della risposta

    Poiché i requisiti formali per il contenuto delle clausole, la loro disposizione e il metodo di accettazione dipendono dal canale di pagamento utilizzato, questo metodo deve essere richiamato ogni volta che viene selezionato (da qui l'obbligatorietà del parametro dell'elemento GatewayID).

    Il contenuto e il comportamento pertinenti dovrebbero essere adattati dinamicamente alle risposte del sistema (ad esempio, dovrebbe apparire una casella di controllo obbligatoria con una clausola informativa e un link ai termini e alle condizioni). Naturalmente, per rendere l'applicazione veloce, è gradito l'uso di una cache per ricordare le risposte delle chiamate recenti (ad esempio per 1 minuto).

    Il consenso visualizzato (ed eventualmente approvato) al momento del passaggio al pagamento deve essere confermato nel Sistema inserendo nel messaggio di inizio il parametro start del suo identificativo (e quindi il corrispondente valore del parametro regolamentoID).

    A seconda del valore del campo tipo regolamenti:

    - per la clausola visualizzato/accettato di tipo=DEFAULT:

    a. al parametro DefaultRegulationAcceptanceID dovrebbe andare il suo valore
    regolamentoID;

    b. al parametro Stato di accettazione della regolamentazione predefinita dovrebbe andare valore ACCETTATO e

    c. al parametro Tempo di accettazione del regolamento predefinito deve premere il valore corrispondente al momento dell'accettazione del consenso spuntando la casella e cliccando sul pulsante "Avvia pagamento".

    - per la clausola visualizzato/accettato di tipo=RECURRING:

    a. al parametro RecurringAcceptanceID dovrebbe raggiungere il suo valore regolamentoID;

    b. al parametro Stato di accettazione ricorrente dovrebbe raggiungere il valore di ACCETTATO e

    c. al parametro Tempo di accettazione ricorrente deve premere il valore corrispondente al momento dell'accettazione del consenso spuntando la casella di controllo e cliccando sul pulsante "Inizia il pagamento".

    NOTE: Campi (ad es. serviceModel, url, labelID) e i valori dei campi (ad es. PSD2, RODO, PRIVACY) metodi dati legali non sono necessari per la gestione di
    , ma occorre prevedere che si verifichino nella risposta di a una richiesta.

    Richiesta di saldo

    Descrizione

    Per tutti i servizi, è possibile interrogare il saldo corrente. Per questo, il metodo deve essere chiamato. balanceGet https://{host_gates}/webapi/balanceGet con i relativi parametri. Tutti i parametri vengono passati tramite il metodo POST (Content-Type: application/x-www-form-urlencoded). Il protocollo è sensibile alle maiuscole sia nei nomi dei parametri che nei valori. I valori dei parametri passati devono essere codificati in UTF-8.

    Elenco dei parametri disponibili per la bilancia corrente

    IMPORTANTE! L'ordine degli attributi per l'enumerazione Hash deve seguire la loro numerazione.

    Ordine di hash nome richiesto tipo descrizione
    1 ID servizio stringa{1,10} ID servizio partner.
    1 Punto di equilibrioID stringa{1,10} Identificatore del punto di insediamento. NOTE: Richiesto uno dei campi ID servizio o Punto di equilibrioID.
    Se si specificano entrambi, l'elaborazione della richiesta viene interrotta e viene visualizzato un errore http.
    2 MessaggioID stringa{32} Identificatore pseudocasuale del messaggio con una lunghezza di 32 caratteri alfanumerici latini (ad esempio, basato sull'UID). Il valore del campo deve essere unico per il Servizio partner.
    3 ID plenipotenziario NO stringa{8,8} ID proxy. Se presente, la chiave condivisa del proxy viene utilizzata per calcolare l'Hash, anziché la chiave primaria del servizio/punto di fatturazione. Questo influisce anche sull'Hash in risposta a questo messaggio. IMPORTANTE! L'utilizzo di questo campo richiede accordi commerciali speciali.
    n.d. Hash stringa{1,128} Valore della funzione message digest calcolata come descritto nella sezione Sicurezza delle transazioni. Viene utilizzata una chiave condivisa assegnata all'identificatore di configurazione utilizzato (Servizio o Punto di regolamento). Verifica obbligatoria della conformità dell'abbreviazione calcolata da parte del servizio.
    Risposta alla richiesta di saldo corrente

    In risposta alla richiesta, viene restituito un testo in formato XML (nella stessa sessione HTTP), contenente una conferma dell'operazione per o una descrizione dell'errore.

    Struttura di conferma (XML)

    	<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    	<balanceGet>
    		<serviceID>ServiceID</serviceID>
    		<messageID>MessageID</messageID>
    		<balance>Balance</balance>
    		<currency>Currency</currency>
    		<hash>Hash</hash>
    	</balanceGet>
    

    o

    	<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    	<balanceGet>
    		<balancePointID>BalancePointID</balancePointID>
    		<messageID>MessageID</messageID>
    		<balance>Balance</balance>
    		<currency>Currency</currency>
    		<hash>Hash</hash>
    	</balanceGet>
    
    Elenco dei campi di risposta

    IMPORTANTE! L'ordine degli attributi per l'enumerazione Hash deve seguire la loro numerazione
    .

    Ordine di hash nome richiesto tipo descrizione
    1 serviceID stringa{1,10} Identificatore di servizio del partner. Derivato da una richiesta di metodo.
    1 balancePointID stringa{1,10} Identificatore del punto di regolamento. Derivato da una richiesta di metodo. NOTE: Verrà restituito uno dei campi ID servizio o Punto di equilibrioID.
    2 messaggioID stringa{32} Identificatore pseudocasuale del messaggio di 32 caratteri alfanumerici latini (ad esempio, basato sull'UID). Derivato dalla richiesta del metodo.
    3 equilibrio importo Valore del saldo; un punto è usato come separatore decimale - '.' Formato: 0,00.
    4 valuta stringa{1,3} Valuta di equilibrio.
    Sono accettati solo i valori: PLN, EUR, GBP e USD.
    n.d. hash stringa{1,128} Valore della funzione message digest calcolata come descritto nella sezione Sicurezza delle transazioni. Viene utilizzata una chiave condivisa assegnata all'identificatore di configurazione utilizzato (Servizio o Punto di regolamento). Verifica obbligatoria della conformità dell'abbreviazione calcolata da parte del servizio partner.

    Equilibrio dell'offerta

    Descrizione

    Per i servizi che hanno un saldo nel Sistema, è possibile eseguire operazioni di accredito del saldo su futuri rimborsi. A tal fine, è necessario eseguire un avvio di transazione con il parametro Modalità di transazione o valori NESSUNO e Importo indicando l'importo della ricarica.

    L'uso di Pre-transazioni consentirà la semplice consegna della transazione conclusa al pagatore (ad esempio, fornendo l'indirizzo dell'ufficio contabile del partner in CustomerEmail).

    NOTE: Il servizio deve essere concordato con il custode aziendale. Nel modello Marketplace, sarà inoltre necessario costruire un paniere di prodotti indicando quale BalancePointID deve essere alimentato.

    Prelievi dal saldo

    Descrizione

    Per i servizi che hanno un saldo nel Sistema, è possibile eseguire operazioni di prelievo di tutto o parte del saldo sul conto definito per i regolamenti. A tal fine è necessario richiamare il metodo saldoPagamento (https://{host_gates}/settlementapi/balancePayoff) con i corrispondenti parametri
    .

    Tutti i parametri vengono passati tramite il metodo POST (Content-Type: application/x-www-form-urlencoded). Il protocollo è sensibile alle maiuscole e minuscole sia nei nomi dei parametri che nei valori. I valori dei parametri passati dovrebbero essere codificati in UTF-8.

    Elenco dei parametri disponibili per il prelievo del saldo

    IMPORTANTE! L'ordine degli attributi per l'enumerazione Hash deve seguire la loro numerazione.

    NOTE: Richiesto uno dei campi ID servizio o Punto di equilibrioID.
    Se si specificano entrambi, l'elaborazione della richiesta viene interrotta e viene visualizzato un errore http.

    Ordine di hash nome richiesto tipo descrizione
    1 ID servizio stringa{1,10} ID servizio partner.
    1 Punto di equilibrioID stringa{1,10} Identificatore del punto di insediamento.
    2 MessaggioID stringa{32} Identificatore pseudocasuale del messaggio con una lunghezza di 32 caratteri alfanumerici dell'alfabeto latino (ad esempio basato sull'UID); il valore del campo deve essere unico e indicare uno specifico ordine di pagamento nel Servizio del Partner. La verifica dell'univocità da parte del Sistema consente di ripetere il MessageID in caso di problemi di comunicazione (la ripetizione di questo valore comporta la conferma dell'ordine, senza una nuova esecuzione nel Sistema).
    3 Importo NO importo Importo del prelievo dal saldo (non può essere superiore al saldo attuale del servizio); la mancata indicazione di questo parametro comporta il prelievo del totale dei fondi accumulati sul saldo; un punto - '.' viene utilizzato come separatore decimale. Formato: 0,00.
    4 Valuta NO stringa{1,3} Valuta di pagamento. La valuta predefinita è il PLN (l'uso di un'altra valuta deve essere concordato durante l'integrazione). All'interno di ServiceID è supportata una sola valuta.
    Sono accettati solo i valori: PLN, EUR, GBP e USD.
    5 ClienteNRB NO stringa{26} Il numero di conto su cui deve essere effettuato il prelievo del saldo. Per impostazione predefinita, la configurazione dell'erogazione non consente di definire questo valore nella richiesta del metodo. saldoPagamento. Tale richiesta deve essere fatta durante l'integrazione. NOTE: In alcuni modelli, l'uso di questo campo può avvenire solo per le richieste provenienti da un elenco di IP affidabili e l'uso di uno dei 3 elementi aggiuntivi:
    - proteggere la comunicazione con un certificato client o
    - proteggere la comunicazione con un tunnel IPSec o
    - utilizzo del valore del parametro ClienteNRB dall'elenco degli account affidabili
    L'inosservanza di tali norme comporta un errore CUSTOMER_NRB_NOT_AUTHORIZED.

    Gli amministratori del pannello di sistema (https://portal.autopay.eu/admin) possono aggiornare autonomamente gli elenchi di IP e NRB attendibili nel file Controllo degli accessi configurazione del servizio. Sono ammesse solo le cifre. Se durante l'integrazione è stato stabilito l'utilizzo di conti al di fuori della Polonia, il campo trasferisce l'IBAN e l'intervallo di dati previsto per il campo cambia in: caratteri latini alfanumerici (min. 15, max. 32 caratteri).
    6 Codice Swift NO stringa{8,11} Il codice swift corrispondente al numero di conto indicato.
    Sono ammesse solo cifre. Parametro da fornire se durante l'integrazione è stato stabilito l'uso di account non polacchi.
    7 Modalità di trasferimento estero NO stringa{4,5} Il sistema con cui deve essere effettuato il trasferimento del regolamento estero:
    - SEPA (Single Euro Payments Area) - è possibile effettuare un bonifico in valuta euro all'interno degli Stati membri dell'Unione Europea, così come in altri Paesi del Vecchio Continente, ad esempio Islanda, Liechtenstein, Norvegia, Svizzera, Monaco o Andorra,
    - SWIFT - trasferimenti all'estero non possibili con la SEPA (ad esempio, valuta diversa dall'euro). Questa opzione è associata a costi di trasferimento più elevati rispetto alla SEPA.
    Valori accettabili: SEPA i SWIFT.
    Parametro da fornire se durante l'integrazione è stato stabilito l'uso di conti al di fuori della Polonia.
    8 NomeRicevitore NO stringa{35} Il nome del beneficiario del prelievo del saldo. Per impostazione predefinita, la configurazione dell'erogazione non consente di definire questo valore nella richiesta del metodo. saldoPagamento.
    Tale richiesta deve essere fatta durante l'integrazione.
    Caratteri alfanumerici latini e caratteri dell'intervallo accettabili:
    êÓÓ󱳿¼ññæñ.-/,!()=[]{};:?
    9 Titolo NO stringa{32} Titolo dell'erogazione del saldo. Per impostazione predefinita, la configurazione dell'erogazione non consente di definire questo valore nella richiesta del metodo. saldoPagamento. Tale richiesta deve essere fatta durante l'integrazione.
    In alcuni casi, al di fuori del controllo dell'AP, questo titolo può essere modificato autonomamente dalla Banca.
    Caratteri alfanumerici latini e caratteri dell'intervallo accettabili:
    dove il segno "/" sarà sostituito da un "-" per le transazioni in uscita.
    10 ID remoto NO stringa{1,20} L'identificativo alfanumerico della transazione in entrata assegnato dal Sistema e trasmesso al Partner nel messaggio ITN della transazione in entrata. Il valore di questo messaggio è utilizzato per indicare lo strumento di pagamento (carta, conto, ecc.) da utilizzare per il prelievo.
    11 Numero di fattura NO stringa{1,100} Il numero del documento finanziario nel Servizio. In questo messaggio, il valore viene utilizzato per indicare la fattura di rettifica associata al pagamento.
    12 ID plenipotenziario NO stringa{8,8} ID proxy. Se presente, la chiave condivisa del proxy viene utilizzata per calcolare l'Hash, anziché la chiave primaria del servizio/punto di fatturazione. Questo influisce anche sull'Hash in risposta a questo messaggio. IMPORTANTE! L'utilizzo di questo campo richiede accordi commerciali speciali.
    n.d. Hash stringa{1,128} Viene utilizzata la chiave condivisa assegnata all'identificatore di configurazione utilizzato (Servizio o Punto di regolamento). Il valore della funzione di hash per il messaggio, calcolato come descritto nella sezione Sicurezza delle transazioni. Verifica obbligatoria della conformità dell'abbreviazione calcolata da parte del servizio.
    Risposta alla richiesta

    Alla ricezione di una richiesta di prelievo di saldo, il Sistema esegue una verifica iniziale rispetto ai campi e ai loro valori inviati nel messaggio e salva l'ordine per l'esecuzione. In risposta alla richiesta, viene restituito un testo in formato XML (nella stessa sessione HTTP), contenente la conferma che l'ordine è stato salvato nella coda per l'esecuzione o la descrizione dell'errore (la struttura del messaggio di errore è descritta nella sezione Messaggi di errore.

    NOTE: La conferma di ricezione di un ordine non equivale alla sua effettiva esecuzione. Un prelievo dal saldo può essere elaborato fino a 30 minuti dopo l'invio della richiesta di prelievo e non sempre va a buon fine. In caso di problemi riscontrati durante l'elaborazione di un prelievo dal saldo (ad esempio, fondi insufficienti nel saldo), il giorno lavorativo successivo viene inviato un rapporto contenente informazioni sui prelievi dal saldo che non sono andati a buon fine.

    Struttura di conferma (XML)

    	<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    	<balancePayoff>
    		<serviceID>ServiceID</serviceID>
    		<messageID>MessageID</messageID>
    		<hash>Hash</hash>
    	</balancePayoff>
    

    o

    	<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    	<balancePayoff>
    		<balancePointID>BalancePointID</balancePointID>
    		<messageID>MessageID</messageID>
    		<hash>Hash</hash>
    	</balancePayoff>
    

    Descrizione dei campi

    IMPORTANTE! L'ordine degli attributi per l'enumerazione Hash deve seguire la loro numerazione
    .

    Ordine di hash nome richiesto tipo descrizione
    1 serviceID stringa{1,10} Identificatore di servizio del partner. Derivato da una richiesta di metodo.
    1 balancePointID stringa{1,10} Identificatore del punto di regolamento. Derivato da una richiesta di metodo. NOTE: Verrà restituito uno dei campi ID servizio o Punto di equilibrioID.
    2 messaggioID stringa{32} Identificatore pseudocasuale del messaggio di 32 caratteri alfanumerici latini (ad esempio, basato sull'UID). Derivato dalla richiesta del metodo.
    n.d. hash stringa{1,128} Valore della funzione message digest calcolata come descritto nella sezione Sicurezza delle transazioni. Verifica obbligatoria della conformità dell'abbreviazione calcolata da parte del servizio partner.

    NOTE: Tutte le risposte diverse da quella ipotizzata (cioè con campi non corretti, in particolare campi vuoti o non corretti) sono state inserite in un file di testo. hash). Nel caso in cui il sistema autorizzi il mittente del messaggio di ritorno ma l'operazione fallisca, la risposta seguirà lo schema descritto nella sezione Messaggi di errore. In caso di errore di comunicazione o di saldo insufficiente (ad esempio ON_DEMAND_ERROR), l'ordine può essere rinnovato. Se il saldo è bloccato (BALANCE_DISABLED) o la configurazione non è attiva (PARTNER_DISABLED), l'ordine non deve essere rinnovato.

    IMPORTANTE! In caso di errore in risposta a una richiesta di prelievo del saldo, la richiesta può essere ripetuta, ma si noti che qualsiasi richiesta di prelievo che non si concluda con un errore può essere eseguita. In caso di problemi di connessione, che superino il tempo massimo di risposta, la richiesta può essere ripetuta con lo stesso MessageID senza timore di duplicare l'ordine.
    In caso di saldo bloccato (BALANCE_DISABLED) o di configurazione inattiva (PARTNER_DISABLED), la richiesta non deve essere rinnovata. 3 errori consecutivi (indipendentemente dalla causa) bloccheranno il servizio di erogazione su richiesta per l'IP mittente del messaggio specificato per 10 minuti - le chiamate durante questo periodo per questo IP termineranno con un errore TEMPORARY_DISABLED.

    Restituzione delle transazioni

    Descrizione

    Per i servizi che presentano un saldo nel Sistema, è possibile effettuare operazioni di restituzione al Cliente di tutto o parte dell'importo pagato per la transazione indicata. Il rimborso dell'intera transazione può essere effettuato una sola volta (in caso di tentativo ripetuto di ordinare il rimborso della stessa transazione, il Sistema restituisce un errore opportunamente descritto). Le restituzioni di parte dell'importo di una transazione possono essere effettuate più volte, purché il loro totale non superi l'importo del deposito.

    Per eseguire la restituzione di una transazione, richiamare il metodo transazioneRimborso (https://{host_gates}/settlementapi/transactionRefund) con i parametri corrispondenti. Tutti i parametri vengono passati tramite il metodo POST (Content-Type: application/x-www-form-urlencoded). Il protocollo è sensibile alle maiuscole e minuscole sia nei nomi dei parametri che nei valori. I valori dei parametri passati devono essere codificati in UTF-8.

    Elenco dei parametri disponibili

    IMPORTANTE! L'ordine degli attributi per l'enumerazione Hash deve seguire la loro numerazione.

    Ordine di hash nome richiesto tipo descrizione
    1 ID servizio stringa{1,10} ID servizio partner.
    2 MessaggioID stringa{32} Identificatore pseudocasuale del messaggio con una lunghezza di 32 caratteri alfanumerici dell'alfabeto latino (ad esempio basato sull'UID); il valore del campo deve essere univoco e indicare uno specifico ordine di pagamento nel Servizio Partner. La verifica dell'univocità da parte del Sistema consente di ripetere quanto segue MessaggioID in caso di problemi di comunicazione (la reiterazione di questo valore comporterà la conferma dell'ordine, senza una nuova esecuzione nel Sistema).
    3 ID remoto stringa{1,20} L'identificativo alfanumerico della transazione di input restituita assegnato dal Sistema e passato al Partner nel messaggio ITN della transazione di input.
    4 Importo NO importo Importo del prelievo dal saldo (non può essere superiore al saldo attuale del servizio); la mancata indicazione di questo parametro comporta il prelievo del totale dei fondi accumulati sul saldo; un punto - '.' viene utilizzato come separatore decimale. Formato: 0,00.
    Nel modello Marketplace, il campo deve essere vuoto (ritorno totale). In caso contrario, non sarebbe possibile indicare il/i punto/i di fatturazione a cui addebitare tale operazione. In caso di restituzione totale, il saldo viene detratto in base alla somma degli importi dei prodotti del rispettivo punto di compensazione.
    5 Valuta NO stringa{1,3} Valuta di pagamento. La valuta predefinita è il PLN (l'uso di un'altra valuta deve essere concordato durante l'integrazione). All'interno di ServiceID è supportata una sola valuta.
    Sono accettati solo i valori: PLN, EUR, GBP e USD.
    n.d. Hash stringa{1,128} Valore della funzione message digest calcolata come descritto nella sezione Sicurezza delle transazioni. Verifica obbligatoria della conformità dell'abbreviazione calcolata da parte del servizio partner.

    In risposta alla richiesta, viene restituito un testo in formato XML (nella stessa sessione HTTP), che conferma l'operazione o descrive l'errore (descritto di seguito).

    Struttura di conferma (XML)

    	<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    	<transactionRefund>
    		<serviceID>ServiceID</serviceID>
    		<messageID>MessageID</messageID>
    		<hash>Hash</hash>
    	</transactionRefund>
    
    Descrizione dei campi

    IMPORTANTE! L'ordine degli attributi per l'enumerazione Hash deve seguire la loro numerazione
    .

    Ordine di hash nome richiesto tipo descrizione
    1 serviceID stringa{1,10} Identificatore di servizio del partner. Derivato da una richiesta di metodo.
    2 messaggioID stringa{32} Identificatore pseudocasuale del messaggio di 32 caratteri alfanumerici latini (ad esempio, basato sull'UID). Derivato dalla richiesta del metodo.
    n.d. hash stringa{1,128} Valore della funzione message digest calcolata come descritto nella sezione Sicurezza delle transazioni. Verifica obbligatoria della conformità dell'abbreviazione calcolata da parte del servizio partner.

    L'opzione di effettuare rimborsi per le transazioni pagate è possibile fino a 12 mesi indietro, contando dalla data in cui la transazione è stata avviata. Fanno eccezione i pagamenti BLIK che, a causa di vincoli temporali da parte del fornitore del canale di pagamento, possono essere rimborsati fino a 6 mesi prima.

    Queste scadenze si applicano all'elaborazione dei resi tramite il pannello di amministrazione e il pannello di amministrazione
    . transazioneRimborsoad esempio tramite gli strumenti amministrativi di
    . Quando questi valori vengono superati, viene restituito un errore (TRANSAZIONE_TROPPO_VECCHIA_PER_RIMBORSARE). Lo schema di funzionamento è analogo a quello dei prelievi da saldo. In altre parole, il Sistema accetta l'ordine e lo elabora in modo asincrono entro un massimo di 30 minuti; in caso di fallimento, l'informazione sull'operazione conclusasi con un errore viene inviata in un report il giorno lavorativo successivo.

    In caso di problemi di connessione, che superino il tempo massimo di risposta, la richiesta può essere ripetuta con lo stesso MessageID senza temere una richiesta duplicata. Tutte le risposte diverse da quella ipotizzata (ovvero con campi non validi, in particolare vuoti o non validi hash). Se il sistema autorizza il mittente del messaggio di ritorno
    , ma l'operazione non riesce, viene restituito un messaggio di errore
    .

    Restituzione del prodotto

    Descrizione

    Per i siti con un saldo nel Sistema e che specificano dei prodotti nel carrello, il parametro ID prodottoè possibile eseguire l'operazione di restituzione al Cliente dell'intero o di parte dell'importo pagato per il prodotto indicato. La restituzione dell'intero importo del prodotto può essere effettuata una sola volta (in caso di ripetuti tentativi di ordinare la restituzione dello stesso prodotto, il Sistema restituisce un errore opportunamente descritto). La restituzione di parte dell'importo del prodotto può essere effettuata su esso più volte, purché la loro somma non superi l'importo pagato al prodotto.

    Per eseguire una restituzione di prodotto, richiamare il metodo prodottoRimborso (https://{host_gates}/settlementapi/productRefund) con i corrispondenti parametri
    . Tutti i parametri sono passati tramite il metodo POST (Content-Type: application/x-www-form-urlencoded). Il protocollo è sensibile alle maiuscole e minuscole sia nei nomi dei parametri che nei valori. I valori di parametri passati devono essere codificati in UTF-8.

    Elenco dei parametri

    IMPORTANTE! L'ordine degli attributi per l'enumerazione Hash deve seguire la loro numerazione
    .

    Ordine di hash nome richiesto tipo descrizione
    1 ID servizio stringa{1,10} ID servizio partner.
    2 MessaggioID stringa{32} Identificatore pseudocasuale del messaggio con una lunghezza di 32 caratteri alfanumerici dell'alfabeto latino (ad esempio basato sull'UID); il valore del campo deve essere univoco e indicare uno specifico ordine di pagamento nel Servizio Partner. La verifica dell'univocità da parte del Sistema consente di ripetere quanto segue MessaggioID in caso di problemi di comunicazione (la reiterazione di questo valore comporterà la conferma dell'ordine, senza una nuova esecuzione nel Sistema).
    3 ID remoto stringa{1,20} L'identificativo alfanumerico della transazione di input restituita assegnato dal Sistema e passato al Partner nel messaggio ITN della transazione di input.
    4 ID prodotto stringa{1,36} Identificatore del prodotto restituito.
    5 Importo NO importo Importo del rimborso (non può essere maggiore dell'importo del prodotto e del saldo attuale del servizio + l'importo della commissione di rimborso, se presente). La mancata indicazione di questo parametro comporterà la restituzione al cliente dell'intero importo pagato per il prodotto restituito; un punto - '.' - viene utilizzato come separatore decimale. Formato: 0,00.
    6 Valuta NO stringa{1,3} Valuta di pagamento. La valuta predefinita è il PLN (l'uso di un'altra valuta deve essere concordato durante l'integrazione). All'interno di ServiceID è supportata una sola valuta.
    Sono accettati solo i valori: PLN, EUR, GBP e USD.
    n.d. Hash stringa{1,128} Valore della funzione message digest calcolata come descritto nella sezione Sicurezza delle transazioni. Verifica obbligatoria della conformità dell'abbreviazione calcolata da parte del servizio partner.
    Risposta alla richiesta

    In risposta alla richiesta, viene restituito (nella stessa sessione HTTP) un testo in formato XML, contenente una conferma dell'operazione o una descrizione dell'errore (descritto di seguito).

    Struttura di conferma (XML)

    	<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    	<productRefund>
    		<serviceID>ServiceID</serviceID>
    		<messageID>MessageID</messageID>
    		<hash>Hash</hash>
    	</productRefund>
    
    Descrizione dei campi

    IMPORTANTE! L'ordine degli attributi per l'enumerazione Hash deve seguire la loro numerazione.

    Ordine di hash nome richiesto tipo descrizione
    1 serviceID stringa{1,10} Identificatore di servizio del partner. Derivato da una richiesta di metodo.
    2 messaggioID stringa{32} Identificatore pseudocasuale del messaggio di 32 caratteri alfanumerici latini (ad esempio, basato sull'UID). Derivato dalla richiesta del metodo.
    n.d. hash stringa{1,128} Valore della funzione message digest calcolata come descritto nella sezione Sicurezza delle transazioni. Verifica obbligatoria della conformità dell'abbreviazione calcolata da parte del servizio partner.

    L'opzione di effettuare rimborsi per le transazioni pagate è possibile fino a 12 mesi indietro, contando dalla data in cui la transazione è stata avviata. Fanno eccezione i pagamenti BLIK che, a causa di vincoli temporali da parte del fornitore del canale di pagamento, possono essere rimborsati fino a 6 mesi prima.

    Queste scadenze si applicano all'elaborazione dei resi tramite il pannello di amministrazione e il pannello di amministrazione
    . prodottoRimborsoad esempio tramite i propri strumenti di amministrazione
    . Quando questi valori vengono superati, viene restituito un errore (TRANSAZIONE_TROPPO_VECCHIA_PER_RIMBORSARE). Lo schema di funzionamento è analogo a quello dei prelievi da saldo. In altre parole, il Sistema accetta l'ordine e lo elabora in modo asincrono entro un massimo di 30 minuti; in caso di fallimento, l'informazione sull'operazione conclusasi con un errore viene inviata in un report il giorno lavorativo successivo.

    In caso di problemi di connessione, che superino il tempo massimo di risposta, la richiesta può essere ripetuta con lo stesso MessageID senza temere una richiesta duplicata. Tutte le risposte diverse da quella ipotizzata (ovvero con campi non validi, in particolare vuoti o non validi hash). Se il sistema autorizza il mittente del messaggio di ritorno
    , ma l'operazione non riesce, viene restituito in risposta un messaggio di errore (vedere. Messaggi di errore).

    Richiesta di informazioni sullo stato di un rimborso o di un ritiro del saldo

    Descrizione

    Una volta effettuato il rimborso o il prelievo del saldo, abbiamo la possibilità di verificare in quale stato si trova la transazione di regolamento e quale identificativo le è stato assegnato dal Sistema di pagamento online. A tal fine, richiamare il metodo dettagli (https://{host_gates}/settlementapi/outDetails) con i corrispondenti parametri
    .

    Tutti i parametri vengono passati tramite il metodo POST (Content-Type: application/x-www-form-urlencoded). Il protocollo è sensibile alle maiuscole e minuscole sia nei nomi dei parametri che nei valori. I valori dei parametri passati dovrebbero essere codificati in UTF-8.

    Elenco dei parametri disponibili per il prelievo del saldo

    IMPORTANTE! L'ordine degli attributi per l'enumerazione Hash deve seguire la loro numerazione.

    NOTE: Richiesto uno dei campi ID servizio o Punto di equilibrioID.
    Se si specificano entrambi, l'elaborazione della richiesta viene interrotta e viene visualizzato un errore http.

    Ordine di hash nome richiesto tipo descrizione
    1 ID servizio stringa{1,10} ID servizio partner.
    1 Punto di equilibrioID stringa{1,10} Identificatore del punto di insediamento.
    2 MessaggioID stringa{32} Inserire lo stesso identificativo del messaggio inviato in precedenza quando si ordina un rimborso o un prelievo di saldo.
    3 Metodo enum L'operazione per la quale è stata creata la transazione di regolamento:
    SALDO_PAGAMENTO - prelievo dal bilancio
    RIMBORSO_TRANSAZIONE - restituzione delle transazioni
    PRODOTTO_RIMBORSO - restituzione del prodotto
    n.d. Hash stringa{1,128} Viene utilizzata la chiave condivisa assegnata all'identificatore di configurazione utilizzato (Servizio o Punto di regolamento). Il valore della funzione di hash per il messaggio, calcolato come descritto nella sezione Sicurezza delle transazioni. Verifica obbligatoria della conformità dell'abbreviazione calcolata da parte del servizio.
    Risposta alla richiesta

    Struttura di conferma (XML)

    	<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    	<outDetails>
    		<serviceID>ServiceID</serviceID>
    		<messageID>MessageID</messageID>
    	  	<Status>Status</status>
    		<remoteOutID>RemoteOutId</remoteOutId>
    		<hash>Hash</hash>
    	</outDetails>
    

    o

    	<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    	<outDetails>
    		<balancePointID>BalancePointID</balancePointID>
    		<messageID>MessageID</messageID>
    		<Status>Status</status>
    		<remoteOutID>RemoteOutId</remoteOutId>
    		<hash>Hash</hash>
    	</outDetails>
    

    Descrizione dei campi

    IMPORTANTE! L'ordine degli attributi per l'enumerazione Hash deve seguire la loro numerazione
    .

    Ordine di hash nome richiesto tipo descrizione
    1 serviceID stringa{1,10} Identificatore di servizio del partner. Derivato da una richiesta di metodo.
    1 balancePointID stringa{1,10} Identificatore del punto di regolamento. Derivato da una richiesta di metodo. NOTE: Verrà restituito uno dei campi ID servizio o Punto di equilibrioID.
    2 messaggioID stringa{32} Identificatore pseudocasuale del messaggio di 32 caratteri alfanumerici latini (ad esempio, basato sull'UID). Derivato dalla richiesta del metodo.
    3 Stato enum Stato di elaborazione:
    NUOVO - In attesa di essere rielaborato.
    ELABORAZIONE - Durante il processo
    ERRORE - Elaborazione non riuscita, ad es. mancanza di fondi nel saldo
    FATTO - L'elaborazione è andata a buon fine.
    4 remoteOutID NO stringa{1,20} L'identificativo alfanumerico dell'operazione di regolamento assegnato dal Sistema di pagamento online.
    Integrato solo per lo status FATTO
    n.d. hash stringa{1,128} Valore della funzione message digest calcolata come descritto nella sezione Sicurezza delle transazioni. Verifica obbligatoria della conformità dell'abbreviazione calcolata da parte del servizio partner.

    Pagina di riepilogo della transazione

    Descrizione

    Il sistema consente di visualizzare un riepilogo della transazione al cliente. A tale scopo, il Partner può creare collegamenti di attivazione con i parametri pertinenti del metodo
    . conferma (https://{host_gates}/web/conferma/pagamento). Tutti i parametri vengono passati con il metodo GET. Il protocollo è sensibile alle maiuscole e alle minuscole sia nei nomi che nei valori dei parametri. I valori dei parametri passati devono essere codificati in UTF-8.

    Elenco dei parametri per il metodo di riepilogo della transazione

    Il reindirizzamento di un Cliente con parametri corretti comporterà la visualizzazione di un riepilogo della transazione (con contenuti che dipendono dal suo stato) o l'informazione della sua assenza (se il Sistema non la trova).

    IMPORTANTE! L'ordine degli attributi per l'enumerazione Hash deve seguire la loro numerazione.

    Ordine di hash nome richiesto tipo descrizione
    1 ID servizio stringa{1,10} ID servizio partner.
    2 ID ordine stringa{32} L'identificativo della transazione assegnato nel Servizio partner e comunicato all'inizio della transazione.
    n.d. Hash stringa{1,128} Valore della funzione message digest calcolata come descritto nella sezione Sicurezza delle transazioni. Verifica obbligatoria della conformità dell'abbreviazione calcolata da parte del servizio.

    NOTE: Il servizio deve essere attivato previo accordo con il mentore aziendale. È possibile modificare il contenuto dei messaggi o adattarne il layout (questi sono soggetti a un accordo in forma operativa durante l'integrazione).

    Richiesta di informazioni sullo stato di una transazione

    Descrizione

    Per tutti i servizi, è possibile interrogare lo stato della transazione. Per questo, il metodo dovrebbe essere chiamato Stato della transazione (https://{host_gateway}/webapi/transactionStatus) con i relativi parametri.

    Tutti i parametri vengono passati tramite il metodo POST (Content-Type: application/x-www-form-urlencoded). Il protocollo è sensibile alle maiuscole e minuscole sia nei nomi dei parametri che nei valori. I valori dei parametri passati dovrebbero essere codificati in UTF-8.

    Elenco dei parametri disponibili per lo stato della transazione

    IMPORTANTE! L'ordine degli attributi per l'enumerazione Hash deve seguire la loro numerazione.

    Ordine di hash nome richiesto tipo descrizione
    1 ID servizio stringa{1,10} ID servizio partner.
    2 ID ordine stringa{32} L'identificativo della transazione assegnato nel Servizio partner e comunicato all'inizio della transazione.
    n.d. Hash stringa{1,128} Valore della funzione message digest calcolata come descritto nella sezione Sicurezza delle transazioni. Verifica obbligatoria della conformità dell'abbreviazione calcolata da parte del servizio partner.
    Intestazione HTTP per la richiesta di stato della transazione

    Per una corretta interrogazione, insieme ai parametri passati deve essere inviata un'intestazione HTTP definita con un contenuto appropriato. L'intestazione allegata deve essere denominata 'BmHeader' e avere il seguente valore
    'pay-bm', nella sua interezza, dovrebbe essere la seguente BmHeader: pay-bm'.. In caso di messaggio valido, viene restituito un testo in formato XML (nella stessa sessione HTTP), contenente tutte le transazioni con l'OrderID indicato e le relative informazioni di base.

    CONSIGLIO: Tale situazione può verificarsi, ad esempio, quando il Cliente cambia il Canale di pagamento, richiama lo stesso avvio di transazione dalla cronologia del browser, ecc. Il sistema consente di bloccare tali casi, ma l'opzione è sconsigliata (non sarebbe possibile pagare la transazione abbandonata).

    IMPORTANTE! Se l'interrogazione riguarda un ID ordine presente in più di 50 transazioni di un determinato servizio, viene restituita una risposta (XML) con il codice di errore 403 di
    .

    Struttura di risposta quando viene raggiunto il limite di transazioni con lo stesso orderId:

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <transaction>
        <reason>LIMIT_REQUESTED_TRANSACTIONS_WITH_THE_SAME_ORDER_ID_AND_SERVICE_ID_EXCEEDED</reason>
        <description>Transaction limit 50 with the same order id {{ORDER_ID}} and service id {{SERVICE_ID}} exceeded. Requested count {{TRANSACTION_AMOUNT}}
        </description>
    </transaction>
    
    Elenco dei campi per una query sullo stato della transazione

    IMPORTANTE! L'ordine degli attributi per l'enumerazione Hash deve seguire la loro numerazione.

    Ordine di hash nome richiesto tipo descrizione
    1 serviceID stringa{1,10} L'ID del servizio partner, assegnato durante la registrazione del servizio, identifica in modo univoco il servizio partner nel sistema di pagamento online.
    2 ID ordine stringa{1,32} L'identificativo della transazione assegnato nel Servizio partner e comunicato all'inizio della transazione.
    3 ID remoto stringa{1,20} Un identificativo alfanumerico della transazione assegnato dal Sistema di pagamento online.
    5 importo importo L'importo della transazione utilizza un punto fermo come separatore decimale - ".". Formato: 0,00; lunghezza massima: 14 cifre prima del punto e 2 dopo il punto.
    6 valuta stringa{1,3} Valuta della transazione.
    7 gatewayID NO stringa{1,5} Identificatore del Canale di pagamento attraverso il quale il Cliente ha regolato il pagamento.
    8 data di pagamento stringa{14} L'ora in cui la transazione è stata autorizzata, trasmessa nel formato YYYMMDDhhmmss. (ora CET)
    9 Stato del pagamento enum Stato dell'autorizzazione alla transazione, assume valori (descrizione dei cambiamenti di stato più avanti):
    IN ATTESA - transazione avviata.
    SUCCESSO - corretta autorizzazione della transazione, il Servizio partner riceverà i fondi per la transazione - i beni/servizi possono essere emessi.
    FALLIMENTO - la transazione non è stata completata correttamente.
    10 pagamentoStatoDettagli NO stringa{64} Stato dettagliato della transazione, valore che può essere ignorato dal Servizio partner. CONSIGLIO: Descrizione dettagliata in parte Stati dettagliati delle transazioni.
    n.d. hash stringa{1,128} Valore della funzione message digest calcolata come descritto nella sezione Sicurezza delle transazioni. Verifica obbligatoria della conformità dell'abbreviazione calcolata da parte del servizio.

    NOTE: Poiché il metodo può restituire più transazioni, le transazioni successive vengono scaricate nell'Hash (secondo l'ordine di occorrenza delle transazioni nella risposta). All'interno di una determinata transazione, si applica l'ordine secondo il numero accanto al campo (escluso il parametro ServiceID, livello superiore).

    Esempio di funzione hash stringa

    		Hash = funkcja(<serviceID> + „|” +
    	<orderID1> + „|” + <remoteID1> + „|” + <amount1> + „|” + <currency1> + „|” + <gatewayID1> + „|” + <paymentDate1> + „|” + <paymentStatus1> + „|” + <paymentStatusDetails1> + „|” +
    	<orderID2> + „|” + <remoteID2> + „|” + <amount2> + „|” + <currency2> + „|” + <gatewayID2> + „|” + <paymentDate2> + „|” + <paymentStatus2> + „|” + <paymentStatusDetails2> + …
    
    Gestione delle risposte alle interrogazioni sullo stato delle transazioni - proposta di gestione di più transazioni nella risposta
    Le condizioni Importanza di Messaggio proposto al cliente
    Esattamente una transazione con stato di pagamento=SUCCESSO Transazione pagata correttamente. Il sistema ha registrato correttamente il pagamento.
    Più di una transazione con stato di pagamento=SUCCESSO Transazioni multiple a pagamento. Il sistema ha registrato più di un pagamento.
    C'è un RemoteID con paymentstatus=PENDING e non c'è nessuno con paymentstatus=SUCCESS La transazione è in attesa di pagamento. Il sistema è in attesa di pagamento.
    Esiste almeno una transazione ma non c'è uno stato diverso da paymentstatus=FAILURE Transazione annullata. Il sistema ha registrato un annullamento di pagamento o una mancata autorizzazione di pagamento.
    Nessuna transazione o altro errore Mancata ricerca di un accordo. La transazione non è stata trovata.

    Annullamento di una transazione non pagata

    Descrizione dell'annullamento di una transazione non pagata

    Per tutti i servizi, è possibile annullare una transazione avviata ma non pagata chiamando il metodo transazioneAnnulla (https://{host_gateway}/webapi/transactionCancel) con i corrispondenti parametri
    . Tutti i parametri sono passati tramite il metodo POST (Content-Type: application/x-www-form-urlencoded).

    Il protocollo è sensibile alle maiuscole sia nei nomi che nei valori dei parametri
    . I valori dei parametri passati devono essere codificati in UTF-8.

    Elenco dei parametri disponibili per l'annullamento di una transazione non pagata

    IMPORTANTE! L'ordine degli attributi per l'enumerazione Hash deve seguire la loro numerazione.

    Ordine di hash nome richiesto tipo descrizione
    1 ID servizio stringa{1,10} ID servizio partner.
    2 MessaggioID stringa{32} Identificatore pseudocasuale del messaggio con una lunghezza di 32 caratteri alfanumerici latini (ad esempio, basato sull'UID). Il valore del campo deve essere unico per il Servizio partner.
    3 ID remoto NO stringa{1,20} Un identificativo alfanumerico della transazione assegnato dal Sistema e trasmesso al Partner nel messaggio ITN della transazione in entrata. La sua indicazione comporterà l'annullamento di una sola transazione della tipologia indicata. ID remotose il pagamento è in sospeso (stato IN ATTESA).
    4 ID ordine NO stringa{32} L'identificativo della transazione assegnato nel Servizio partner e comunicato all'inizio della transazione. L'ID della transazione comunicato all'inizio della transazione. ID remoto) annullerà tutte le transazioni in sospeso (stato IN ATTESA) dell'indicato ID ordine (e ID servizio). NOTE: Richiesto uno dei campi ID ordine o ID remoto. Se si specificano entrambi, l'elaborazione della richiesta viene interrotta e viene generato un errore http.
    n.d. Hash stringa{1,128} Valore della funzione message digest calcolata come descritto nella sezione Sicurezza delle transazioni. Verifica obbligatoria della conformità dell'abbreviazione calcolata da parte del servizio.
    Intestazione per l'annullamento di una transazione non pagata

    Per una corretta interrogazione, insieme ai parametri passati deve essere inviata un'intestazione HTTP definita con un contenuto appropriato. L'intestazione allegata deve essere denominata 'BmHeader' e avere il seguente valore
    'pay-bm'. Nella sua interezza, dovrebbe presentarsi come segue:

    'BmHeader: pay-bm'
    

    Nel caso di un messaggio valido, viene restituito (nella stessa sessione HTTP) un testo in formato XML, contenente la conferma che l'operazione è stata eseguita o una descrizione dell'errore.

    Struttura di conferma (XML)

    	<?xml version="1.0" encoding="UTF-8"?>
    	<transaction>
    		<serviceID>ServiceID</serviceID>
    		<messageID>MessageID</messageID>
    		<confirmation>ConfStatus</confirmation>
    		<reason>Reason</reason>
    		<hash>Hash</hash>
    	</transaction>
    
    Elenco dei parametri per l'annullamento di una transazione non pagata

    IMPORTANTE! L'ordine degli attributi per l'enumerazione Hash deve seguire la loro numerazione
    .

    Ordine di hash nome richiesto tipo descrizione
    1 serviceID NO stringa{1,32} Identificatore di servizio del partner. Derivato da una richiesta di metodo.
    Richiesto per la conferma=CONFIRMED
    2 messaggioID NO stringa{1,20} Identificatore pseudocasuale del messaggio di 32 caratteri alfanumerici latini (ad esempio, basato sull'UID). Derivato dalla richiesta del metodo.
    Richiesto per la conferma=CONFIRMED
    3 conferma stringa{1,100} Stato di conferma dell'ordine.
    Può assumere due valori:
    - CONFERMATO - l'operazione è riuscita
    - NOTCONFIRMED - operazione fallita
    4 motivo NO stringa{1,1000} Spiegazione dei dettagli dell'elaborazione della richiesta.
    n.d. hash NO stringa{1,128} Valore della funzione message digest calcolata come descritto nella sezione Sicurezza delle transazioni. Verifica obbligatoria della conformità dell'abbreviazione calcolata da parte del servizio.
    Richiesto per la conferma=CONFIRMED
    Risposte alle richieste di annullamento delle transazioni

    Se il messaggio è sintatticamente corretto, il sistema restituirà una delle coppie che descrivono il risultato dell'elaborazione. Oltre alla sua interpretazione, è consigliato per controllare lo stato della transazione (metodo Stato della transazione).

    Si noti che una volta che almeno una transazione è stata annullata con successo, non è possibile avviarne una nuova o continuare una transazione precedentemente avviata con la stessa ID ordine.

    conferma motivo dettagli
    CONFERMATO ANNULLATO_PIENAMENTE Per l'OrderID indicato: tutte le transazioni di deposito in sospeso sono state annullate.
    Per il RemoteID indicato: la transazione è stata annullata.
    CONFERMATO ANNULLATO_PARZIALMENTE Per l'OrderID indicato: almeno una transazione è stata annullata, ma ci sono transazioni che non potevano essere annullate (ad esempio, erano già state pagate).
    Per il RemoteID indicato: tale risposta non si verifica.
    NON CONFERMATO STATO_DI_PAGAMENTO_ERRATO È stata trovata almeno una transazione indicata, ma non è stato possibile annullarne nessuna (ad esempio, non c'era nessuna transazione in sospeso).
    NON CONFERMATO TRANSAZIONE_NON_TROVATA La transazione indicata non è stata trovata.
    NON CONFERMATO ALTRO_ERRORE Si è verificato un altro errore durante l'elaborazione della richiesta.

    Messaggi di errore

    Descrizione dei messaggi di errore

    Tutti i messaggi di errore saranno restituiti come documento XML, contenente il codice dell'errore, il suo nome e una descrizione. A causa dell'elevata variabilità dei possibili errori, non viene mantenuta una documentazione completa degli errori.

    CONSIGLIO: Campo descrizione, descrive accuratamente ciascuno degli errori (campi codice di stato i nome possono essere ignorati).

    Esempio di errore (XML)

    	<?xml version="1.0" encoding="UTF-8"?>
    	<error>
    		<statusCode>55</statusCode>
    		<name>BALANCE_ERROR</name>
    		<description>Wrong services balance! Should be 100 but is 40</description>
    	</error>
    

    Modelli di transazione e di regolamento

    Questa sezione presenta modelli, scenari di eventi e il flusso di informazioni
    .

    Gestione delle transazioni

    Di seguito sono riportati i diagrammi di sequenza per i due modelli di integrazione.

    Modello paywall

    Il modello più semplice, in cui la scelta dei canali di pagamento avviene sulle pagine Autopay (paywall).

    Model Paywall

    Modello WhiteLabel

    È caratterizzata dalla presentazione dei canali di pagamento da parte dell'esercente. A tal fine, è necessario ottenere dal servizio un elenco di canali con relative descrizioni. elenco gateway/v3 e ottenere un elenco delle norme procedurali necessarie per ogni canale di pagamento (/dati legali). Il resto del processo è lo stesso del modello Paywall. Model WhiteLabel

    Struttura estesa dei servizi e dei punti di fatturazione

    La struttura del partner consiste in almeno 1 servizio (identificato da un identificatore ID servizio) e un numero qualsiasi di punti insediamenti (identificati da un identificatore idPunto di equilibrio).

    • I servizi sono solitamente le fonti dei link di pagamento (sito web, app mobile, email, ecc.). I servizi distribuiscono anche il traffico relativo a diversi settori (pagamenti di fatture, acquisti di e-Commerce ecc.) Poiché la transazione è identificata da una coppia di ID ordine i ID serviziosi può dire che "il servizio corrisponde al livello di transazione".

    • I punti di regolamento sono definiti se è necessario distinguere in qualche modo i pagamenti componenti (ad esempio, indicandoli nelle relazioni o nei regolamenti indipendenti). Poiché il prodotto della transazione è identificato dal punto di regolamento associato (idPunto di equilibrio), si può dire che "il punto di insediamento corrisponde al livello del prodotto".

    Il paniere di prodotti (e quindi anche i punti di fatturazione) può non essere presente nella struttura che descrive il Partner. Il motivo dell'aggiunta di punti di fatturazione alla struttura influenza la decisione sul modello di fatturazione:

    • la necessità di distinguere le componenti costitutive di un deposito nell'elenco delle transazioni (nelle segnalazioni) non comporta necessariamente un regolamento separato di ciascun prodotto o punto di regolamento; in questa situazione, di solito, sono sufficienti modelli di regolamento a livello di servizio di (batch o dopo ogni deposito).

    • la necessità di separare i regolamenti componenti di un deposito, comporta l'utilizzo di un modello di regolamento a livello di punto di regolamento (lotto o dopo ogni deposito).

    Di seguito viene illustrata una struttura esemplificativa (senza indicare uno specifico modello di regolamento
    )

    Rozszerzona struktura serwisów i punktów rozliczeń

    Modelli di insediamento

    Modelli di transazione e di regolamento

    Modello di regolamento collettivo per le transazioni (modello predefinito)

    Il regolamento sintetico avviene il giorno lavorativo successivo (D+1).

    Model rozliczeń zbiorczych transakcji (model domyślny)

    Modello di regolamento per le transazioni dopo ogni pagamento

    Il regolamento dopo ogni pagamento può essere eseguito immediatamente dopo il ricevimento del pagamento da parte del Cliente ai dati della transazione indicati nei parametri del Collegamento di pagamento (opzioni: Conto del destinatario, Titolo del bonifico, Nome del destinatario del bonifico).

    Model rozliczeń transakcji po każdej wpłacie

    Modello di fatturazione collettiva dei prodotti

    Il regolamento sintetico avviene il giorno lavorativo successivo (D+1).

    Model rozliczeń zbiorczych produktów

    Modello di fatturazione del prodotto dopo ogni pagamento

    Il regolamento dopo ogni pagamento può essere eseguito immediatamente dopo
    la ricezione del pagamento da parte del Cliente ai dati del prodotto indicati nei parametri del Link di pagamento (opzioni: Conto destinatario, Titolo del bonifico, Nome del destinatario del bonifico).

    Model rozliczeń produktów po każdej wpłacie

    Modello di liquidazione on-demand

    Le liquidazioni possono essere ordinate dal socio chiamando il metodo: transazioneSettlement.

    Model rozliczeń transakcji na żądanie