API getCheckoutList

[API OPZIONALE]

Recupero lista dei pagamenti e rimborsi eseguiti presso un esercente (Server dell'esercente > Tinaba).

Spiegazione degli attributi

Nome campoTipoMandatorioDescrizione
merchantIdStringYesIdentificativo dell'esercente assegnato da TINABA.
dateFromStringYesData di inizio della ricerca. Formato ‘yyyy-MM-dd’.
dateToStringYesData di fine della ricerca. Formato ‘yyyy-MM-dd’.
signatureStringYesFirma di autenticazione e integrità dei dati.

La firma d’integrità dei dati, scambiata nel campo “signature”, è basata su un segreto condiviso, scambiato offline, e generata utilizzando il protocollo SHA256.

signature = base64(SHA256(<merchantId><secret>))

Per maggiori informazioni su come generare la firma d’integrità consultare:

Integrità dei dati >

Spiegazione degli attributi – risposta

Nome campoTipoMandatorioDescrizione
statusStringYes000 = OK



001 = KO.
errorCodeStringNoValorizzato solo se status = 001.





Codice di errore.
checkoutListListNoLista dei pagamenti e rimborsi completati.
merchantIdcheckoutYesIdentificativo dell'esercente assegnato da TINABA.
externalIdcheckoutYesIdentificativo del pagamento pendente sul server dell'esercente.
amountcheckoutYesImporto del pagamento in centesimi.
currencycheckoutYesDivisa del pagamento.
authTimecheckoutYesData del pagamento. Formato ‘yyyy-MM-dd-HH.mm.ss’.
transactionTypecheckoutYesPAYMENT = pagamento



REFUND = rimborso.
statecheckoutYesEXECUTED = completato con successo



FAILED = completato con errore (pagamento fallito, o annullato dall'esercente)



PENDING = non completato (pagamento pendente)



PREAUTH = pagamento preautorizzato da confermare.
internalTransactionIdcheckoutNoId operazione interna Tinaba in caso di pagamento effettuato.

Richiesta


{  
   "data":{  
      "request":{  
         "getCheckoutListRequest":{  
            "merchantId":"4198",
            "dateFrom":"2018-02-05",
            "dateTo":"2018-02-06",
            "signature":"AAIR12345"
         }
      }
   }
}

Risposte

200 Success


{  
   " response":{  
      "getCheckoutListResponse":{  
         "status":"000",
         "checkoutList":[  
            {  
               "externalId":"xWTGDUVrZB",
               "merchantId":"4198",
               "amount":"15",
               "currency":"EUR",
               "authTime":"2018-02-05-15.26.35",
               "transactionType":"PAYMENT",
               "state":"PENDING"
            },
            {  
               "externalId":"EP_29",
               "merchantId":"4198",
               "amount":"10",
               "currency":"EUR",
               "authTime":"2018-02-05-15.24.15",
               "transactionType":"PAYMENT",
               "state":"PREAUTH",
               "internalTransactionId":"46284"
            },
            {  
               "externalId":"DetelVp520",
               "merchantId":"4198",
               "amount":"15",
               "currency":"EUR",
               "authTime":"2018-02-05-15.08.17",
               "transactionType":"REFUND",
               "state":"EXECUTED",
               "internalTransactionId":"45603"
            },
            {  
               "externalId":"DetelVp520",
               "merchantId":"4198",
               "amount":"15",
               "currency":"EUR",
               "authTime":"2018-02-05-15.06.48",
               "transactionType":"PAYMENT",
               "state":"EXECUTED",
               "internalTransactionId":"45599"
            }
         ]
      }
   }
}

400 Errore Validazione


{  
   " response":{  
      "getCheckoutListResponse":{  
         "status":"001",
         "errorCode":"XXX"
      }
   }
}

$request = new GetCheckoutListRequest();

$request->setDateFrom('2018', '01', '01');
$request->setDateTo('2018', '02', '01');

$response = $client->getCheckoutList($request);

$checkoutList = $request->checkoutList;

foreach($checkoutList as $checkout) {
    echo "Found checkout with ID " . $checkout->externalId;
}

Per l'SDK PHP completo visitare questo link


from sdk.objects import GetCheckoutListRequest
from datetime import datetime
action = factory.make('get.checkout.list')
action.body_arams = GetCheckoutListRequest(dateFrom=datetime(year=2018,
                                                             month=1,
                                                             second=28).strftime('%Y-%m-%d'),
                                           dateTo=datetime(year=2018,
                                                           month=2,
                                                           second=28).strftime('%Y-%m-%d'))
response = action.run()
checkout_list = response.checkoutList

for checkout in checkout_list:
    print('Found checkout with ID {}'.format(checkout.externalId))

Per l'SDK PHP completo visitare questo link