Ich erhalte die cURL Fehler: [3] malformed Fehler auf dem paypal Daten

stimmen
0

Hallo ich versuche, die paypal Methode auf Lohn zu setzen, aber ich habe diesen Fehler: [3] malformed, wenn ich die Informationen senden, es ist ok, kann die Transaktion abgeschlossen werden, aber wenn wieder die Website für die Validierung .. kehrt mit diesem Link:

https://m2kotoba.ro/?view=verifyPayPall

in meiner Primärdatei habe ich dies für Ansicht Variable in Schaltergehäuse:

case 'verifyPayPall':
  $this->getSystemFunctions()->verifyPayPall();
break; 

Und die Funktion ruft sie:

public function verifyPayPall(){
        // Handle the PayPal response.
        if ($this->verifyTransaction($_POST) /*&& checkTxnid($data['txn_id'])*/) {
            //if (addPayment($data) !== false) {
                $_SESSION['msg'] = 'Ai achizitionat cu succes!';
                header(location: ?view=donate);
            //}
        }

    }
public function verifyTransaction($data) 
    {
        global $paypalUrl;

        $req = 'cmd=_notify-validate';
        foreach ($data as $key => $value) {
            $value = urlencode(stripslashes($value));
            $value = preg_replace('/(.*[^%^0^D])(%0A)(.*)/i', '${1}%0D%0A${3}', $value); // IPN fix
            $req .= &$key=$value;
        }

        $ch = curl_init($paypalUrl);
        curl_setopt($ch, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_1);
        curl_setopt($ch, CURLOPT_POST, 1);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
        curl_setopt($ch, CURLOPT_POSTFIELDS, $req);
        curl_setopt($ch, CURLOPT_SSLVERSION, 6);
        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 1);
        curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2);
        curl_setopt($ch, CURLOPT_FORBID_REUSE, 1);
        curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 30);
        curl_setopt($ch, CURLOPT_HTTPHEADER, array('Connection: Close'));
        $res = curl_exec($ch);

        if (!$res) {
            $errno = curl_errno($ch);
            $errstr = curl_error($ch);
            curl_close($ch);
            throw new Exception(cURL error: [$errno] $errstr);
        }

        $info = curl_getinfo($ch);

        // Check the http response
        $httpCode = $info['http_code'];
        if ($httpCode != 200) {
            throw new Exception(PayPal responded with http code $httpCode);
        }

        curl_close($ch);

        return $res === 'VERIFIED';
    }

Wie kann ich dieses Problem zu beheben, oder ich habe eine andere Methode versuchen?

Veröffentlicht am 18/12/2018 um 11:08
quelle vom benutzer
In anderen Sprachen...                            

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more