Documentazione API SmartPay

Похожие документы
Gateway di pagamento Weldpay

Corso di programmazione di sistemi mobile 1. Android. Google Cloud Messaging

Laboratorio di Basi di Dati

MANUALE DI INTEGRAZIONE API SMSSmart (v 2.2)

GestPay Specifiche tecniche

Specifiche tecniche per la gestione dei Servizi SMS tramite script HTTP POST/GET Rev ,0

s.r.l Roma Piazza Pitagora, 10 Tel r.a. Fax 06/ r.a. C.F. e R.I P. IVA SKYNET WEB SERVICES

Connessione con MySQL

Le stringhe in Java: java.lang.string

Documentazione API web v 1.0

Laboratorio Progettazione Web PHP e MySQL. Andrea Marchetti IIT-CNR 2016/2017

Specifiche funzionali protocollo HTTP Gateway VolaSMS Plus Ver

2011 Politecnico di Torino 1

UniCredit PagOnline Imprese Guida d'installazione ed Utilizzo

POS VIRTUALE. Manuale d integrazione. Il contenuto di questo documento ha carattere strettamente riservato e non può essere rivelato a terzi.

Manuale Gateway SMS. (Versione Documento 2.1) pagina 1 di 5

MY SQL Guida MySQL di base

Laboratorio Progettazione Web PHP e MySQL. Andrea Marchetti IIT-CNR 2014/2015

Laboratorio Progettazione Web PHP e MySQL. Andrea Marchetti IIT-CNR 2013/2014

Numera - Gruppo BPER. Manuale d installazione Moduli di Pagamento Emergento Gateways

MonetaWeb. Hosted 3D Secure XML

A2A technical presentation

Tassi di Cambio REST API (Versione 1.0)

Laboratorio Progettazione Web PHP e MySQL - Lezione 9. Andrea Marchetti IIT-CNR andrea.marchetti@iit.cnr.ita 2012/2013

MANUALE DI INTEGRAZIONE API DMM (v 2.5)

Ajax e jquery. Emiliano Castellina. Dipartimento di Automatica e Informatica Politecnico di Torino

Connessione con MySQL

2011 Politecnico di Torino 1

UniCredit PagOnline Imprese Guida d'installazione ed Utilizzo

createsession existssession alivesession deletesession deleteallsession getcredit getcreditsubaccount addtransactionsubaccount addsubaccount

Digital Distribution Web Services (DDWS) Manuale del servizio GetLicense

Web API. Guida all uso

Gestione Orario Lezioni: Schema del Database

SMS Gateway - Specifiche WS. Specifica Tecnica

PHP e Structured Query Language

PHP & MySQL. Giselda De Vita

Specifiche funzionali MMS protocollo XML Gateway MMS Vola.it ver 1.1

Architetture Client/Server. Un architettura è centralizzata quando i dati e le applicazioni (programmi) risiedono in un unico nodo elaborativo

AJAX. Riccardo Rosati

Oxatis DataPlug. Per Windows XP, Windows Vista, Windows 7, Windows 8 e Windows 10. Manuale d uso della console Danea/EasyFatt

Le basi del linguaggio Java

Documentazione API web v 1.0

Get Started: Storeden Connect API

Allegato Tecnico E-commerce. Istruzioni e regole del servizio 3D Secure

GestPay Specif che tecniche sicurezza con crittograf a

Guida PayPal e VirtueMart Aggiornamento dello Stato dell Ordine in Automatico e Ambiente di test Sandbox

Procedura di login e sessione

Транскрипт:

Documentazione API SmartPay Nome_Documento Descrizione API SmartPay Specifiche tecniche integrazione sistema di pagamento SmartPay Data_Documento 28/09/2017 Release 1.0 Nome_Servizio SmartPay API Ultima_Modifica 28/09/2017 Produttore Divisione File Development Documentazione_API_SmartPay.pdf

Introduzione SmartPay API fornisce alle aziende e agli sviluppatori l opportunità di integrare i servizi di pagamento SmartCash all interno di siti web e applicazioni. L interfaccia fornita opera attraverso richieste HTTP adoperando il metodo POST. Per poter usufruire del servizio SmartPay è necessario aver effettuato una sottoscrizione come Esercente. Una volta effettuata l adesione sarà possibile utilizzare le API autorizzandosi con i dati (Key e Secret) che verranno ricevuti via email. Descrizione del Funzionamento SmartPay API fornisce due servizi : Servizio Descrizione initializepayment gettransactionstatus Permette l inizializzazione del pagamento. Restituisce il parametro transaction_action_url che andrà poi usato per effettuare il redirect al gateway di pagamento In seguito al pagamento, una volta ottenuto il parametro transactioncode (mediante query string oppure Server2Server) sarà necessario passare questo valore al servizio in modo da ricevere un report dettagliato sullo stato della transazione SmartPay API comunica l esito del pagamento in due modi : Servizio Descrizione Parametri passati Valori Redirect (QUERY STRING) In seguito al pagamento vengono allegati dei parametri nell url del redirect specificato nella richiesta di inizializzazione sc_transaction_status sc_transaction_token sc_cart_id sc_order_id success/failure STRING ID carrello ID ordine Server 2 Server POST Request (S2S) In seguito al pagamento SmartPay effettua una richiesta HTTP in POST sull url s2s specificato nella richiesta di inizializzazione transactiontoken merchantusername merchantpassword STRING STRING STRING

