我必须说,我不记得上次我花了这么多时间搞清楚API。我厌恶与PayPal合作。那说......
我正在开发一个看似简单的脚本来将交易下载到运输软件中。我的脚本正在努力在NVP和SOAP中提取事务。但是,当付款在发票上时,所购买的商品不会包含在付款交易信息中。所以我假设我需要的是发票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);
答案 0 :(得分:0)
首先,如果您想使用PayPal API简化您的开发,我建议您查看我的PHP class library for PayPal。它使事情变得更容易。
至于获取发票详细信息,您需要更正Invoicing API实际构建在PayPal的Adaptive Payments平台上,该平台包含App ID。如果你做完了,我想我有点困惑.. ??
但是,如果您拥有APP ID,则可以进行GetInvoiceDetails调用以检索发票详细信息。