php - Stripe API PHP,获取所有付款方式(我每次都需要客户 ID 吗?)
问题描述
再会,
我有一个问题已经让我困了整个下午。试图制作一个为我处理所有操作的 Stripe 包装类。
从https://github.com/stripe/stripe-php下载 API 类
我想要做什么
我创建了一个类来加载 API 所需的所有文件。启动 API 对象,并在其中创建处理所有这些对象所需的所有方法。
- __construct() :启动 API,设置 API 密钥等
- payment_methods() : 获取所有支付方式
- create_payment() :创建付款,设置付款意向,检索并确认
- payment_callback() : 获取当前支付状态失败/成功/超时其他
我对 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
- 支付宝
- au_becs_debit
- bacs_debit
- 班联系
- 卡片
- 每股收益
- 像素
- 转帐
- 理想的
- oxxo
- p24
- sepa_debit
- 软软的
但我想到了这些地方的例子。因为每当我使用它们创建付款方式时,我都会收到错误消息:
#1
mod_fcgid:stderr:PHP 致命错误:未捕获(状态 400)(请求 req_DCdOl1aqiw9qSF)没有此类 PaymentMethod:'card'
#2
mod_fcgid:stderr:PHP 致命错误:未捕获(状态 400)(请求 req_8juJf73eAGYGaS)没有这样的 PaymentMethod:'理想'
我选择哪一个并不重要。我总是得到同样的错误。很确定我做错了什么。但是什么?
解决方案
但是当一个人想要加载一个显示所有可用支付方式的支付屏幕时
和
我想要所有可用的付款方式。所以支付宝、维萨、美国运通、iDeal 等。或者这不可能吗?
看起来您正在寻找一个 API 端点来找出您的帐户支持的所有不同付款方式?那正确吗?还是您在寻找其他东西?如果是这样,目前不支持。
澄清一下,您正在进行的 PaymentMethod list() 调用是为了请求“为我获取特定客户的所有附加支付工具”,因此需要客户 ID。