Onartu behar duzu, PSD2 ia urte batzuetan iritsi da eta hemen geratzeko. Gaur egun, gure terminalak PSD2 aktibatuta izatea derrigorrezkoa da. Zer gertatzen da? Redsys-en ez da aktibatuta, terminal berri bat sortzen dutenean, dena konfiguratu behar dute, PSD2-ren irudikatzen duen guztia barne.
PSD2 aktibatuta egon behar da kobrantzak arazoak ez izateko, izan ere, Visa edo MasterCard bezalako txartelaren jabeek ezin izango dute ordainketarik amaitu, ez baitzaie autentifikazioa eskatuko, erronka ez da egokia izango edo fluxua ez da zuzena izango.
Hau are okerragoa da InSite edo 1klik bidezko ordainketak erabiltzen ditugunean, errore batzuk agertzen direlako gunean bertan.
Nola jakin dezakegu dena ondo aktibatuta dugun? Oso erraza da, InSite erabiltzea nahi badugu, lehenengo probaldi bat egin behar dugu birbideratzearekin. Egia da InSite-rekin ere ikus daitekeela, baina hainbeste faktore sartzen direnez, hobe da birbideratzea egiaztatzeko.
Betiko arazoa PSD2-ri lotutako v2.1 eta v2.2 txartelak izango da, horregatik, horrelako probako txartel bat erabiliko dugu, beraz, Redsys-era iristen garenean, 4548816131164386 txartela sartu behar dugu, iraungitze-data 12/32 eta CVV 123. Sartu ondoren, erronkara eramango gaitu, erronka pantailara iristen garenean, gure terminala ondo konfiguratu den ikusi ahal izango dugu, edo ez. Kontuz, v.1.0.2 txarteletan ez da V1 pantaila agertu behar, orduan ordainketa ez da huts egingo.
Ondo konfiguratu ez badago, gorriz agertuko zaigu eta «V1 autentifikazio simulagailua» mehatxuz agertuko da.

Hau agertzen bazaigu, bankuarekin harremanetan jarri gaitezke, ziur asko ordaintzeko bezero asko izango dituzte.
Adierazi dudan v2.2 txartelaren kasuan, pantaila hau agertu beharko luke.

Argi ikusi dezakezu autentifikazioan txartelaren bertsioa adierazten duela.
Txartela V1.0.2 bada, Finanet autentifikazioa agertu beharko luke.

