PHP
Il linguaggio PHP è un linguaggio open source definito server side: questo vuol dire che, a differenza di linguaggi come HTML, CSS o JavaScript che vengono interpretati prima dal browser, il codice PHP viene eseguito direttamente sul web server, in cui gli script formulano delle istruzioni HTML che vengono solo alla fine trasmesse al browser e quindi al visitatore.
Installazione
È possibile installare l'SDK Nexi per PHP tramite il comando composer:
Utilizzare poi il seguente comando per installare le dipendenze:
Configurazione
Per poter comunicare con il gateway è necessario creare un oggetto di configurazione che implementi l'interfaccia IConfiguration.
Una volta instanziato, quest'oggetto può richiamare il costruttore PaymentGatewayClient che istanzia l'oggetto che si occupa della gestione delle chiamate verso il gateway.
Esempio di utilizzo
Ottenuto l'oggetto indicato nella sezione precedente, è possibile procedere con le richieste verso il gateway. Di seguito un esempio di pagamento tramite la modalità Hosted Payment Page:
Gli oggetti, così come i metodi "set" per l'impostazione dei parametri, prendono riferimento dall'API POST /orders/hpp. L'SDK è stato sviluppato mantenendo i nomi dei parametri uguali a quelli delle API del gateway, per facilitare e migliorare l'esperienza di utilizzo.
Elenco API
Di seguito l'elenco delle API XPay disponibili nell'SDK, accessibili attraverso le funzioni presenti nel file PaymentGatewayClient.php:
- Hosted Payment Page (POST /orders/hpp)
- Pay-By-Link (POST /orders/paybylink)
- M.O.T.O. (POST /orders/moto)
- Pagamento ricorrente (POST /orders/mit)
- Elenco ordini (GET /orders)
- Ricerca ordine (GET /orders/{orderId})
- Elenco operazioni (GET /operations)
- Ricerca operazioni (GET /operations/{operationId})
- Storno (POST /operations/{operationId}/refunds)
- Contabilizzazione (POST /operations/{operationId}/captures)
- Annullo contabilizzazione (POST /operations/{operationId}/cancels)
- Elenco metodi di pagamento (GET /payment_methods)
- Verifica carta (POST /orders/card_verification)
- Annullo link Pay-By-Link (POST /paybylink/{linkId}/cancels)
- Ricerca contratti (GET /contracts/customers/{customerId})
- Disattiva contratto (POST /contracts/{contractId}/deactivation)
- 3 Step Init (POST /orders/3steps/init)
- 3 Step Validation (POST /orders/3steps/validation)
- 3 Step Pagamento (POST /orders/3steps/payment)