我一直在使用PayPal的IPN来处理交易。出于各种原因,我想建立一个发票搜索工具,以便能够搜索旧用户或当前用户的付款。今天,我花了一些时间来设置PayPal PHP REST API SDK以促进这一点,并做了以下工作。
- 我用我的活期账户在developer.paypal.com上创建了一个新的应用程序
- 我通过composer安装了最新的(1.6.3)PayPal PHP REST SDK
- 我用LIVE客户端id和机密配置了sdk_config.ini
- 我将ini文件的模式从沙箱设置为LIVE
- 我使用LIVE客户端id和机密创建OAuthTokenCredential
-
我通过OAuthTokenCredential对象生成一个AccessToken,它需要一个配置实例。
$config = PayPal'Core'PayPalConfigManager::getInstance()->getConfigHashmap(); $oauth_credential->getAccessToken($config);
-
我使用启动的OAuthTokenCredential创建了一个ApiContext。
$api_context = new PayPal'Rest'ApiContext($oauth_credential);
-
我创建了一个搜索对象使用一个广泛的日期跨度,我100%确定应该返回结果。
$search = new PayPal'Api'Search( '{ "start_invoice_date" : "2014-12-01 PST", "end_invoice_date" : "2015-01-01 PST", "page" : 1, "page_size" : 20, "total_count_required" : true }' );
-
然后我使用我的搜索对象和API上下文进行发票搜索
$invoices = PayPal'Api'Invoice::search($search, $api_context);
没有任何错误,一切运行良好。问题是我在$invoices
对象中没有得到任何结果。这就好像我刚刚创建了一个新帐户,却没有发票。我感觉我在某个地方错过了一个设置,对我想做的事情使用了不合适的API调用,或者我应该使用他们的其他API之一。
通常PayPal中的经典和REST架构是独立工作的,不能总是一起使用。例如,不能使用REST API
搜索使用Classic API
运行的事务,反之亦然。