# Pagamento

### Fattura passiva

#### Descrizione

Consente di effettuare un bonifico singolo, per una o più fatture/scadenze relative allo stesso beneficiario. La SCA è richiesta ad ogni operazione, fatte salve specifiche esenzioni previste dalla normativa.

---

#### [Inizializzazione pagamento](https://ts-pay-gateway-test.agyo.io/swagger-ui/index.html?configUrl=/v3/api-docs/swagger-config#/API/createPayment)

Inizializza un pagamento tramite SCT.

```
[POST] /{itemId}/payments
```

Nella **request** in particolare abbiamo:

- `externalRef` un riferimento univoco al creditore, da utilizzare in seguito come elemento di ricerca
- `metadata` elementi di tracciabilità, da utilizzare per la riconciliazione
- `providerId` id del provider (ASPSP, la banca)
- `productCode` id del prodotto selezionato
- `psuIpAddress` indirizzo IP del richiedente
- `debtorAccount` conto del pagatore 
    - `iban` iban
    - `currency` valuta
- `creditorAccount` conto del creditore 
    - `iban` iban
    - `currency` valuta
    - `creditorName` nome
- `amount` importo (espresso come numero intero in cui le ultime due cifre compongono la parte decimale)
- `currency` valuta
- `requestedExecutionDate` data di esecuzione
- `requestedExecutionTime` ora di esecuzione
- `remittanceInformations` descrizione (causale)
- `paymentProduct` SCT o SCTinst
- `tppRedirectUri` URL di redirect

Per conoscere `productCode` e `providerId` va preventivamente invocato [l'endpoint per la lettura dei conti](https://digital-docs.ts-paas.com/link/125#bkmrk-informazioni-account).

Nella **response** l'API fornisce:

- `paymentId` id del pagamento (al momento ciascun gruppo contiene un solo pagamento)
- `status` stato dell'operazione
- `totalTransactionFees` commissioni totali della transazione
- `scaManagerRedirectUrl` URL di redirect allo SCA manager

---

#### [Esito pagamento](https://ts-pay-gateway-test.agyo.io/swagger-ui/index.html?configUrl=/v3/api-docs/swagger-config#/API/getPayment)

Interroga l'esito del pagamento.

```
[GET] /{itemId}/payments/{paymentId}
```

I **parametri** richiesti sono:

- `paymentId` path variable - id del pagamento, ritornato dalla [chiamata all'inizializzazione dello stesso](#bkmrk-informazioni-account)
- `psuIpAddress` query string - indirizzo IP del client

Nella **response** l'API fornisce:

- `paymentId` id del pagamento
- `status` stato dell'operazione
- `totalTransactionFees` commissioni totali della transazione
- `totalAmount` importo totale della transazione 
    - `amount` importo (espresso come numero intero in cui le ultime due cifre compongono la parte decimale)
    - `currency` valuta
- `debtorAccount` iban del debitore
- `creditorAccount` iban del creditore
- `createdOn` data operazione