2015-12-10 24 views
-1

我有代碼GetRecurringPaymentsProfileDetails ...哪裏出錯了? // ----------------------------------------------- -------------------------------------------------- -------------------------------------------------- -----GetRecurringPaymentsProfileDetails - ACK =失敗

public function callNVP($profileId) { 
     $api_request = '&USER=' . urlencode('bestlifeXXXXX.gmaill.com') 
       . '&PWD=' . urlencode('136XXXXXXX') 
       . '&SIGNATURE=' . urlencode('XXXXXXXXJJJ4qi4-ASVptjmiE8Sqp4tXXXXXXCa') 
       . '&VERSION=76.0' 
       . '&METHOD =GetRecurringPaymentsProfileDetails' 
       . '&PROFILEID=' . urlencode($profileId); 
     $ch = curl_init(); 
     curl_setopt($ch, CURLOPT_URL, 'https://api-3t.sandbox.paypal.com/nvp'); // For live transactions, change to 'https://api-3t.paypal.com/nvp' 
     curl_setopt($ch, CURLOPT_VERBOSE, 1); 
     //curl_setopt($ch, CURLOPT_HEADER, FALSE); 
     // Uncomment these to turn off server and peer verification 
     //curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); 
     //curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE); 
     curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
     curl_setopt($ch, CURLOPT_POST, 1); 

     // Set the API parameters for this transaction 
     //curl_setopt($ch, CURLOPT_HTTPHEADER,$headers); 
     curl_setopt($ch, CURLOPT_POSTFIELDS, $api_request); 

     // Request response from PayPal 
     $response = curl_exec($ch); 

     // If no response was received from PayPal there is no point parsing the response 
     if (!$response) 
      die('Calling PayPal to change_subscription_status failed: ' . curl_error($ch) . '(' . curl_errno($ch) . ')'); 

     curl_close($ch); 

     // An associative array is more usable than a parameter string 
     parse_str($response, $parsed_response); 

     return $parsed_response; 
    } 

但它的返回結果:

Array 
(
    [0] => Array 
     (
      [TIMESTAMP] => 2015-12-10T03:49:09Z 
      [CORRELATIONID] => cb2489449e84c 
      [ACK] => Failure 
      [L_ERRORCODE0] => 10001 
      [L_SHORTMESSAGE0] => Internal Error 
      [L_LONGMESSAGE0] => Timeout processing request 
     ) 

) 

我要的是:

(
    [PROFILEID] => I-CL7Kxxx 
    [STATUS] => Active 
    [AUTOBILLOUTAMT] => AddToNextBilling 
    [DESC] => xxx 
    [MAXFAILEDPAYMENTS] => 2 
    [SUBSCRIBERNAME] => Dan 
    [PROFILESTARTDATE] => 2013-05-15T07:00:00Z 
    [PROFILEREFERENCE] => 31571 
    [NEXTBILLINGDATE] => 2013-05-16T10:00:00Z 
    [NUMCYCLESCOMPLETED] => 1 
    [NUMCYCLESREMAINING] => 18446744073709551615 
    [OUTSTANDINGBALANCE] => 0.00 
    [FAILEDPAYMENTCOUNT] => 0 
    [LASTPAYMENTDATE] => 2013-05-15T14:52:04Z 
    [LASTPAYMENTAMT] => 0.10 
    [TRIALAMTPAID] => 0.00 
    [REGULARAMTPAID] => 0.10 
    [AGGREGATEAMT] => 0.10 
    [AGGREGATEOPTIONALAMT] => 0.00 
    [FINALPAYMENTDUEDATE] => 1970-01-01T00:00:00Z 
    [TIMESTAMP] => 2013-05-15T14:55:58Z 
    [CORRELATIONID] => 225681xxx 
    [ACK] => Success 
    [VERSION] => 64 
    [BUILD] => 5908853 
    [SHIPTOSTREET] => xxx 
    [SHIPTOCITY] => xxx 
    [SHIPTOSTATE] => CA 
    [SHIPTOZIP] => xxx 
    [SHIPTOCOUNTRYCODE] => US 
    [SHIPTOCOUNTRY] => US 
    [SHIPTOCOUNTRYNAME] => United States 
    [SHIPADDRESSOWNER] => PayPal 
    [SHIPADDRESSSTATUS] => Unconfirmed 
    [BILLINGPERIOD] => Day 
    [BILLINGFREQUENCY] => 1 
    [TOTALBILLINGCYCLES] => 0 
    [CURRENCYCODE] => USD 
    [AMT] => 0.10 
    [SHIPPINGAMT] => 0.00 
    [TAXAMT] => 0.00 
    [REGULARBILLINGPERIOD] => Day 
    [REGULARBILLINGFREQUENCY] => 1 
    [REGULARTOTALBILLINGCYCLES] => 0 
    [REGULARCURRENCYCODE] => USD 
    [REGULARAMT] => 0.10 
    [REGULARSHIPPINGAMT] => 0.00 
    [REGULARTAXAMT] => 0.00 
) 

誰能幫我?請...

+0

你想傳入的配置文件ID是什麼?並且是在Sandbox或Live中創建的配置文件ID? –

+0

在沙箱中... curl_setopt($ ch,CURLOPT_URL,'https://api-3t.sandbox.paypal.com/nvp') – Rim

+0

你能告訴我你的個人資料ID嗎?我會搜索它 –

回答

0

你有這樣的:

'&METHOD =GetRecurringPaymentsProfileDetails' 

我覺得空間有造成無效的請求。試試這個:

'&METHOD=GetRecurringPaymentsProfileDetails' 
+0

不!它不起作用。 我使用操作:SetExpressCheckout和操作:ManageRecurringPaymentsProfileStatus。是工作。但行動:GetRecurringPaymentsProfileDetails然後不起作用。 – Rim

+0

你試過我告訴你的嗎?由於參數名稱中有空格,它沒有看到正確的方法。 [看看這裏](http://paypal.angelleye.com/paypal-php-library/samples/GetRecurringPaymentsProfileDetails.php),你可以看到通話成功。 –

+0

我看了。你有代碼嗎? – Rim

0

它肯定是因爲你的API請求的(我猜測它的不正確的資料編號:

你可以嘗試(點擊)下面的鏈接在您的瀏覽器(替代API憑證,檔案ID)

https://api-3t.sandbox.paypal.com/nvp?&user=xxxxxxxxxx&pwd=xxxxxxxxxx&signature=xxxxxxxxxx&VERSION=109.0&METHOD=GetRecurringPaymentsProfileDetails&PROFILEID=I-XXXXXXXXXXXX

,看看你會得到什麼迴應。

我得到內部錯誤,當我使用「I-XXXXXXXXXXXX」作爲配置文件ID。

+0

XXXX是不正常的。不是真的......我在論壇Paypal中看到,它不允許GetRecurringPaymentsProfileDetails,因爲API不支持。 – Rim

+0

您的api請求有誤 – Vimalnath

+0

請提供您在使用我在答案中提供的鏈接時獲得的完整回覆 – Vimalnath