2013-07-12 9 views
14

ここに設定があります:PayPalの取引のリスト

私はクライアント用のサイト設定をしています。顧客:

  1. 訪問サイト
  2. は経由して当社の記録のための基本的な情報にペイパルへ
  3. 収入を入力し、ボタン
  4. 返しサイトにPayPalを通して支払いを行う「今すぐ購入」

私が知りたいことは、どのようにすべてのトランザクションのリストを取得するのですか?私はPayPalのログインとAPIのユーザー名、パスワード、署名を持っていますが、私の人生の間、インターネット上では、PHPを介してPayPalからトランザクションのリストを引き出す方法の例を示しています。 jQuery/Javascript/Ajax。

誰がどんな考えを持っていますか?例?

ありがとうございます。

UPDATE:

私はこの質問へのソリューションを開発することができました。コードとコメントで私の答えを参照してください。

https://developer.paypal.com/webapps/developer/docs/classic/api/merchant/TransactionSearch_API_Operation_NVP/

私は私の借換えのためのトランザクションIDを取得するために、請求書番号で引っ張って使用します。

答えて

17

私はようやく何かを開発することができました。コードはPayPalの

また

https://developer.paypal.com/webapps/developer/docs/classic/api/merchant/TransactionSearch_API_Operation_NVP/

<?php 
$info = 'USER=[API_USERNAME]' 
     .'&PWD=[API_PASSWORD]' 
     .'&SIGNATURE=[API_SIGNATURE]' 
     .'&METHOD=TransactionSearch' 
     .'&TRANSACTIONCLASS=RECEIVED' 
     .'&STARTDATE=2013-01-08T05:38:48Z' 
     .'&ENDDATE=2013-07-14T05:38:48Z' 
     .'&VERSION=94'; 

$curl = curl_init('https://api-3t.paypal.com/nvp'); 
curl_setopt($curl, CURLOPT_FAILONERROR, true); 
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true); 
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); 
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false); 
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); 

curl_setopt($curl, CURLOPT_POSTFIELDS, $info); 
curl_setopt($curl, CURLOPT_HEADER, 0); 
curl_setopt($curl, CURLOPT_POST, 1); 

$result = curl_exec($curl); 

# Bust the string up into an array by the ampersand (&) 
# You could also use parse_str(), but it would most likely limit out 
$result = explode("&", $result); 

# Loop through the new array and further bust up each element by the equal sign (=) 
# and then create a new array with the left side of the equal sign as the key and the right side of the equal sign as the value 
foreach($result as $value){ 
    $value = explode("=", $value); 
    $temp[$value[0]] = $value[1]; 
} 

# At the time of writing this code, there were 11 different types of responses that were returned for each record 
# There may only be 10 records returned, but there will be 110 keys in our array which contain all the different pieces of information for each record 
# Now create a 2 dimensional array with all the information for each record together 
for($i=0; $i<count($temp)/11; $i++){ 
    $returned_array[$i] = array(
     "timestamp"   => urldecode($temp["L_TIMESTAMP".$i]), 
     "timezone"   => urldecode($temp["L_TIMEZONE".$i]), 
     "type"    => urldecode($temp["L_TYPE".$i]), 
     "email"    => urldecode($temp["L_EMAIL".$i]), 
     "name"    => urldecode($temp["L_NAME".$i]), 
     "transaction_id" => urldecode($temp["L_TRANSACTIONID".$i]), 
     "status"   => urldecode($temp["L_STATUS".$i]), 
     "amt"    => urldecode($temp["L_AMT".$i]), 
     "currency_code"  => urldecode($temp["L_CURRENCYCODE".$i]), 
     "fee_amount"  => urldecode($temp["L_FEEAMT".$i]), 
     "net_amount"  => urldecode($temp["L_NETAMT".$i])); 
} 
?> 

からTransactionSearchのAPIのオプションへのリンクを下に掲載されて、私は特定の取引の詳細を取得するには、この気の利いた小さな、簡単なスクリプトを思い付いた:

https://developer.paypal.com/webapps/developer/docs/classic/api/merchant/GetTransactionDetails_API_Operation_NVP/

<?php 
$info = 'USER=[API_USERNAME]' 
     .'&PWD=[API_PASSWORD]' 
     .'&SIGNATURE=[API_SIGNATURE]' 
     .'&VERSION=94' 
     .'&METHOD=GetTransactionDetails' 
     .'&TRANSACTIONID=[TRANSACTION_ID]' 
     .'&STARTDATE=2013-07-08T05:38:48Z' 
     .'&ENDDATE=2013-07-12T05:38:48Z'; 

$curl = curl_init('https://api-3t.paypal.com/nvp'); 
curl_setopt($curl, CURLOPT_FAILONERROR, true); 
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true); 
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); 
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false); 
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); 

curl_setopt($curl, CURLOPT_POSTFIELDS, $info); 
curl_setopt($curl, CURLOPT_HEADER, 0); 
curl_setopt($curl, CURLOPT_POST, 1); 

$result = curl_exec($curl); 

parse_str($result, $result); 

foreach($result as $key => $value){ 
    echo $key.' => '.$value."<BR>"; 
} 
?> 
+0

こんにちは、トランザクションを表示するための最初のコーディングを試しましたが、C:\ wamp \ www \ all_transactions.phpの 'SCREAM:エラー抑制が無視されました 'というメッセージが表示されます。 '解析エラー:構文エラー、予期しない' on line 40'エラー –

+0

これは、キャラクターが外れているかのように、PHPエラーのようです。コードを見直さなければどこから始めるべきか分からなくなるので、コードを再チェックしてください。 –

+0

は私が<?phpの $情報= 'USER = [API_USERNAME]' 。 '&PWD = [API_PASSWORD]' 。 '&SIGNATURE = [API_SIGNATURE]' 'で始まるこの答えにあなたが与えられている第1の符号化ソリューションをコード化されました。 '&VERSION = 94' '&METHOD = GetTransactionDetails' ''&TRANSACTIONID = [TRANSACTION_ID] ''ユーザー名、パスワード、署名を変更しましたが、機能しません。 –

0

彼らはTransactionSearchのAPIを持っています。

+0

私はヘルプとコードを高く評価しますが、使用しているPHPクラスがなければ、投稿したものは単なる変数の束です。使用しているクラスのコード、またはコードへのリンクはありますか? –

+0

Angell EYEクラスを使用できます。 –

0
<script 
    data-env="sandbox" 
    data-tax="0.00" 
    data-shipping="0.00" 
    data-currency="USD" 
    data-amount="0.00" 
    data-quantity="0" 
    data-name="No Item Selected" 
    data-button="buynow" src="https://www.paypalobjects.com/js/external/[email protected]" async="async"></script> 

これは、ボタンがクリックされたときにトランザクションを行うためにpaypal APIに接続するhtml要素です。 data-buttonsrc、またはasyncのプロパティを変更しないでください。テストが完了したらdata-envノードを完全に削除します(data-envノードでは、テスト中に実際に請求が行われません)。他のすべてのプロパティを名前に応じて変更します(たとえば、data-nameを販売する商品の名前に変更します)。他のhtml要素と同じように要素を挿入します(例:<p>)。

関連する問題