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

Stripe在PHP中创建客户和重复收费

古彦
2023-03-14

我有一个html" target="_blank">网站,我想集成Stripe支付网关,当用户注册时,我想在Stripe上创建一个客户,并向他们收取第一个月的费用,例如100美元,从下个月开始,我想向他们收取50美元。

我如何创建客户,然后同时向他们收费并设置定期付款,到目前为止,我只能找到一次性付款系统:

$charge = \Stripe\Charge::create(
    array(
        "amount" => $amount,
        "currency" => "usd",
        "source" => $token,
        "description" => $email
    )
);

对于经常性付款,我必须在cron中运行此代码还是有更好的方法?

提前感谢。

编辑:

我首先使用以下代码创建了一个客户,然后用他们的收费id向该客户收费:

//Create Customer:
$customer = \Stripe\Customer::create(array(
    'source'   => $token,
    'email'    => $_POST['email'],
    'plan'     => "monthly_recurring_setupfee",
));

// Charge the order:
$charge = \Stripe\Charge::create(array(
    'customer'    => $customer->id,
    "amount" => $amount,
    "currency" => "usd",
    "description" => "monthly payment",
    )
);

这似乎奏效了。

另一个问题:我创建了两个计划<代码>每月定期设置费用<代码>和<代码>每月定期设置费用<代码>,前一个计划包含我想要收取的金额加上一次性设置费用,后一个计划包含我将从第二个月开始收取的常规金额,我想在注册时为用户分配每月定期设置费用计划,如果付款成功,将用户的计划更改为每月定期设置费用,这可能吗?

共有2个答案

白腾
2023-03-14

要以每月相同的价格向客户收费,您需要使用Stripe的订阅。如果你为客户订阅了50美元的月度计划,他将每月自动收取50美元的费用,而无需你进行任何手动操作。

至于第一个月50美元的安装费,你需要的是查看发票项目。

以下是你要遵循的流程:

  1. 使用API创建客户。
  2. 通过API创建50美元发票项。
  3. 使用API创建每月50美元计划的订阅。

最后一步自动创建订阅的第一张发票,并将发票项目添加到其中。然后客户将被收取50美元的计划费用和50美元的发票项目费用,因此预期为100美元。然后下个月同一天,客户将只被收取50美元,从那时起每个月。

夏侯瑞
2023-03-14

我找到了一种方法来创建一个客户,将他们注册到一个计划中,并向他们收取一次性安装费。以下是我使用的代码:

$customer = \Stripe\Customer::create(array(
            'source'   => $token,
            'email'    => $billing_email,
            'plan'     => $stripePlan,
            'account_balance' => $setupFee,
            'description' => "Charge with one time setup fee"
            ));

这将向他们收取一次性设置费'account_balance'=

Stripe一次性订阅费

 类似资料:
  • 我的ios应用程序中有条带集成。 我能够使用用户输入的卡详细信息生成令牌。 我将此TOKEN发送到服务器进行支付过程。 那都很好! 问题是,我想使用它的API创建一个STRIPE客户。 如何做到这一点,SDK提供了什么吗? 或者在标题中传递“Authorization_KEY”和“STRIPE_TEST_PUBLIC_KEY”是正确的方法? 或者我需要实现整个OAuth 2.0? 请帮忙! 谢谢你

  • 我有一个角度作为前端。从那里我可以获得客户卡的详细信息并创建一个令牌。 const{token,error}=等待stripe.createToken(this.card,options); 我有Laravel作为后端 我需要以条纹形式保存客户卡详细信息,并且需要保存响应详细信息,如最后4位数字。为客户保存多张卡应该是可行的。 注意:最初只需要保存卡详细信息,稍后再付款。 我已经浏览了文档,但我不

  • 嗨,我正在尝试实施条带连接,平台收取申请费,但连接的用户获得大部分费用。 以下是我的指导https://stripe.com/docs/connect/shared-customers 我把这个作为我的代码。用户将使用默认信用卡来源保存在另一个视图中。 但收到错误: “您提供了一个客户,但没有指定来源。客户的默认来源是一个来源,不能与现有客户共享。 我无法在创建令牌主体中指定其默认源。有帮助吗?

  • 我使用在我的ASP. NET Core应用程序中实现Stripe。 我知道如何使用获得信用卡充值的令牌,但是我从哪里获得令牌来创建客户呢? 在文档中,我看到我需要获得一个令牌来创建客户,但不确定该令牌来自何处。https://stripe.com/docs/api/dotnet#create_customer 据我所知,代币只能使用一次,所以它不能是我在信用卡充值前得到的相同代币。

  • 下面是关于让其他企业直接接受付款的文档。 我已成功创建了一个连接帐户,并在连接帐户上接受了客户的付款,但我尚未能够保存该客户的付款信息以备将来付款。 在所有文档中,尤其是在这里,它假设您已经使用支付方式在平台上创建了一个客户帐户,然后才应该尝试将支付方式克隆到连接的帐户。 我一辈子都不知道如何在平台帐户上创建一个具有支付信息的客户,然后再将其克隆到连接的帐户上。 根据文档,我从客户端开始,其中ac

  • 创建客户端有两种方式,一种是直接使用特化的构造器函数,另一种是使用工厂构造器函数。 第一种方式返回的是具体的客户端结构体指针对象,第二种方式返回的是客户端接口对象。 使用特化的构造器函数创建客户端 特化的构造器函数有下面几个: func NewHTTPClient(uri ...string) (client *HTTPClient) func NewTCPClient(uri ...string