Gestione notifica a pagamento avvenuto
Aggiungere l'API POST /notify-payment
al fine di gestire la notifica a pagamento avvenuto da parte di silfi, il payload da gestire è il seguente:
[
{
"ente": "string",
"codiceServizio": "string",
"esiti": [
{
"iuv": "string",
"identificativo": "string",
"positivo": true,
"statoPagamento": "string",
"dataPagamento": "2024-04-23T14:54:49.262Z",
"importo": 0,
"extraPagoPa": true,
"canalePagamentoExtraPagoPa": "string",
"canalePagamento": "string",
"rt": "string"
}
]
}
]
Se sullo storage viene trovato un pagamento con lo iuv
indicato nel payload allora lo si fa passare in stato COMPLETE
, si valorizza il campo paid_at
con il valore del campo dataPagamento
, si aggiorna il campo updated_at e si scrive un evento nel topic di kafka (aggiornando i campi event_id
e event_created_at
)
Swagger
Test
-
come cittadino creare un pagamento attraverso questo servizio e fermarsi alla schermata che indica quale tipo di pagamento si vuole effettuare (paga online - paga sul territorio ) -
andare su kafka topic payments e cercare per id della pratica compilata al passo precedente della pratica l'evento con il campo "status" = "PAYMENT_PENDING"
e recuperare il valore del campo"iuv"
e il valore del campo"service_id"
-
simulare la notify payment chiamandola con un tool come postman o curl: insererire nel payload i valori
"iuv"
e"service_id"
rispettivamente in "codiceServizio" e "iuv"
[
{
"ente": "string",
"codiceServizio": "fabd55ec-4e59-46cc-8f5e-b3a0f66ba39e",
"esiti": [
{
"iuv": "00982423001176792",
"identificativo": "string",
"positivo": true,
"statoPagamento": "string",
"dataPagamento": "2024-04-23T14:54:49.262Z",
"importo": 0,
"extraPagoPa": true,
"canalePagamentoExtraPagoPa": "string",
"canalePagamento": "string",
"rt": "string"
}
]
}
]
-
se la chiamata va a buon fine(status code 200) controllare che venga prodotto un evento sul topic document con la stesso id della pratica in status complete