使用新的REST API应用程序

时间:2016-01-05 00:40:21

标签: php paypal paypal-ipn paypal-rest-sdk

我一直在使用PayPal的IPN来处理交易。我想构建一个发票搜索工具,以便能够出于各种原因搜索旧的或当前的用户付款。我今天花了一些时间来设置PayPal PHP REST API API以促进这一点,并做了以下工作。

  • 我使用我当前的帐户在developer.paypal.com上创建了一个新应用。
  • 我安装了最新的(1.6.3)PayPal PHP REST SDK通过作曲家。
  • 我使用 LIVE 客户端ID和密码配置了sdk_config.ini。
  • 我将ini文件的模式从沙盒设置为 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之一。

1 个答案:

答案 0 :(得分:1)

通常,PayPal中的经典和REST架构独立工作,不能总是一起使用。例如,对于使用REST API运行的交易,您无法使用Classic APIsearch,反之亦然。