0

我必须说,我不记得上次我花了这么多时间来搞清楚 API 是什么时候。我讨厌使用 PayPal。那就是说...

我正在开发一个看似简单的脚本来将交易下载到运输软件中。我已经让脚本在 NVP 和 SOAP 中提取交易。但是,当发票上有付款时,购买的物品不包含在付款交易信息中。所以我假设我需要的是发票 API。

我有与 TransactionSearch 配合得很好的 API 凭据。我看到对于 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);
4

1 回答 1

0

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

至于获取发票详细信息,您是正确的,Invoicing API 实际上是在 PayPal 的 Adaptive Payments 平台上构建的,其中包括 App ID。我想我对你是否完成了这件事有点困惑..??

但是,一旦您有了 APP ID,就可以调用GetInvoiceDetails来检索发票详细信息。

于 2014-03-25T19:35:39.440 回答