【问题标题】:Code example using PHP library to retrieve payments from stripe account使用 PHP 库从条带帐户中检索付款的代码示例
【发布时间】:2016-02-15 18:41:48
【问题描述】:

我不确定如何将 PHP stripe api 库包含到我的 php 文件中,以便从我的 stripe 帐户中获取交易列表。我已经下载了 lib 源并将内容提取到一个文件夹中,在该文件夹中保存了一个名为 getStripeTransList.php 的文件,其中包含以下代码:-

我得到的错误是

找不到类条带

我已将代码调整如下:-

<?php

require "Stripe.php";
require "Charge.php";

Stripe\Stripe::setApiKey("sk_test_...");
$transList = Stripe\Charge::all(array("limit" => 3));
var_dump($transList);

我现在得到的错误是在 Charge.php 中找不到“Stripe\ApiResource”。 Charge.php 看起来像这样:-

<?php

namespace Stripe;

class Charge extends ApiResource

{
    /**
     * @param string $id The ID of the charge to retrieve.

在 APIResource.php 中声明类 APIResource。我觉得我没有正确安装或配置条带 PHP API 库并出现所有这些依赖项?该库应该如何安装。我尽量不使用 Composer,但如果这是唯一的方法,我会这样做。

【问题讨论】:

  • 确保您的要求路径正确并检查 Stripe.php 中的命名空间
  • Stripe.php 文件位于同一子目录中。我注意到 Stripe.php 中的命名空间是 Stripe。啊哈!将 'Stripe\' 命名空间附加到类以限定它,工作。名称空间并没有真正起作用。谢谢。
  • 我已将代码调整如下:-
  • 好的,很高兴听到工作。所以标记为我的评论:)
  • 不要添加更多信息作为答案,而是编辑您的问题。

标签: php stripe-payments


【解决方案1】:

您没有正确包含 Stripe PHP 绑定。

如果您使用 Composer,您只需包含 Composer 的 autoload.php 文件:

require_once("vendor/autoload.php");

如果您手动安装库,则需要包含 init.php 文件:

require_once("/path/to/stripe-php/init.php");

一旦包含该库,您就可以像这样list all charges

$charges = \Stripe\Charge::all();
foreach ($charges->data as $charge) {
    // Do something with $charge
}

请注意,所有“列表”API 调用仅返回有限数量的资源。要检索整个列表,您可能需要使用 pagination parameters 发出多个 API 调用,以从上一个调用中断的地方继续。

如果您使用的是最新版本的绑定 (3.9.0),您还可以使用新的自动分页功能:

$charges = \Stripe\Charge::all();
foreach ($charges->autoPagingIterator() as $charge) {
    // Do something with $charge
}

这将自动迭代所有费用,根据需要查询新页面。

【讨论】:

  • 非常感谢@Ywain 的回答...请告诉我如何获得无限数据
猜你喜欢
  • 1970-01-01
  • 2020-12-02
  • 2013-06-10
  • 2011-11-15
  • 2020-08-24
  • 1970-01-01
  • 2018-05-26
  • 1970-01-01
  • 2014-09-12
相关资源
最近更新 更多