2013-04-10 5 views
0

누구나내가 PHP에서 API를 통해 페이팔 할부로 지불 한 총 금액의 목록이 필요

모든 것 내가 만든 총 지불의 목록과 API를 통해 페이팔 할부 자신의 양을 얻을 수있는 방법을 말해 줄 수 높이 평가 NVP 또는 SOAP하지만 PHP 코드 또는 참조해야

그 후에는 6 개월마다

$ 450 지불을 되풀이하게됩니다 내 웹 사이트에 내 잡지 서비스에 대한 전직 미스터 X 구독 수 2 년 후 해당 profileid에 대한 총 지불액을 나열하고 싶습니다

답변

3

TransactionSearch API을 사용하고 이메일 주소 또는 프로필 ID를 사용하여 주어진 시간 프레임을 검색 할 수 있습니다. 이렇게하면 검색 대상에 따라 전자 메일 주소 또는 프로필 ID와 관련된 모든 트랜잭션이 제공됩니다.

<?php 

/** TransactionSearch NVP example; last modified 08MAY23. 
* 
* Search your account history for transactions that meet the criteria you specify. 
*/ 

$environment = 'sandbox'; // or 'beta-sandbox' or 'live' 

/** 
* Send HTTP POST Request 
* 
* @param string The API method name 
* @param string The POST Message fields in &name=value pair format 
* @return array Parsed HTTP Response body 
*/ 
function PPHttpPost($methodName_, $nvpStr_) { 
    global $environment; 

    // Set up your API credentials, PayPal end point, and API version. 
    $API_UserName = urlencode('my_api_username'); 
    $API_Password = urlencode('my_api_password'); 
    $API_Signature = urlencode('my_api_signature'); 
    $API_Endpoint = "https://api-3t.paypal.com/nvp"; 
    if("sandbox" === $environment || "beta-sandbox" === $environment) { 
     $API_Endpoint = "https://api-3t.$environment.paypal.com/nvp"; 
    } 
    $version = urlencode('51.0'); 

    // Set the curl parameters. 
    $ch = curl_init(); 
    curl_setopt($ch, CURLOPT_URL, $API_Endpoint); 
    curl_setopt($ch, CURLOPT_VERBOSE, 1); 

    // Turn off the server and peer verification (TrustManager Concept). 
    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 operation, version, and API signature in the request. 
    $nvpreq = "METHOD=$methodName_&VERSION=$version&PWD=$API_Password&USER=$API_UserName&SIGNATURE=$API_Signature$nvpStr_"; 

    // Set the request as a POST FIELD for curl. 
    curl_setopt($ch, CURLOPT_POSTFIELDS, $nvpreq); 

    // Get response from the server. 
    $httpResponse = curl_exec($ch); 

    if(!$httpResponse) { 
     exit("$methodName_ failed: ".curl_error($ch).'('.curl_errno($ch).')'); 
    } 

    // Extract the response details. 
    $httpResponseAr = explode("&", $httpResponse); 

    $httpParsedResponseAr = array(); 
    foreach ($httpResponseAr as $i => $value) { 
     $tmpAr = explode("=", $value); 
     if(sizeof($tmpAr) > 1) { 
      $httpParsedResponseAr[$tmpAr[0]] = $tmpAr[1]; 
     } 
    } 

    if((0 == sizeof($httpParsedResponseAr)) || !array_key_exists('ACK', $httpParsedResponseAr)) { 
     exit("Invalid HTTP Response for POST request($nvpreq) to $API_Endpoint."); 
    } 

    return $httpParsedResponseAr; 
} 

// Set request-specific fields. 
$transactionID = urlencode('example_transaction_id'); 

// Add request-specific fields to the request string. 
$nvpStr = "&TRANSACTIONID=$transactionID"; 

// Set additional request-specific fields and add them to the request string. 
$startDateStr;   // in 'mm/dd/ccyy' format 
$endDateStr;   // in 'mm/dd/ccyy' format 
if(isset($startDateStr)) { 
    $start_time = strtotime($startDateStr); 
    $iso_start = date('Y-m-d\T00:00:00\Z', $start_time); 
    $nvpStr .= "&STARTDATE=$iso_start"; 
    } 

if(isset($endDateStr)&&$endDateStr!='') { 
    $end_time = strtotime($endDateStr); 
    $iso_end = date('Y-m-d\T24:00:00\Z', $end_time); 
    $nvpStr .= "&ENDDATE=$iso_end"; 
} 

// Execute the API operation; see the PPHttpPost function above. 
$httpParsedResponseAr = PPHttpPost('TransactionSearch', $nvpStr); 

if("SUCCESS" == strtoupper($httpParsedResponseAr["ACK"]) || "SUCCESSWITHWARNING" == strtoupper($httpParsedResponseAr["ACK"])) { 
    exit('TransactionSearch Completed Successfully: '.print_r($httpParsedResponseAr, true)); 
} else { 
    exit('TransactionSearch failed: ' . print_r($httpParsedResponseAr, true)); 
} 

?>