gpt4 book ai didi

php - 条纹 : Specify Specific Card for Subscription

转载 作者:可可西里 更新时间:2023-11-01 00:41:39 31 4
gpt4 key购买 nike

我已经建立了基于订阅的网站,允许人们有多个订阅。我决定使用 Stripe 进行支付和卡处理。只需很短的时间就可以将它集成到我的 Symfony2 项目中。我能够在几个小时内创建订阅、客户和添加卡片。然后我遇到了一个问题。如果客户有多张卡,我希望能够让他们在创建新订阅时选择要使用的卡。听起来很简单。经过 2 天大约 30 小时的梳理他们的文档后,我不得不说我无法弄清楚如何让它工作。

我的设置方式是,当客户创建卡片时,我将“卡片 ID”与品牌一起存储在我的数据库中。这只是让在请求页面时在服务器端加载详细信息变得容易。创建新订阅的客户会看到他们的卡片并选择他们想要用于新订阅的卡片。这通过 AJAX 传递到我的 php 脚本以创建新订阅。但是,当我尝试使用特定卡时,出现 400 错误,指示“卡 ID”不是 token 。我知道它不是 token ,因为 token 用于将卡添加到客户帐户,但我究竟该如何指定客户想要使用的确切卡?

注意:使用新 token 会创建卡片的另一个实例。这不是一个选项。

PHP:

         require_once('../stripe-php/init.php');

//Set Secret API Key
\Stripe\Stripe::setApiKey("sk_test_XXXXXXXXXXXXXXXXXXXXX");

//Retrieve Customer
$cu = \Stripe\Customer::retrieve($_POST['customer_id']);

//Create Subscription using saved customer "card id"
$createSubscription = $cu->subscriptions->create(array("plan" => $_POST['sub_option'], "source" => $card));

张贴到条纹:

plan: "500-2016"
source: "card_xxxxxxxxxxxxxxxxxxxxx"

条纹错误:类型 400

error:
type: "invalid_request_error"
message: "No such token: card_xxxxxxxxxxxxxxxxxxxxxxx"
param: "source"

最佳答案

我收到了 Stripe 支持人员的回复:一个 Customer 不可能有不同支付来源的订阅。订阅的所有发票始终向客户的当前 default_source 收费。因此,如果您按照 Giles Bennett 的建议更改默认值,您将针对所有 订阅更改它,而不管创建时的默认值是什么。

如果您需要一个用户订阅多个来源,您需要为该用户创建多个带状 Customer 对象,每个对象有不同的 default_source

关于php - 条纹 : Specify Specific Card for Subscription,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34729050/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com