Startsida › Forum › E-handelsforumet › Betalsystem › Swish för e-handel implementation
- Detta ämne har 80 svar, 29 deltagare, och uppdaterades senast för 1 år, 3 månader sedan av Stejo.
-
FörfattareInlägg
-
25 februari, 2016 kl. 15:42 #180910Joel BDeltagare
Curl behöver i detta fall använda sig av OpenSSL och inte NSS. Det bör lösa era problem.
25 februari, 2016 kl. 18:07 #180913TommyKDeltagare@Joel B 86180 wrote:
Curl behöver i detta fall använda sig av OpenSSL och inte NSS. Det bör lösa era problem.
I mitt fall är det något annat problem.
curl –version
curl 7.47.1 (x86_64-pc-linux-gnu) libcurl/7.43.0 OpenSSL/1.0.2d zlib/1.2.8 libidn/1.28 librtmp/2.3
Protocols: dict file ftp ftps gopher http https imap imaps ldap ldaps pop3 pop3s rtmp rtsp smb smbs smtp smtps telnet tftp
Features: AsynchDNS IDN IPv6 Largefile GSS-API Kerberos SPNEGO NTLM NTLM_WB SSL libz TLS-SRP UnixSockets[/CODE][CODE]curl –version
curl 7.47.1 (x86_64-pc-linux-gnu) libcurl/7.43.0 OpenSSL/1.0.2d zlib/1.2.8 libidn/1.28 librtmp/2.3
Protocols: dict file ftp ftps gopher http https imap imaps ldap ldaps pop3 pop3s rtmp rtsp smb smbs smtp smtps telnet tftp
Features: AsynchDNS IDN IPv6 Largefile GSS-API Kerberos SPNEGO NTLM NTLM_WB SSL libz TLS-SRP UnixSockets[/CODE]27 februari, 2016 kl. 09:17 #180933robertpohlDeltagareSer inte att du länkar in CA certet
27 februari, 2016 kl. 10:53 #180936TommyKDeltagare@robertpohl 86204 wrote:
Ser inte att du länkar in CA certet
Tack för att du orkar kolla. Det är för jag lagt till certet i servern som det funkar så långt ändå. Jag får/fick samma resultat innan jag gjorde det också;
# curl -i -v –request POST https://mss.swicpc.bankgirot.se/swish-cpcapi/api/v1/paymentrequests/ –cert swish1231181189.p12:swish –cert-type p12 –cacert swish-ca.pem –tlsv1.1
* Trying 194.242.111.76…
* Connected to mss.swicpc.bankgirot.se (194.242.111.76) port 443 (#0)
* ALPN, offering http/1.1
* Cipher selection: ALL:!EXPORT:!EXPORT40:!EXPORT56:!aNULL:!LOW:!RC4:@STRENGTH
* successfully set certificate verify locations:
* CAfile: swish-ca.pem
CApath: /etc/ssl/certs
* TLSv1.1 (OUT), TLS header, Certificate Status (22):
* TLSv1.1 (OUT), TLS handshake, Client hello (1):
* TLSv1.1 (IN), TLS handshake, Server hello (2):
* TLSv1.1 (IN), TLS handshake, Certificate (11):
* TLSv1.1 (IN), TLS handshake, Server key exchange (12):
* TLSv1.1 (IN), TLS handshake, Request CERT (13):
* TLSv1.1 (IN), TLS handshake, Server finished (14):
* TLSv1.1 (OUT), TLS handshake, Certificate (11):
* TLSv1.1 (OUT), TLS handshake, Client key exchange (16):
* TLSv1.1 (OUT), TLS handshake, CERT verify (15):
* TLSv1.1 (OUT), TLS change cipher, Client hello (1):
* TLSv1.1 (OUT), TLS handshake, Finished (20):
* TLSv1.1 (IN), TLS alert, Server hello (2):
* error:14094410:SSL routines:ssl3_read_bytes:sslv3 alert handshake failure
* Closing connection 0
curl: (35) error:14094410:SSL routines:ssl3_read_bytes:sslv3 alert handshake failure[/CODE][CODE]# curl -i -v –request POST https://mss.swicpc.bankgirot.se/swish-cpcapi/api/v1/paymentrequests/ –cert swish1231181189.p12:swish –cert-type p12 –cacert swish-ca.pem –tlsv1.1
* Trying 194.242.111.76…
* Connected to mss.swicpc.bankgirot.se (194.242.111.76) port 443 (#0)
* ALPN, offering http/1.1
* Cipher selection: ALL:!EXPORT:!EXPORT40:!EXPORT56:!aNULL:!LOW:!RC4:@STRENGTH
* successfully set certificate verify locations:
* CAfile: swish-ca.pem
CApath: /etc/ssl/certs
* TLSv1.1 (OUT), TLS header, Certificate Status (22):
* TLSv1.1 (OUT), TLS handshake, Client hello (1):
* TLSv1.1 (IN), TLS handshake, Server hello (2):
* TLSv1.1 (IN), TLS handshake, Certificate (11):
* TLSv1.1 (IN), TLS handshake, Server key exchange (12):
* TLSv1.1 (IN), TLS handshake, Request CERT (13):
* TLSv1.1 (IN), TLS handshake, Server finished (14):
* TLSv1.1 (OUT), TLS handshake, Certificate (11):
* TLSv1.1 (OUT), TLS handshake, Client key exchange (16):
* TLSv1.1 (OUT), TLS handshake, CERT verify (15):
* TLSv1.1 (OUT), TLS change cipher, Client hello (1):
* TLSv1.1 (OUT), TLS handshake, Finished (20):
* TLSv1.1 (IN), TLS alert, Server hello (2):
* error:14094410:SSL routines:ssl3_read_bytes:sslv3 alert handshake failure
* Closing connection 0
curl: (35) error:14094410:SSL routines:ssl3_read_bytes:sslv3 alert handshake failure[/CODE]15 mars, 2016 kl. 13:08 #181129hedqvistDeltagareHej,
Jag har utvecklat en modul för Swish Handel till WooCommerce, jag hjälper gärna er andra att komma på rätt spår om ni har några frågor.
31 mars, 2016 kl. 07:10 #181233JenLDeltagareJag är jätte frustrerad.
Jag har en Prestashop Webbutik och skulle fixa en SWISH modul för detta. Prestaworks har utvecklat en modul, yay.
”För att använda Swish behöver du dels ett Swish-konto för företag
kopplat mot bankgirot, men även en server som har ett SSL-certifikat.
Swish kräver att du har ett SSL-certifikat på din server för att kunna
använda deras betalsätt i din butik.”Okay, kollade med Support för min webhotel. Och där tog det slut. Jag har ingen dedikerad IP-adress som jag behöver för att köpa en SSL-certifikat för min webshop.
Har inte råd med en dedikerat server…. så stort är min shop inte.
Mycket irriterade, just för oss med små webbutiker.
31 mars, 2016 kl. 08:51 #181234jonathanbDeltagareDedikerad server för att kunna installera SSL? Låter galet, kolla igen med webhotellet eller byt om de inte kan hjälpa dig.
31 mars, 2016 kl. 08:59 #181236RickardPDeltagareDigrad affärsystem släppte denna C# kod på ett annat forum som ska hjälpa enligt dem, inte hunnit testat.
private HttpWebRequest CreateSwishRequest(String url, String clientCertPath, String clientCertPass)
{
//Basic set up
ServicePointManager.CheckCertificateRevocationList = false;
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls11; //Tls12 does not work//Load client certificates
var clientCerts = new X509Certificate2Collection();
clientCerts.Import(clientCertPath, clientCertPass ?? ””, X509KeyStorageFlags.Exportable | X509KeyStorageFlags.PersistKeySet);//Assert CA certs in cert store, and get root CA
var rootCertificate = AssertCertsInStore(clientCerts);var req = HttpWebRequest.Create(url) as HttpWebRequest;
req.ClientCertificates = clientCerts;
req.Method = ”POST”;
req.ContentType = ”application/json; charset=UTF-8”;
req.AllowAutoRedirect = false;//Verify server root CA by comparing to client cert root CA
req.ServerCertificateValidationCallback = (sender, certificate, chain, sslPolicyErrors) => {
var chainRootCa = chain?.ChainElements?.OfType().LastOrDefault()?.Certificate;
if (rootCertificate == null || chainRootCa == null)
return false;
return rootCertificate.Equals(chainRootCa); //Same root CA as client cert
};return req;
}private X509Certificate2 AssertCertsInStore(X509Certificate2Collection certs)
{
//Create typed array
var certArr = certs.OfType().ToArray();
//Build certificate chain
var chain = new X509Chain();
chain.ChainPolicy.ExtraStore.AddRange(certArr.Where(o => !o.HasPrivateKey).ToArray());
var privateCert = certArr.FirstOrDefault(o => o.HasPrivateKey);
if (privateCert == null)
return null;
var result = chain.Build(privateCert);
//Get CA certs
var caCerts = chain.ChainElements.OfType().Where(o => !o.Certificate.HasPrivateKey).Select(o => o.Certificate).ToArray();
if (caCerts == null || caCerts.Length == 0)
return null;
//Assert CA certs in intermediate CA store
var intermediateStore = new X509Store(StoreName.CertificateAuthority, StoreLocation.CurrentUser);
intermediateStore.Open(OpenFlags.ReadWrite);
foreach (var ca in caCerts)
{
if (!intermediateStore.Certificates.Contains(ca))
intermediateStore.Add(ca);
}
intermediateStore.Close();
//Return last CA in chain (root CA)
return caCerts.LastOrDefault();
}1 april, 2016 kl. 12:38 #181252hedqvistDeltagare@JenL 86618 wrote:
Jag är jätte frustrerad.
Jag har en Prestashop Webbutik och skulle fixa en SWISH modul för detta. Prestaworks har utvecklat en modul, yay.
”För att använda Swish behöver du dels ett Swish-konto för företag
kopplat mot bankgirot, men även en server som har ett SSL-certifikat.
Swish kräver att du har ett SSL-certifikat på din server för att kunna
använda deras betalsätt i din butik.”Okay, kollade med Support för min webhotel. Och där tog det slut. Jag har ingen dedikerad IP-adress som jag behöver för att köpa en SSL-certifikat för min webshop.
Har inte råd med en dedikerat server…. så stort är min shop inte.
Mycket irriterade, just för oss med små webbutiker.
Det räcker ju med att skaffa en webbhotell som har stöd för SSL. Kan personligen tipsa om Oderland.
11 maj, 2016 kl. 12:30 #181550folke123DeltagareHej!
Är det någon som har implementerat lösningen själv i t.ex PHP som skulle kunna visa hur? Eller om det finns någon lite enklare guide än de som SWISH har publicerat.
Och sen en fråga, om kunden använder sin mobila webbrowser, hanteras det som att kunden hade använt en stationär maskin? Dvs att han måste öppna swish appen etc, eller sker det direkt i webläsaren då?
-
FörfattareInlägg
- Du måste vara inloggad för att svara på detta ämne.