PHP Center
http://phpcenter.eu/
Foorumi teema printimine


Foorumid Programmeerimine PHP & MySQL Pangalink - Swedbank ei toimi, SEB ja Sampo töötavad ilusti
Autor Postitus
tsjort

Postitusi: 2
Tase: 1
Olek: Offline

20.05.2009 12:41:35
Pangalink - Swedbank ei toimi, SEB ja Sampo töötavad ilusti

Pangalink ei tööta Swedbankis. Genereerisin privaatvõtme ja serdi päringu kasutades zone.ee haldusliidest. Saatsin serdi päringud SEB-sse ja Samposse ja seal hakkas kõik tööle. Swediga ütles "allkiri on vigane". Sai proovitud kõiksugu charsete ja asju aga ikka sama veateade. Mõtlesin siis, et ilmselt võtmetega mingi jama ja genereerisin uued, taaskord zone haldusliideses. Pank lisas uue serdi endale aga ikka ei muutunud miskit. Sama "allkiri on vigane" veateade. Panen kaasa koodi, mille testimiseks tegin. Proovisin just ka SEBga ja seal toimis ilusti. On keegi varem sarnase probleemiga kokku puutunud või teab mis Swedbankis teisiti on, või oskab koodist mingi vea leida või midagi soovitada?

Olen juba lootust kaotamas. Pank ei oska ka midagi mõistlikku öelda.

Koodijupp:

<?php
    $my_private_key = 'path_to_my_private_key.pem';

//VK väljade järjekord
    $order = array(
                      1002 => array(
                                    'VK_SERVICE','VK_VERSION','VK_SND_ID',
                                    'VK_STAMP','VK_AMOUNT','VK_CURR',
                                    'VK_REF','VK_MSG'
                                    )
                  );
//MAC Stringi loomine
    function getMACString($fields) {
        global $order;

        $service = $fields['VK_SERVICE'];
        $data = '';
        foreach ((array)$order[$service] as $key) {
            $v = $fields[$key];
            $data .= str_pad (strlen ($v), 3, '0', STR_PAD_LEFT) . $v;
        }
        return $data;        
    }
//VK andmed
    $fields = array(
                        'VK_SERVICE'    => '1002',
                        'VK_VERSION'    => '008',
                        'VK_SND_ID'     => 'MINUID',
                        'VK_STAMP'      => 123,
                        'VK_AMOUNT'     => 10,
                        'VK_CURR'       => 'EEK',
                        'VK_REF'        => '',
                        'VK_MSG'        => 'kirjeldus',
                        'VK_RETURN'     => 'http://www.neti.ee/return''
                    );
//allkirja loomine
    $mac_string = getMACString($fields);
    $private_key = openssl_pkey_get_private (file_get_contents($my_private_key));
    if (!openssl_sign ($mac_string, $signature, $private_key)) {
        trigger_error ("Unable to generate signature", E_USER_ERROR);
    }
    $fields['VK_MAC'] = base64_encode($signature);

?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
</head>
<body>
<form method="POST" action="https://www.swedbank.ee/banklink">
<?php
    foreach ($fields as $f => $v) {
        echo '<input type="hidden" name="' . $f . '" value="' . $v . '" />' . "\n";
    }
?>
<input type="submit" value="MAKSMA" />
</form>
</body>
</html>



tsjort

Postitusi: 2
Tase: 1
Olek: Offline

20.05.2009 16:08:16
RE: Pangalink - Swedbank ei toimi, SEB ja Sampo töötavad ilusti

Tegemist oli ikkagi pangapoolse veaga. Kuigi neilt mingit tagasisidet pole tulnud, hakkas asi iseenesest poole päeva pealt tööle. Raiskasin ligi kaks päeva sellele. Aitäh

cioa00

Postitusi: 53
Tase: 4
Olek: Offline

22.05.2009 09:20:52
RE: Pangalink - Swedbank ei toimi, SEB ja Sampo töötavad ilusti

Tsiteeritud tekst:
Koodijupp:

     'VK_RETURN'     => 'http://www.neti.ee/return''




Ei tea kas sul juhtus koodi kopeerimisel, aga kas too $fields-is oleva võtmeväärtuses pole mitte üleliigne ühekordne jutumärk(vaata return järel).