首页 > 解决方案 > Stripe API PHP,获取所有付款方式(我每次都需要客户 ID 吗?)

问题描述

再会,

我有一个问题已经让我困了整个下午。试图制作一个为我处理所有操作的 Stripe 包装类。

从https://github.com/stripe/stripe-php下载 API 类

我想要做什么

我创建了一个类来加载 API 所需的所有文件。启动 API 对象,并在其中创建处理所有这些对象所需的所有方法。

我对 Dutch Mollie API 有相当多的经验,过去我曾与 Ogone/Ingenico 和 Multisafe Pay 合作过。

但我最喜欢 Mollie API。

几个非常简单的电话可以为您完成所有工作。

我卡住的地方

现在我想创建一个显示所有可用支付方式的类方法。

public function payment_methods(){
    ///######## ATTEMPT TO LOAD THE PAYMENT METHODS
    $methods = $this->obj->paymentMethods->all();
    exit(print_r($methods));
}

我得到的错误

这会产生以下错误:(!)致命错误:未捕获(状态 400)(请求 req_N40Ykkerh8nRjQ)缺少必需的参数:客户。在第 38 行的 K:\wamp64\www\stripe_api\stripe\lib\Exception\ApiErrorException.php 中抛出

现在我想看看我一直在忽略什么,但是我能找到的是:

$stripe = new \Stripe\StripeClient(
  'sk_test_4eC39HqLyjWDarjtT1zdp7dc'
);
$stripe->paymentMethods->all([
  'customer' => 'cus_AJ6bY3VqcaLAEs',
  'type' => 'card',
]);

现在这显然显示了一个客户 ID:cus_AJ6bY3VqcaLAEs 所以有人会说我总是有一个客户 ID。但是现在如何获得呢?

我在我的条带帐户中看到我可以创建一个客户。但是,当您想要加载显示所有可用支付方式的支付屏幕时,您不会告诉我必须为每个页面加载创建一个新客户?因为在单页付款和订单屏幕中,您根本不会这样做。

我在看什么?由于手册有点过于臃肿,不幸的是向我展示了很多不相关的数据。

编辑


我确实想要的是所有支持的付款列表。

因为我可以在他们的手册页上找到所有支持的付款列表: https ://stripe.com/docs/api/payment_methods/create

但我想到了这些地方的例子。因为每当我使用它们创建付款方式时,我都会收到错误消息:

#1

mod_fcgid:stderr:PHP 致命错误:未捕获(状态 400)(请求 req_DCdOl1aqiw9qSF)没有此类 PaymentMethod:'card'

#2

mod_fcgid:stderr:PHP 致命错误:未捕获(状态 400)(请求 req_8juJf73eAGYGaS)没有这样的 PaymentMethod:'理想'

我选择哪一个并不重要。我总是得到同样的错误。很确定我做错了什么。但是什么?

标签: phpstripe-payments

解决方案


但是当一个人想要加载一个显示所有可用支付方式的支付屏幕时

我想要所有可用的付款方式。所以支付宝、维萨、美国运通、iDeal 等。或者这不可能吗?

看起来您正在寻找一个 API 端点来找出您的帐户支持的所有不同付款方式?那正确吗?还是您在寻找其他东西?如果是这样,目前不支持。

澄清一下,您正在进行的 PaymentMethod list() 调用是为了请求“为我获取特定客户的所有附加支付工具”,因此需要客户 ID。


推荐阅读