当前位置: 首页 > 知识库问答 >
问题:

条纹蟒蛇将现有卡/源附加到新客户

巴博耘
2023-03-14

我有以下情况:

> < li>

用户可以预订房间。

客人有可能在不做账的情况下预订房间。在这种情况下,我在没有客户的情况下创建条纹费用

有可能用户在预订过程中决定创建一个帐户。在本例中,我还创建了一个条带客户。

我所需要的

如果用户决定创建一个帐户:

我想使用信用卡,该信用卡由用户输入并用于创建费用并将信用卡附加到客户,以便用户可以在他的个人资料中看到他的信用卡,并选择/使用它进行将来的预订。

问题:

在创建客户之前创建条带费用。因此,我需要获取源代码并将其附加到客户。(我已经成功地更新了费用并添加了customer.id,但相同的过程不适用于更新客户。)

更新客户来源给我:

Cannot use stripe token more than once

到目前为止,我尝试了什么:

从收费中获取card_id

ch_ch = stripe.Charge.retrieve(new_booking.stripe_charge_id)

customer.sources.create(card=ch_ch.source.id)
customer.save()

使用源 ID

customer.sources.create(source=form.stripe_source_id.data)

不同的语法

customer.source = form.stripe_source_id.data
customer.save()

注意:form.stripe_source_id。data包含由stripe返回的tok_1DEvMCGd8vfeewZVgrSRu4。js创建信用卡元素时。这是用来产生电荷的,效果很好:

stripe_charge = stripe.Charge.create(
    amount=int(float(data_received['total_price']) * 100),
    currency="eur",
    source=form.stripe_source_id.data,
    description=None,
    #customer=user_id, # customer is anonymous
    capture=False, # if False the charge needs to be captured, otherwise it will expire in 7 days and is refunded
    #receipt_email='email für den typer, der die rechnung kriegt, funktioniert nur im livemode',
    metadata={
        'infos': 'process stripe payment anonymous charge'
    }
)

在文档中,我发现如果附加/更新客户来源,就会创建新的来源,但这意味着不可能将现有来源附加到客户?那不可能是真的。

由元素返回的标记或源的ID。传递源将创建一个新的源对象,使其成为新的客户默认源,并删除旧的客户默认源(如果存在)。

共有1个答案

冀嘉木
2023-03-14

一旦卡令牌已用于收费,就无法向客户添加卡。您可以将来源添加到客户并使用它来收费,也可以要求客户在创建帐户时重新输入其付款信息。

这种情况的原因之一是保护客户卡数据。受限制的流量使中间的 Stripe 支持平台(如 Shopify)更容易防止商家滥用,根据客户的意愿保存卡详细信息。

如果你坚持要拥有你描述的流程,这里有一个可能的解决办法:当有人输入卡信息时,创建一个虚拟客户并向其收费。然后,如果他们创建了一个账户,将他们的信息与客户联系起来。然而,管理和删除这些无关的虚拟客户将是额外的工作。

 类似资料:
  • 我有一个Squarespace应用程序,可以为客户收取费用,但Squarespare不创建客户对象,它只存储费用。 我的目标:当用户进行购买时,创建一个附加了订阅计划的Customer对象,以便我们可以对卡进行重复收费。 我可以通过条带测试API提取费用列表,并且每个费用都有一个包含卡令牌。因此,根据我的理解,我应该能够创建一个客户并传入源或源ID,它将向该客户添加源。 我的代码如下: 我在条纹沙

  • 这就是我在做“python-V”时得到的结果 Python 2.7.11::Anaconda 2.4.0(64位)我通常使用我的终端来玩IDLE。但现在我也安装了空闲shell。 我尝试导入sys;sys.path两者。它们抛出不同的路径。我的终端返回了包含蟒蛇的路径。 我试着按照这些步骤安装一个模块。 > python设置。py sdist sudo python安装程序。py安装 然后我打开闲

  • 当客户提交信用卡时,我希望执行以下序列(使用Stripe API): 检查用户的元数据中是否有条带客户id 如果没有,则创建一个新客户,将输入的卡保存给该用户 如果用户已经有客户id,请检查输入的卡是否已经是其保存的卡之一 如果是,则对该卡收费 如果不是,请将新卡添加到客户对象,然后对该卡收费 在我当前的代码中,Stripe在尝试创建费用时返回invalid_request错误。以下是相关代码部分

  • 我需要在我的中添加一个新的目录位置,但问题是我使用的是一个全新安装的系统(Linux),其中尚未定义任何。我读过并使用过,我认为我很了解它,但我不知道当没有存在时会发生什么。 我不能附加到不存在的东西上,但我希望当前发现的所有重要库都能正常工作,因此要小心,我在Python中使用了来获取所有标准值。然后我为定义了一个-变量,包括我刚刚找到的所有节点,以及我的新目录。但是哇,很多东西都停止工作了!P

  • 如何在matplotlib中绘制多个条形图,当我多次尝试调用bar函数时,它们重叠,如下图所示,最高值红色只能看到。如何在x轴上绘制带有日期的多个条形图? 到目前为止,我尝试了这个: 我得到了这个: 结果应该是这样的,但是日期在x轴上,横条彼此相邻:

  • 我正在运行Ubuntu 18.04。 我使用mysql连接器-python连接Python到MySQL。 我使用的是Python 3.6.7,并且已经安装了mysql连接器-python。 我已经安装了mysql连接器-python-py3_8.0.13-1ubuntu18.10_all.deb. 在运行Python脚本时,mysql。连接器模块似乎加载正确,但脚本在碰到光标时失败。next()具