Jump to content
php.lv forumi

Swedbank banklink


waplet

Recommended Posts

Vai kāds ir tuvakajā laikā saskāries ar banklink datu apstrādi utt?

 

Testēju 0.01 EUR

Kā tas nākas, ka veiksmīga maksājuma gadījumā neizpildās paraksta pārbaude , bet neveiksmīga maksājuma gadījumā paraksta pārbaude ir veiksmīga un nav kļūdu.

Veiksmīga maksājuma gadījumā datu struktūrā tiek iekļauti:
service, version, snd_id, rec_id, stamp, t_no, amount, curr, rec_acc, rec_name, snd_acc,snd_name, ref, msg un t_date,:


Taču openssl_verify(uzģenerētā virkne, saņemtais VK_MAC, publiskā atslēga);
atgriež negatīvu rezultātu.
Bet gadījumā, kad maksājums ir neveiksmīgs jeb VK_SERVICE = 1901 , kur tiek apskatīti tikai :
service, version, snd_id, rec_id, stamp, ref, msg , paraksta pārbaude ir veiksmīga.
P.s.
Pamanīju, ka atstarpes vajag vēl aizvietot ar + simboliem, atgrieztajā MAC'ā , lai pareizi dekodotos
Kādi ieteikumi kāpēc tā varētu būt, jo visur izmantoju vienādu konkatenācijas veidu, lai iegūtu MAC'u..
 
public static function fs(variable) {
return sprintf("%03d%s",mb_strlen(variable), variable);
}
App::fs(method["VK_SERVICE"]) .
App::fs(method["VK_VERSION"])...

 

Link to comment
Share on other sites

Problem solved, izskatās, ka pie vainas bija mb_strlen, jo nebija norādīts kodējums UTF-8

public static function fs(variable) {
return sprintf("%03d%s",mb_strlen(variable,"UTF-8"), variable);
}
Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • Create New...