NAV
shell php

Introduzione

Benvenuti nella documentazione API Jatapay

Prerequisiti

Per autenticarsi è necessario richiedere un token tramite le proprie credenziali. Per ottenere le credenziali andare nella sezione Sviluppatori della Dashboard. Verranno visualizzate le credenziale per l'autenticazione.

Autenticazione

Recuperare il token

$client_id = 'IL MIO CLIENT ID';
$client_secret = 'IL MIO CLIENT_SECRET';
$data = json_encode(array(
            'grant_type' => 'client_credentials'
          ));


$url = curl_init("https://auth.jatajata.com/token");

curl_setopt($url, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($url, CURLOPT_POSTFIELDS, $data);
curl_setopt($url, CURLOPT_RETURNTRANSFER, true);
curl_setopt($url, CURLOPT_HTTPHEADER, array(
      'Content-Type: application/json',
      'Content-Length: ' . strlen($data),
      'Authorization: Basic '. base64_encode($client_id. ":" . $client_secret))
  ));

$result = curl_exec($url);

curl_close($url);

$api_response = json_decode($result);

$token = $api_response->token;
# Passare il client id e il client secret come username e password in http Basic Authentication
curl "https://auth.jatajata.com/token" \
  -H "Content-Type: application/json" \
  -H "Authorization: Basic client_id:client_secret" #client_id:client_secert codificato in base64 \
  -d '{"grant_type": "client_credentials"}'

Il comando ritornerà un JSON con questa struttura:


  {
    "refresh_token": "IL_REFRESH_TOKEN",
    "token": "IL_TOKEN_DI_ACCESSO"
  }

Per recuperare il token fare una richiesta all'endpoint passando il client_id come nome utente e il client_secret come password in Http Basic Authentication

Richiesta Http

POST https://auth.jatajata.com/token

Parametri

Parametro Richiesto Descrizione
grant_type Settare a 'client_credentials' per ottenere il token con le credenziali

Usare il gateway di pagamento

Introduzione

Per attivare una dilazione è necessario prima inviare una richiesta di dilazione, quindi reindirizzare l'utente al gateway di pagamento con l'identificativo della dilazione ricevuto, passando un URL di ritorno. Il gateway reindirizzerà all'URL inviato per gestire il ritorno del pagamento.

Inviare una richiesta di dilazione

    $dati_dilazione = array(            
            'importo' => 2000, //Importo in centesimi di euro
            'rate' =>  (int)2 //Numero di rate, 
            'callback_url' => 'https://e-commerce.example.com/callback_url',
            'note' => 'Dilazione per motivo esempio'
          );

    $url = curl_init("https://api.jatapay.com/scrivi_dilazione");
    $authorization = "Authorization: Bearer ".$token;
    curl_setopt($url, CURLOPT_CUSTOMREQUEST, "POST");
    curl_setopt($url, CURLOPT_POSTFIELDS, json_encode($dati_dilazione));
    curl_setopt($url, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($url, CURLOPT_HTTPHEADER, array(
      'Content-Type: application/json',
      'Content-Length: ' . strlen(json_encode($dati_dilazione)),
      $authorization
    ));
              // The results of our request, to use later if we want.
    $result = curl_exec($url);

    $api_response = json_decode($result);

    curl_close($url);

curl "https://api.jatapay.com/scrivi_dilazione" \
  -H "Authorization: Bearer IL_TOKEN_DI_ACCESSO" \
  -d = '{}'

Il comando ritornerà un JSON con questa struttura:

{
    "id_dilazione": "ID_DELLA_DILAZIONE"
}

L'endpoint chiede l'avviamento della dilazione e ritorna l'identificativo per il reindirizzamento.

Richiesta Http

POST https://api.jatapay.com/scrivi_dilazione

Parametri

Parametro Richiesto Tipo Descrizione
importo int L'importo della dilazione espresso in centesimi di Euro
rate int Il numero di rate della dilazione
callback_url string Un URL Valido per il ritorno del pagamento qualora necessario
note no string Delle note descrittive per la dilazione

Reindirizzare l'utente al gateway di pagamento

Una volta ottenuto l'id della dilazione è necessario reindirizzare l'utente al gateway di pagamento all'url:

https://dashboard.jatapay.com/gateway/ID_DELLA_DILAZIONE

L'utente completerà il processo di pagamento e sarà reindirizzato all'url passato in precedenza.

Gestire il ritorno del pagamento

    $urlstring = "https://api.jatapay.com/entity/dilazioni/".$_GET['transaction_id'];
    $url = curl_init($urlstring);
    $authorization = "Authorization: Bearer ".$token;
    curl_setopt($url, CURLOPT_CUSTOMREQUEST, "GET");
    curl_setopt($url, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($url, CURLOPT_HTTPHEADER, array(
      $authorization
    ));

    $result = curl_exec($url);
    curl_close($url);
    $api_response = json_decode($result);

curl "https://api.jatapay.com/entity/dilazioni/ID_DELLA_DILAZIONE" \
  -H "Authorization: Bearer IL_TOKEN_DI_ACCESSO" \

Il comando ritornerà un JSON con questa struttura:

{
    "_id": "ID_DELLA_DILAZIONE",
    "base": 0, //questo è il valore base della dilazione qualora si usassero rate differenziate
    "callback_url":"https://my-ecommerce.example.com/callback_url", //il callback_url massato in precedenza
    "carta": "6dasde43eww6c4039f27", //l'identificativo della carta del cliente
    "client": "JataPay", 
    "cliente": "5f12321was23e3ec1422", //l'identificativo del cliente
    "contratto": {
        "pdf": "6065ef23se35d684823ec387", //l'identificativo del contratto di dilazione
    },
    "data_fine": "Sat, 01 May 2021 18:05:04 GMT", //la data fine della dilazione
    "data_inizio": "Thu, 01 Apr 2021 18:05:04 GMT", //la data inizio della dilazione
    "data_inserimento": "Thu, 01 Apr 2021 16:05:06 GMT", //la data inserimento della dilazione
    "date_differenziate": false,
    "esercente": "6022a3c41bsa3653fsib044", //il vostro identificativo
    "importo": 200, //l'importo in centesimi di euro
    "metadata": null, 
    "note": "", //le note inserite
    "numero": 526, //il numero della dilazione    
    "rate": 2,
    "rate_differenziate": false, //se la dilazione ha o meno rate differenziate
    "stato": "attiva", //lo stato della dilazione
    "tipo": "credit", //il tipo 

}

In qualunque momento arà possibile recuperare le informazioni sulla dilazione per il controllo dell'avvenuta attivazione della stessa.

GET https://api.jatapay.com/entity/dilazioni/ID_DELLA_DILAZIONE

Lo stato dilazione 'attiva' indica l'accettazione della dilazione