2013-07-12 16 views
14

Kurulum şu şekildedir:PayPal işlemlerinin listesi

İstemci için bir site kurulumum var. Müşteri:

  1. Ziyaretler sitesi
  2. aracılığıyla bizim kayıtları için temel bilgileri PayPal'a
  3. Gelirlerinin girer bir düğme
  4. İade sitesine PayPal üzerinden ödeme yapar "Hemen Al"

Bilmek istediğim şey tüm işlemlerin listesini nasıl alabilirim? PayPal kullanıcı adı, şifre ve imzanın yanı sıra PayPal giriş bilgisine de sahibim, fakat hayatım boyunca internet üzerinden PayPal üzerinden ya da PHP üzerinden işlemlerin nasıl çekileceğine dair bir örnek veremiyorum. jQuery/JavaScript/Ajax.

Herhangi bir fikri olan var mı? örnekler?

Şimdiden teşekkürler.

GÜNCELLEME:

Ben bu soruya bir çözüm geliştirmek başardı. Aşağıdaki cevabımı kod ve yorumlarla görün.

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

Benimkini iadesi için işlem kimlikleri almak için fatura numarasına göre çekin kullanın:

cevap

17

Tamam, sonuçta işe yarayan bir şey geliştirebildim. Kod Ayrıca

<?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])); 
} 
?> 

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

PayPal

den TransactionSearch API seçenekleri bir bağlantı ile aşağıda nakledilir, ben belirli bir işlem hakkında daha fazla bilgi almak için bu şık küçük, basit bir script ile geldi:

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

Merhaba, İşlemi görüntülemek için ilk kodlamayı denedim ama 'HATIRLATILDI: Hata bastırma' için yoksayıldı Parse hatası: sözdizimi hatası, beklenmedik '=', ':' bekliyor ':' C: \ wamp \ www \ all_transactions.php on line 40' error –

+0

Bu, bir karakterin yerinizde olduğu gibi bir PHP hatası gibi görünüyor. Kodunuzu tekrar kontrol edin çünkü kodunuzu görmeden nereden başlayacağınızı bile bilmiyorum. –

+0

Ben

0

Bir TransactionSearch API vardır.

+0

Yardımı ve kodu takdir ediyorum, ancak kullandığınız PHP sınıfının arkasında olmadan, gönderdiğiniz her şey sadece bir grup değişkenti. Kullandığınız sınıfın koduna veya koduna bir bağlantınız var mı? –

+0

Angell EYE sınıfını kullanabilirsiniz. –

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> 

Bu, düğmeye tıklandığında bir işlem yapmak için paypal API'ye uyan bir html öğesidir. data-button, src veya async özelliklerini değiştirmeyin. Testi tamamladıktan sonra data-env düğümünü tamamen kaldırın (test ederken gerçek bir şarjın yapılmasını engelleyen data-env düğümü). Diğer tüm özellikleri isimlerine göre değiştiriniz (örneğin, sattığınız ürünün adına data-name değiştiriniz). Öğeyi, başka bir html öğesi gibi yerleştirin (ör. <p>).