require_once("MedodoDiPagamento.php"); class Satispay extends MedodoDiPagamento{ var $nome_metodo = "Satispay"; var $privateKey = ''; var $publicKey = ''; var $keyId = ''; var $restart_params = [ 'token' => '', 'idPagamento' => '' ]; var $testo_inserisci_numero = 'Inserisci il numero di telefono registrato con Satispay'; var $testo_procedi = 'Procedi al pagamento'; var $testo_completa_pagamento = 'Richiesta autorizzazione in corso, controlla l\'app Satispay'; var $flow = "MATCH_CODE";//oppure "MATCH_USER" per far inserire il numero senza lasciare il sito var $valuteSupportate = ['EUR']; function demoInfo(){ return "Chiamare /step:getKeys/ per avere le credenziali da salvare, con ogni codice può essere fatta una sola chiamata e i dati arrivano a c@localhost. Per i pagamenti di test scaricare l'app sandbox android / ios (autorizzare Satispay: Impostazioni -> Generali -> VPN e gestione dispositivi)), usare numero +393346243294 e pin 12345."; } function auto(){ $this->importo = number_format(str_replace(",", ".", $this->importo), 2, ".", ""); require_once($GLOBALS['DATI']['libPath'].'/satispay/init.php'); if($this->demo){ \SatispayGBusiness\Api::setSandbox(true); $this->privateKey = '-----BEGIN PRIVATE KEY----- MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQDaSpIOjgiI3bCY 9ZXhI7GLL4vyIBwEBzAh4dDzRh9ONbe5pBPo1vJq7ns73fWDhE6KI38j2W71VBf4 ZkMxV8wUo33cwO19gdY8igHfzIfGL2co/XAUby3RHcs5TX0FlaTEk79jugHAw0F7 GOAbNo2VezF4p/bPmbDCmlQnn0WrbhcnK0q+93Q23KUA6OJ524JbWTwf5YYHUd32 8F7jW9ho2KGNSHBgL2WzP20KfEe4dVjakFSLW14K40Xi2XiCkh+D3lRSKy+Ogjoi xLwk3eL7+RZ55ENMqlTa8yNsxSYQ0TM5QH8EbLhMfFNSqaGukkrRcwmdB49ihgZN TmaRqu2nAgMBAAECggEADbaDiGCJzrdGgcVjvfn1DE5XV0WHHQWqk2ZRLwcnrk0X lpTlH0ppfigvG6qs4q8sE+d49DKTktvOia86512hl2ZR4M1J3gmLANCWn42EtgGC VIPfR5lYYnuhqZ7hjLlC2YqCimxD8e0SLv54DZ2WtV5A1FiQ26fG/+KcCMUrpkIt dKlBI7ENsmZ0HGtok4XbAMcYEwYvIqE+OVp7I+cF+f0RvSaN1UP8d+3jSFZ3nI94 Xx6TWxkUNMuzb+jWTkI56bBxsYZwqOS9vqzaEypv1sHQYFIaPXH0GGv4GJg/cC4Q Peaaxs8oR6Uz3NjxNtIMPqjogtzHbB5HjioFWn3LMQKBgQD8R9ii84FqL7MEgz4l KUWEkz5Avn8kuHwX0UeLQ1AMmpkaDxIyJws+BqVSyRsgNVnjFzm8UiCQROTCBrJD CMGYpSy8rdGHu5TPONDoMoPF/W/fzGEfZvH1ly65kcbBthId/Lb4QD6AUcLDKFFi zmvmxgmBGoHJiDAYvTL6KsydiQKBgQDdgnEy5cByJz0eugM5PwYiLjNtqYOYaXy9 V6vnr5TJ8IHU1S9ndedLzofey893iaGWzoi+y9NwklPQLjcdKDMis4SMo0jq1aNx ykPe47UlcFljUMU0N4njoApF4TDBuVriAFr5B5bNSenolX67YImwq4TxzACv+LLY 1DjNjycVrwKBgCiI2rQD8A1BsL/O3pNV+Ed+6Qe6E++wfK/O/nHP1PLRfDwFo+TP BS1oH/QXP/aC2/hy6OHrSDQl/aN3M/k1VPXTxEZknz/x0c0h0d8dDrMnL2yECC7l eYb+TZGfbJH/URXkXvmwSNqRSHvW5Iy9ofSoaSqHOcdJzICNFb3AVrQRAoGAN8Pm Ia0rpNFyFrE3rIrMTYCaG+qIIa+04qoWsg5HBAvTc7Rz6bUKFNCa7iEbSvnQP3oh fP8tbPK5vPhVkbaUIRFWtl1JNy2vpy8HpS5oZVOCfXlRHFM7GJ4q1+rYbnzuf2Ud ggJCGc6Y35/7NssX/u0/W+xC5ApVZDcRUdbPPSsCgYAVGQ+VpITDgzXZ44mDaixF +b+j9A/SHCl+/sVBTZAvpqsd7fcSVs0eKlSaai458wIzIZ22KV1mIl4H6cCL+vUq IMVlNT1hk70OPqViB0EzEwg23bc9x8YTAs5fH39/IB0SiHBltYFUCltNdyhCdGaw SfiMHxc5tJlhbmar9ZSgng== -----END PRIVATE KEY-----'; $this->publicKey = '-----BEGIN PUBLIC KEY----- MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA2kqSDo4IiN2wmPWV4SOx iy+L8iAcBAcwIeHQ80YfTjW3uaQT6Nbyau57O931g4ROiiN/I9lu9VQX+GZDMVfM FKN93MDtfYHWPIoB38yHxi9nKP1wFG8t0R3LOU19BZWkxJO/Y7oBwMNBexjgGzaN lXsxeKf2z5mwwppUJ59Fq24XJytKvvd0NtylAOjieduCW1k8H+WGB1Hd9vBe41vY aNihjUhwYC9lsz9tCnxHuHVY2pBUi1teCuNF4tl4gpIfg95UUisvjoI6IsS8JN3i +/kWeeRDTKpU2vMjbMUmENEzOUB/BGy4THxTUqmhrpJK0XMJnQePYoYGTU5mkart pwIDAQAB -----END PUBLIC KEY-----'; $this->keyId = 'i3kv8sop2o3de7f2mf3t8auv0boieijlc0qmhoa2v9d6e4horanug0ss7p0e0qh1vnf43qvcd4pgsj7lrbgv4s7293meiqv9q042j8d4fgs70e863a6v1bir9n0bnc8cu36k7gl5v90spma8tj78teju784qrt66ij8qv7thtv6qoqdn2ej3u0p05e5sfmn7frrblsm1'; } \SatispayGBusiness\Api::setPublicKey($this->publicKey); \SatispayGBusiness\Api::setPrivateKey($this->privateKey); \SatispayGBusiness\Api::setKeyId($this->keyId); switch($_GET[$this->step_var]){ default: //https://developers.satispay.com/reference#create-a-payment $params = [ "flow" => $this->flow, "amount_unit" => round(str_replace(",", ".", $this->importo)*100), "currency" => "EUR",//only EUR currently supported "external_code" => $this->identificativo, "callback_url" => $this->Procedura->genera_link_agg(array($this->step_var=>"s2s"))."idPagamento:{uuid}/",//altimenti encoda {uuid} ]; // print_r_tnx($params, $_SERVER['REMOTE_ADDR'] == '192.168.0.177') || die; if($this->flow == "MATCH_USER"){ if(!$_POST['numero']){ $this->Procedura->iniziato($this->nome_metodo); return '