我必须说,我不记得上次我花了这么多时间来搞清楚 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);