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 | sì | 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 | sì | int | L'importo della dilazione espresso in centesimi di Euro |
rate | sì | int | Il numero di rate della dilazione |
callback_url | sì | 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