2014-03-25 3 views
0

API를 알아 내는데 너무 많은 시간을 소비 한 마지막 시간을 기억할 수 없습니다. 나는 페이팔로 일하는 것을 꺼린다. 그건 ...PayPal API를 사용하여 인보이스 세부 정보를 얻는 방법은 무엇입니까?

나는 배송 소프트웨어에 트랜잭션을 다운로드하는 것처럼 보이는 간단한 스크립트를 개발 중입니다. NVP와 SOAP에서 트랜잭션을 가져 오도록 스크립트를 준비했습니다. 그러나 인보이스에 결제 할 때 구매 한 항목은 결제 거래 정보에 포함되지 않습니다. 따라서 필자는 인보이스 발행 API에 필요한 정보가 있다고 가정합니다.

TransactionSearch와 잘 작동하는 API 자격 증명이 있습니다. 인보이스 발행 API의 경우 앱 ID가 필요하다는 것을 알았으므로 앱을 두 번 만들었습니다. PayPal 개발자 사이트가 두 곳입니까? 그래서 나는 REST 앱을 developer.paypal.com에서 만들었고 apps.paypal.com에서 "조건부로 승인 된"클래식 앱을 추측합니다.

엄청나게 조직화되지 않은 개발자 구조와 문서화에 대한 슬픈 변명에 대해 다음과 같이 생각합니다 ...! @ # $ ... 누군가가 올바른 길로 나를 인도 할 수 있는지 알고 싶습니다.

내가 할 수있는 일은 송장 (시작일 등)이 무엇인지 확인하고 배송 소프트웨어로 내보낼 수 있도록 세부 정보를 얻는 것입니다. 거래가 정상적으로 작동하는지, 인보이스가 왜 다른지 또는 왜 데이터를 가져 오는 데 더 많은 노력이 필요한지 잘 모르겠습니다. 그냥 참고로

, 여기에 우리가 우리의 거래 당기있는 방법은 다음과 같습니다

$client = new SoapClient('https://www.paypal.com/wsdl/PayPalSvc.wsdl', 
         array( 
         'location' => 'https://api-3t.paypal.com/2.0/', 
         'soap_version' => SOAP_1_1 
         )); 

$cred = array('Username' => $username, 
      'Password' => $password, 
      'Signature' => $signature 
      ); 

$Credentials = new stdClass(); 
$Credentials->Credentials = new SoapVar($cred, SOAP_ENC_OBJECT, 'Credentials'); 

$headers = new SoapVar($Credentials, 
        SOAP_ENC_OBJECT, 
        'CustomSecurityHeaderType', 
        'urn:ebay:apis:eBLBaseComponents'); 

$client->__setSoapHeaders(new SoapHeader('urn:ebay:api:PayPalAPI', 
             'RequesterCredentials', 
             $headers)); 

$args = array(
'Version' => '94.0', 
'StartDate' => '2014-03-25T00:00:00Z' 
); 

$TransactionSearchRequest = new stdClass(); 
$TransactionSearchRequest->TransactionSearchRequest = new SoapVar( $args, 
                   SOAP_ENC_OBJECT, 
                   'TransactionSearchRequestType', 
                   'urn:ebay:api:PayPalAPI'); 

$params = new SoapVar($TransactionSearchRequest, SOAP_ENC_OBJECT, 'TransactionSearchRequest'); 

$result = $client->TransactionSearch($params); 

print_r($result); 

답변

0

먼저 내 PHP class library for PayPal에서 보라는 권유를 줄 페이팔 API 년대에 개발을 단순화합니다. 그것은 일을 훨씬 쉽게합니다.

인보이스 세부 정보를 얻는 데는 인보이스 발행 API가 실제로 앱 ID가 포함 된 PayPal의 Adaptive Payments 플랫폼을 기반으로 작성되었다는 것이 맞습니다. 나는 당신이 그 일을 마쳤다면 조금 혼란 스럽다. ??

일단 APP ID가 있으면 GetInvoiceDetails 전화를 걸어 인보이스 세부 정보를 검색 할 수 있습니다.

+0

감사합니다. Andrew. 내 Google 모험에서 간략히 보았지만 여전히 자격 증명 문제를 파악할 수 없었습니다. 내가 갇혀있는 가장 큰 부분은 정확하게 필요한 자격 증명을 찾는 것입니다. 거래 내역 등에서 잘 작동하는 판매자 계정에 3 부분으로 구성된 API 서명이 있습니다. 앱 ID가없는 등록 된 REST API 앱이 있습니다 (다른 3 부분으로 된 샌드 박스 및 라이브 서명 세트). 그런 다음 Classic API를 관리하고 거기에 앱을 등록하고 앱 ID를 얻었지만 어떤 서명 세트가 작동하는지 전혀 모릅니다. – kmcconnell

+0

[이 링크] (https://www.paypal.com/us/cgi-bin/webscr?cmd=_login-api-run)에서 가져온 사용자 이름, 암호 및 서명을 사용하게됩니다. 샌드 박스 버전은 [여기] (https://www.sandbox.paypal.com/us/cgi-bin/webscr?cmd=_login-api-run)입니다. 또한 API 액세스의 PayPal 계정 프로필에서 가져올 수 있습니다. 그런 다음 Classic API에 대한 App ID를 사용합니다. –

관련 문제