如何使用PayPal API获取发票详细信息?

时间:2014-03-25 15:57:09

标签: api soap paypal transactions invoices

我必须说,我不记得上次我花了这么多时间搞清楚API。我厌恶与PayPal合作。那说......

我正在开发一个看似简单的脚本来将交易下载到运输软件中。我的脚本正在努力在NVP和S​​OAP中提取事务。但是,当付款在发票上时,所购买的商品不会包含在付款交易信息中。所以我假设我需要的是发票API。

我有API凭据,可以正常使用TransactionSearch。我看到对于Invoicing API,我还需要一个App Id,所以我创建了一个App,两次。显然有两个PayPal开发者网站?所以我在developer.paypal.com上创建了一个REST应用程序,我想在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);

1 个答案:

答案 0 :(得分:0)

首先,如果您想使用PayPal API简化您的开发,我建议您查看我的PHP class library for PayPal。它使事情变得更容易。

至于获取发票详细信息,您需要更正Invoicing API实际构建在PayPal的Adaptive Payments平台上,该平台包含App ID。如果你做完了,我想我有点困惑.. ??

但是,如果您拥有APP ID,则可以进行GetInvoiceDetails调用以检索发票详细信息。