Jump to content
php.lv forumi

Swedbank BankLink


Aoueu

Recommended Posts

Swedbank nepieņem manus pieprasījumus, ar kļūdu "Pieslēguma kļūda! Lūdzu griezties pie pakalpojuma/produkta pārdevēja. (Paraksts ir kļūdains) Pakalpojums nav pieejams, vai iesūtītais ziņojums ir nepareizs";

 

Pameģināju, testēšanā, vienkārši paņemt doto piemēru un izmainīt tur tikai tirgotāja identifikātoru un privāto atslēgu, bet tik un tā pakalpojums nestrādā.

 

Pameģinaju verificēt savu pašu ziņojuma parakstu ar izveidoto publisko atslēgu, verifikācija strāda.

Pēc tām vispār izveidoju statiskas vērtības uz visiem parametriem:

 

$VK_SERVICE=1002;
$VK_VERSION='008';
$VK_SND_ID='TirgotajaID'; //reāli cits
$VK_STAMP=1;
$VK_AMOUNT=0.01;
$VK_CURR='LVL';
$VK_REF='1';
$VK_MSG='Test';
$VK_MAC='';
$VK_RETURN='http://www.lappuse.lv/confirm'; //reāli cits
$VK_LANG='LAT';
$VK_ENCODING='UTF-8';

$data='';
$data .= str_pad(mb_strlen($VK_SERVICE), 3, '0', STR_PAD_LEFT).$VK_SERVICE;
$data .= str_pad(mb_strlen($VK_VERSION), 3, '0', STR_PAD_LEFT).$VK_VERSION;
$data .= str_pad(mb_strlen($VK_SND_ID), 3, '0', STR_PAD_LEFT).$VK_SND_ID;
$data .= str_pad(mb_strlen($VK_STAMP), 3, '0', STR_PAD_LEFT).$VK_STAMP;
$data .= str_pad(mb_strlen($VK_AMOUNT), 3, '0', STR_PAD_LEFT).$VK_AMOUNT;
$data .= str_pad(mb_strlen($VK_CURR), 3, '0', STR_PAD_LEFT).$VK_CURR;
$data .= str_pad(mb_strlen($VK_REF), 3, '0', STR_PAD_LEFT).$VK_REF;
$data .= str_pad(mb_strlen($VK_MSG), 3, '0', STR_PAD_LEFT).$VK_MSG;
$fp = fopen(KEY_LOCATION."/keyfile.pem", "r");
$priv_key = fread($fp, 8192);
fclose($fp);
$pkeyid = openssl_get_privatekey($priv_key);

openssl_sign($data, $signature, $pkeyid,OPENSSL_ALGO_SHA1);
$VK_MAC = base64_encode($signature);

 

Nesaprotu, kāpēc vienmēr saņemu kļūdu, kā paraksts ir nepareizs. POST visas vērtības parodās korrekti.

Edited by Aoueu
Link to comment
Share on other sites

Swedbankai atdevam CSR (certificate request) pieprasījumu (kā bija pateikts dokumentācijā).

 

Testēšanas gaitā no tā CSR ar openssl_csr_get_public_key() funkciju izveidoju publisko atslēgu un pameģināju verificēt agrāk izveidoto ziņojumu...viss bija kārtībā. Nezinu, kāpēc no banka puses parakstes parbaude nestrāda.

Edited by Aoueu
Link to comment
Share on other sites

Šodien uzzināju ka jā, pakalpojums ir pieslēgts.

Arī pajautāju par $data virkni, brīdi kad izveidoju virkni lidzīgu virknei tehniska dokumentācija(tikai cīts tirgotājs, un visi citi garumi tadi paši). Rīt uzzināšu atbildi :).

Bet tāja konkrēta gadījumā no piemēra garums atšķiras tikai tirgotaja laukumam un uzskatas korrekti.

Arī parbaudīju lauku secību datu virknē.

 

Vai šī kļūda var būt saistīta ar to, kā paša serverī SSL nav izmantots? (domāju kā tas tikai parāda bridinājumu atgriežoties no banka lappūses, bet vairs neesmu pārliecināts)

Edited by Aoueu
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...