Ikusten duzu probako terminalean eta birbideratzean PSD2-ren gaia funtzionatzen duen ala ez egiaztatzea nahiko erraza dela.
Baina, nola jakin dezaket ondo konfiguratu den InSite edo tokenizazio bidez? Horretarako logak aztertu beharko ditugu.
Logak aktibo daudela eta nire Redsys-rako plugin premium erabiltzen baduzu, logen maila zein den ez dakit beste pluginetan.
Begiratu log honetan v2.2 txartela ondo konfiguratu ez den terminal batean sartuz:
12-02-2021 @ 12:29:28 - /****************************
12-02-2021 @ 12:29:28 - The XML
12-02-2021 @ 12:29:28 - /****************************
12-02-2021 @ 12:29:28 -
12-02-2021 @ 12:29:28 - <REQUEST><DATOSENTRADA><DS_MERCHANT_AMOUNT>3685</DS_MERCHANT_AMOUNT><DS_MERCHANT_ORDER>100000000058</DS_MERCHANT_ORDER><DS_MERCHANT_MERCHANTCODE>XXXXXXXXXXXXXXX</DS_MERCHANT_MERCHANTCODE><DS_MERCHANT_TERMINAL>1</DS_MERCHANT_TERMINAL><DS_MERCHANT_TRANSACTIONTYPE>0</DS_MERCHANT_TRANSACTIONTYPE><DS_MERCHANT_CURRENCY>978</DS_MERCHANT_CURRENCY><DS_MERCHANT_IDOPER>XXXXXXXXXXXXXXXXXXXXXXX</DS_MERCHANT_IDOPER><DS_MERCHANT_EMV3DS>{"threeDSInfo":"CardData"}</DS_MERCHANT_EMV3DS></DATOSENTRADA><DS_SIGNATUREVERSION>HMAC_SHA256_V1</DS_SIGNATUREVERSION><DS_SIGNATURE>XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX</DS_SIGNATURE></REQUEST>
12-02-2021 @ 12:29:28 - $XML_RETORNO 14 IniciaPeticion: SimpleXMLElement Object
(
[CODIGO] => 0
[INFOTARJETA] => SimpleXMLElement Object
(
[Ds_Order] => 100000000058
[Ds_MerchantCode] => 036763159
[Ds_Terminal] => 1
[Ds_TransactionType] => 0
[Ds_EMV3DS] => {"protocolVersion":"NO_3DS_v2","threeDSInfo":"CardConfiguration"}
[Ds_Card_PSD2] => Y
[Ds_Signature] => E0KE/r+s7nNE9G3uXwBXvd6TTM1NDQoG6RV9EwfINxY=
)
)
12-02-2021 @ 12:29:28 - $respuesta: stdClass Object
(
[protocolVersion] => NO_3DS_v2
[threeDSInfo] => CardConfiguration
)
12-02-2021 @ 12:29:28 - $respuesta->protocolVersion: NO_3DS_v2Lehenengo pausuan, Redsys-i txartela zein den galdetzen diogu.
<DS_MERCHANT_EMV3DS>{“threeDSInfo”:”CardData”}</DS_MERCHANT_EMV3DS>
Hau egiten dugu txartela zein den jakin behar dugulako, txartelaren bertsioaren arabera, modu batean edo bestean jarraitu beharko dugu.
Kasuan, erantzuna ikus dezakegu $respuesta->protocolVersion: NO_3DS_v2 non NO_3DS_v2 dela adierazten digu. Beraz, hasieran gaizki hasi gara. Zenbaki asko daude ordaintzea amaitzeko gai ez garenak.
Terminal ondo konfiguratu batean berdina egiten badugu, hurrengo hau lortuko dugu:
12-02-2021 @ 16:46:42 - /****************************
12-02-2021 @ 16:46:42 - The XML
12-02-2021 @ 16:46:42 - /****************************
12-02-2021 @ 16:46:42 -
12-02-2021 @ 16:46:42 - <REQUEST><DATOSENTRADA><DS_MERCHANT_AMOUNT>10000</DS_MERCHANT_AMOUNT><DS_MERCHANT_ORDER>100000003156</DS_MERCHANT_ORDER><DS_MERCHANT_MERCHANTCODE>XXXXXXXXXXXX</DS_MERCHANT_MERCHANTCODE><DS_MERCHANT_TERMINAL>1</DS_MERCHANT_TERMINAL><DS_MERCHANT_TRANSACTIONTYPE>0</DS_MERCHANT_TRANSACTIONTYPE><DS_MERCHANT_CURRENCY>978</DS_MERCHANT_CURRENCY><DS_MERCHANT_IDOPER>XXXXXXXXXXXXXXXXXXXXXXX</DS_MERCHANT_IDOPER><DS_MERCHANT_EMV3DS>{"threeDSInfo":"CardData"}</DS_MERCHANT_EMV3DS></DATOSENTRADA><DS_SIGNATUREVERSION>HMAC_SHA256_V1</DS_SIGNATUREVERSION><DS_SIGNATURE>XXXXXXXXXXXXXXXXXXXXXXXXX</DS_SIGNATURE></REQUEST>
12-02-2021 @ 16:46:42 - $XML_RETORNO 14 IniciaPeticion: SimpleXMLElement Object
(
[CODIGO] => 0
[INFOTARJETA] => SimpleXMLElement Object
(
[Ds_Order] => 100000003156
[Ds_MerchantCode] => 349567461
[Ds_Terminal] => 1
[Ds_TransactionType] => 0
[Ds_EMV3DS] => {"protocolVersion":"2.2.0","threeDSServerTransID":"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX","threeDSInfo":"CardConfiguration"}
[Ds_Card_PSD2] => Y
[Ds_Signature] => XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX=
)
)
12-02-2021 @ 16:46:42 - $respuesta: stdClass Object
(
[protocolVersion] => 2.2.0
[threeDSServerTransID] => XXXXXXXXXXXXXXXXXXXXXXXXXXXXX
[threeDSInfo] => CardConfiguration
)
12-02-2021 @ 16:46:42 - $respuesta->protocolVersion: 2.2.0Orain erantzuna $respuesta->protocolVersion: 2.2.0 dela ikusi dezakegu, beraz, azkar ikusten da aldea. Eta erronka pantaila v2.2 agertuko zaigu.

Baina gehiago dago. Esan dudan bezala, gunean aktibatuta egon behar dituzten hainbat konfigurazio daude, eta horietako edozein ez badago aktibatuta, arazoak sor ditzake. Beraz, puntu hau zuzena izan daiteke, eta erabiltzeko protokoloa 2.2 dela itzuli, nire pluginak 2.2 protokoloarentzako urrats guztiak egiten hasiko da.
Urratsetako batean, terminala bankuaren aldetik ondo konfiguratu ez badago, honelako erantzun bat aurki dezakegu (murriztua):
acctInfo: : {"threeDSInfo":"AuthenticationData","protocolVersion":"2.1.0","browserAcceptHeader":"text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9","browserColorDepth":"24","browserIP":"80.XX.XX.XX",...}}
11-05-2021 @ 13:22:18 - trataPeticion 10: <REQUEST><DATOSENTRADA><DS_MERCHANT_AMOUNT>900</DS_MERCHANT_AMOUNT><DS_MERCHANT_ORDER>100000000136</DS_MERCHANT_ORDER><DS_MERCHANT_MERCHANTCODE>XXXXXXXXXXXX</DS_MERCHANT_MERCHANTCODE><DS_MERCHANT_TERMINAL>1</DS_MERCHANT_TERMINAL><DS_MERCHANT_TRANSACTIONTYPE>0</DS_MERCHANT_TRANSACTIONTYPE><DS_MERCHANT_CURRENCY>978</DS_MERCHANT_CURRENCY><DS_MERCHANT_IDOPER>XXXXXXXXXXXXXXXXXXXXXXXX</DS_MERCHANT_IDOPER><DS_MERCHANT_EXCEP_SCA>LWV</DS_MERCHANT_EXCEP_SCA><DS_MERCHANT_EMV3DS>{"threeDSInfo":"AuthenticationData","protocolVersion":"2.1.0",...}</DS_MERCHANT_EMV3DS></DATOSENTRADA><DS_SIGNATUREVERSION>HMAC_SHA256_V1</DS_SIGNATUREVERSION><DS_SIGNATURE>Ckba7sIir5FtBpCyPRqisFVQaMngw3NPc6MbfBUJjBQ=</DS_SIGNATURE></REQUEST>
11-05-2021 @ 13:22:23 -
11-05-2021 @ 13:22:23 - $XML_RETORNO 13: SimpleXMLElement Object
(
[CODIGO] => 0
[OPERACION] => SimpleXMLElement Object
(
[Ds_Amount] => 900
[Ds_Currency] => 978
[Ds_Order] => 100000000136
[Ds_Signature] => gwkc5JNecdaPp9vuntavjIFg2urNiADau+hB1yv8Gws=
[Ds_MerchantCode] => 124770314
[Ds_Terminal] => 2
[Ds_TransactionType] => 0
[Ds_EMV3DS] => {"threeDSInfo":"ChallengeRequest","protocolVersion":"1.0.2","acsURL":"https://sas.redsys.es/sas/Secure","PAReq":"eJxVUttuwjAM/ZWq7yMXyrjIZOoo0/oQhqDbe5RG0AlSlrRb+fs5UHZ5SOJjW8f2ceChOx6iT+N8Vdt5zAY0jozVdVnZ3Tx+LZ7uJvGDgGLvjMm2RrfOCJDGe7UzUVXOY1d6VXVfyjNlNRsnCUs45YwxOkKLsymllN+zWMA63ZgPAX0tgaUGHMgNIqnTe2UbAUp/POYrMWKUsiGQHsLRuDwT2+VGLtepXG4Wz+mqAHJ1g1VHIxYvcr1Jo7d8mxfpFsjFCbpubePOYswTIDcArTuIfdOc/IyQprVmV+uq9nipw8CaBkhIAPLb1roNlkfCriqFfE/Pslh2MnvtVll+lu+SySz9wjMHEjKgVI0RNzEiNpxxPuM40MUP6hg6EdMBpTjjFcAp1Ej7SAj8dQCq73A5ZzEdT3CSGwLTnWprMAP1/LGhNF7jAP3z2/3iOUisG1Tt76b4EDc1YjwZJ5NkEmS/pATyCvXilA4v7AEACSSk3yjp/wNa//7JN5c+wi4=","MD":"8098f2fb1bf6c7988c026be7944cd61e7231b05f"}Begiratu aurreko kodean. Log zahar bat da eta v2.2 bat aurkitu ez dudalako, baina 2.1 da eta arazoa bera da, beraz, erakusteko ondo doa. Hasieran ikusten duzunez {“threeDSInfo”:”AuthenticationData”,”protocolVersion”:”2.1.0″... txartela 2.1 da (gogoratzen dut lehenengo pausuan lortu genuela). Baina begiratu behean $XML_RETORNO 13, Redsys-i 2.1 dela esaten ari garenean, 1.0.2-rako erronka bat adierazten digu {“threeDSInfo”:”ChallengeRequest”,”protocolVersion”:”1.0.2“,”acsURL”:… beraz, ez du behar bezala egiten.
Kontuz, aurrekoa bi arrazoirengatik gerta daiteke, bat da checkout-a modu batean aldatu baduzu, eta beharrezko datu batzuk ez dira bidali, 2.1.0 (edo 2.2) 1.0.2-ra itzultzea eragiten du. Eta bigarren arrazoia Redsys-en konfigurazio akatsa da.
Eta ziur asko galdetzen ari zara, nola eskatu dezaket hau Redsys-i arazoak ez izateko? Hiru gauza eskatu beharko dituzu, bi benetan berdinak dira, baina banku batzuek modu desberdinean ulertzen dute. Eskatu beharko zenituzke:
- PSD2 aktibazioa
- EMV 3DS protokoloaren aktibazioa.
- PSD2 Fluxuaren aktibazioa.
Lehenengoak ondo aktibatuz gero, ez zenuke arazoak izan beharko txartel mota guztiekin, ez birbideratzean, ez InSite-n, ez 1klik bidezko ordainketan. Zerbait ez badago ondo, zure bezeroek akatsak izango dituzte.
Pertsonalki, ez dut ulertzen zergatik ez den aktibatuta Redsys-en eta modu manualean aktibatu behar den, baina hala da eta adi egon behar da.
Badakizu nire plugin premium erabiltzaile gisa, laguntza duzula eta instalatu, konfiguratu eta probatzeko zerbitzua eskaintzen dudala, eta askotan Redsys-en posta harremanetan sartzen naiz, azkarren irtenbidea lortzeko. Beraz, hemen guztia azaltzen badut ere, ticket bat ireki eta lagunduko dizut inolako arazo barik.