Specifiche tecniche, parametri e flusso [STEP 1] Richiesta su Servizio initializepayment URL : https://www.smart-cash.it/smartpay/initializepayment.php Nome Parametro Tipo Lunghezza Massima Esempio Esempio Decodificato merchantusername STRING 32 Key123456789[ ] n/d merchantpassword STRING 64 Secret123456789[ ] n/d jsoncart BASE64 n/d ew0kcsj0b3rhbci6idk2la0k Contiene i parametri CSJzaGlwcGluZyI6IDQsDQoJI "total": 96, riportati nella tabella di sotto mfkzgl0aw9uywwioiayla 0KCSJjYXJ0X2lkIjog [ ] "shipping": 4, "additional": 2, "cart_id": "CART_1234567[...] redirectto BASE64 300 ahr0cdovl3d3dy5hcgkuy29tl3jlzglyzwn0 http://www.api.com/redirect s2s BASE64 300 ahr0cdovl3d3dy5hcgkuy29tl3mycw== http://www.api.com/s2s

REQUEST : (Richiesta) Parametri della stringa jsoncart : Nome Parametro Tipo Descrizione Esempio total DOUBLE Importo totale da pagare 578.56 shipping DOUBLE Spese di spedizione 18.33 additional DOUBLE Spese aggiuntive 9.89 discount DOUBLE Importo scontato 25 cart_id STRING Codice Carrello CART_12345678 order_id STRING Codice Ordine ORDER_1234567 values ARRAY Array di prodotti values[][title] STRING Titolo prodotto Prodotto 1 values[][description] STRING Descrizione prodotto Desc. Prodotto 1 values[][quantity] INT Quantità 7 values[][image] STRING URL immagine (https) https://link.img/1.jpg values[][amount] DOUBLE Importo unitario 19.99 values[][shipping] DOUBLE Spese di spedizione sul singolo prodotto 1.4 values[][additional] DOUBLE Spese aggiuntive sul singolo prodotto 2 RESPONSE : (Risposta) Esito Risposta Positivo "response": "transaction_status": 1, "transaction_action_url": "https:\/\/www.smart-cash.it\/smartpay\/processpayment.php?token=[unique_token_code]", "transaction_message": "" Negativo "response": "transaction_status": 0, "transaction_message": "Descrizione Errore"

[STEP 2] Redirect su transaction_action_url [STEP 3] Conclusione del pagamento e verifica della transazione Una volta effettuato il pagamento SmartPay comunica i valori merchantusername, merchantpassword e transactioncode all URL fornito nel parametro S2S

[STEP 4] Ricezione del parametro transactioncode e richiesta al servizio gettransactionstatus URL : https://www.smart-cash.it/smartpay/gettransactionstatus.php REQUEST : (Richiesta) Nome Parametro Tipo Lunghezza Massima Esempio merchantusername STRING 32 Key123456789[ ] merchantpassword STRING 64 Secret123456789[ ] transactioncode STRING 128 TranCode123456[ ] RESPONSE : (Risposta) Tipologia Esito Risposta KO "response": "payed": 0, "order": "1234567890", "error": "Descrizione errore" OK "response": "payed": 1, "transactioncode": "TRANSACTION_CODE", "user": "Name Surname", "email": "info@mail.ext", "card_number": "123456", "order": "ORDER_12345678", "cart_id": "CART_123456768", "transaction_type": "SC\/BS", "sub_transaction_code": "SUB_TRANSACTION_CODE", "amount": 100.45, "date_starting_transaction": "YYYY-MM-DD H:I:S", "date_ending_transaction": "YYYY-MM-DD H:I:S"

Codice di Esempio [1] Inizializzazione pagamento (payment.php) <?php $params = array( 's2s' => base64_encode("https://www.website.it/s2s.php"), 'redirectto' => base64_encode("https://www.website.it/thankyou.php"), 'merchantusername' => "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", 'merchantpassword' => "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", 'jsoncart' => base64_encode(json_encode(array( 'total' => 140.56, 'shipping' => 8, 'additional' => 2.56, 'cart_id' => "CART_1234567890", 'order_id' => "ORDER_1234567890", 'values' => array( array( 'title' => "Product 1", 'description' => "Product 1 Description", 'quantity' => 1, 'image' => "https://www.website.it/img1.jpg", 'amount' => 65 ), array( 'title' => "Product 2", 'description' => "Product 2 Description", 'quantity' => 2, 'image' => "https://www.website.it/img2.jpg", 'amount' => 32.5 ) ) ); ))) $authurl = 'https://www.smart-cash.it/smartpay/initializepayment.php?'. http_build_query($params); $response = file_get_contents($authurl); if ($response) $result = json_decode($response, 1); if ($result) $status = $result['response']['transaction_status']; if ($status == 1) $url = $result['response']['transaction_action_url']; header("location:". $url); else echo "Il servizio ha generato un errore : ". $result['response']['transaction_message'] ; else echo "Il servizio ha risposto con un JSON non valido"; else echo "Impossibile contattare il servizio.";

[2] Ricezione esito pagamento (s2s.php) <?php $merchantusername = $_POST['merchantUsername']; $merchantpassword = $_POST['merchantPassword']; $transactiontoken = $_POST['transactionToken']; $request = array( "transactiontoken" => $transactiontoken, "merchantusername" => $merchantusername, "merchantpassword" => $merchantpassword ); $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, "https://www.smart-cash.it/smartpay/gettransactionstatus.php"); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, $request); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0); $response = curl_exec($ch); curl_close($ch); if ($response) $result = json_decode($response, 1); if ($result) if (isset($result['response']) && isset($result['response']['payed'])) if ($result['response']['payed'] == 1) echo "Pagamento completato con successo"; else echo "Il pagamento non è stato effettuato"; else echo "Il servizio ha risposto con un JSON non valido"; else echo "Impossibile contattare il servizio."; Per Info e assistenza scrivere a assistenza@stonewallcapital.it