2016-05-23 3 views
0

私はデジタルダウンロードのためのeコマースサイトを作成していますが、paypalから受け取ったトランザクションデータに問題があります。私が間違っていることは何でも考えることができますか? 私はサンドボックスのビジネスアカウントを持っています。私は自分のアカウントでウェブサイトの支払い設定を行って、自動返品をオンにし、支払いデータの転送をオンにしました。私は正常に動作しているリターンURLを設定しました。私は、私が下のコードに挿入したアイデンティティトークンを受け取った。トランザクションが成功した後、paypalサンドボックスからトランザクション文字列を受け取らない

私は以下のコードを使用していましたが、別のウェブサイトでは(約1年前に)成功しましたが、今回は動作していないようです。つまり、コンソールに結果をプリントアウトしようとしたときです。

http://www.sarahswebsite.com/confirmation.php?tx=05D40838LW579215A&st=Completed&amt=5%2e00&cc=EUR&cm=MUZIC-1463960113&item_number=

私が書いたPHP:

を次のように偽の」

私は正常にPayPalのサイト上で支払うことができていますし、私は成功し、ブラウザでのクエリ文字列で正しいURLにリダイレクトしています

<?php 
$api_endpoint= "https://www.sandbox.paypal.com/cgi-bin/webscr"; 
    $transID = $_GET['tx']; 
    $atID= 'AFcWxV21C7fd0v3bYYYRCpSSRl31A7Ez9-tDKvj2MIuwN2MJ0r'; 


    $cmd = "_notify-synch"; 
    $nvp_string = "tx=" . urlencode($transID) . "&at=" . urlencode($atID) . "&cmd=" . urlencode($cmd); 
    $curl = curl_init(); 
    curl_setopt($curl, CURLOPT_VERBOSE, 1); 
    curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE); 
    curl_setopt($curl, CURLOPT_TIMEOUT, 30); 
    curl_setopt($curl, CURLOPT_URL, $api_endpoint); 
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); 
    curl_setopt($curl, CURLOPT_POSTFIELDS, $nvp_string); 
    $result = curl_exec($curl);  
    curl_close($curl); 
?> 

Javascriptを

編集: 私はこれについてのより多くの情報を持っています。カールエラーです: 35 SSL接続エラーです。

この問題に対する解決策はありますか?おかげ

+0

PHP用のPaypal REST SDKについてご存知ですか?あなたの生活が楽になるかもしれません:https://developer.paypal.com/docs/api/ – DeeDee

+0

Javascript文はPHPコードブロックにありますか?さもなければ、$ resultはスコープに含まれません。 – DeeDee

+0

@DeeDeeありがとうございました..私のHTMLの下のスクリプトタグの中でそれ以上のことはありません..それは "偽"を返します..何も変数に格納されていなければ、未定義またはnullを返します..それはpaypalから結果を表示するために使用されます。なぜそれがもう働かないのかわからない。そのコードか、私のペイパルサンドボックスのアカウント設定などで何かを逃してしまった。 – Sarah

答えて

0

は、私は以下の記事を読んだ後、このための修正が見つかりました:

PayPal NVP Error: CURL Request failed: SSL connect error (35)

を私はカールコードに次の2行を追加し、それは完全に今取り組んでいます。私はそれがなぜ今働いているのか完全にはわかっていないが、私はそれが私が(5.6)を使っているphpのバージョンとやり取りしていると思う、あるいはpaypalが彼らのセキュリティプロトコルを変えたとは思わなかった。

curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false); 
curl_setopt($curl, CURLOPT_SSLVERSION, 6); //6 is for TLSV1.2 
関連する問題