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

Laravel出纳6取消后续订

李胤
2023-03-14

我刚刚更新了Laravel收银包从5个版本到最新的6个版本。它支持多个订阅,真的很酷。

我手动从条带仪表板删除订阅,并且customer.subscription.deleted事件正在触发。

出纳方法正在捕获此事件:\Laravel\Cashier\Http\Controllers\WebhookController@handleWebhook

$订阅-

从那时起,订阅不能续订。我试图使用恢复()函数,但订阅只能恢复(!)在宽限期内。

在收银员的以前版本中,我使用交换()方法来恢复订阅。现在它返回:

Stripe\Error\InvalidRequest:客户客户在/**/vendor/Stripe/php/lib/aprequestor中没有ID为sub*******的订阅。php:103来自API请求'req.****'

创建新客户和订阅不是非常有效的方法。你对这个问题有什么看法?


共有1个答案

万俟英锐
2023-03-14

我此时此刻的解决方案

public function resume()
{
    $user = Auth::user();
    $subscription = $user->subscription(ServicePackageRepository::SUBSCRIPTION_NAME);

    if ($subscription->cancelled() && $subscription->onGracePeriod()) { 
        //if it was cancelled by user in grace period
        $subscription->resume();

        return $this->respondWithSaved([]);
    } else { //if cancelled by payment failure or smth else...
        if($user->subscription(ServicePackageRepository::SUBSCRIPTION_NAME)) {
            $user->newSubscription(ServicePackageRepository::SUBSCRIPTION_NAME,
                    $user->subscription(ServicePackageRepository::SUBSCRIPTION_NAME)->stripe_plan)
                ->create();

            return $this->respondWithSaved([]);
        } else {
            return $this->respondWithError([]);
        }
    }
}
 类似资料:
  • 我使用laravel出纳创建一个基于订阅的计划购买系统与布伦特里作为支付网关。 我的订阅已成功创建,我的问题是取消时。 我开火后: 用户成功过渡到宽限期,在宽限期内,用户的计划实际到期前还有几天时间,但在布伦特里,订阅仍然有效,没有取消。 然而,当我开枪时: Braintree上的订阅现在标记为已取消。 我的问题是,如果出纳没有将Braintree中的订阅标记为已取消,Braintree如何知道不

  • 创建一个条纹客户非常容易,将一张卡与该客户关联起来,然后随时向他们收费。然而,使用Laravel出纳之后,在任何时候订阅用户的计划都不那么容易。 当用户在“我的设置”中添加卡时,会生成卡令牌。我已尝试在此时存储令牌,并在用户希望更新其订阅时使用它,但出现错误:

  • 我在laravel收银台遇到了一个问题,当我订阅一个产品时,取消订阅,然后再次订阅,它会创建一个新的付款方式(相同),并将其作为默认方式。但是为什么要将同一张卡存储两次呢?如果我取消并再次订阅,我会收到三次付款卡。如何检查付款方式是否已经存在? 非常感谢。 这是我的订阅: 以下是我的javascript:

  • 我正试图与我的订阅建立另一种关系,第一种是用户,它是付费模式,工作正常,另一种是地点,这是用户拥有的地点。 我创建了一个迁移,该迁移添加了place\u id: 我找不到订阅的方法-

  • 我对laravel是新手,目前正在使用laravel 5.8。我的订阅计划将在我的laravel项目中实施。我读过关于如何实现订阅的文章,遇到了我试图实现的laravel收银员。但是它给了我一个错误,我不知道这些错误在哪里,因为我已经根据文档实现了代码。有谁能给我推荐一个在我的项目中如何使用laravel收银员的正确工作示例吗。 谢谢 尝试实现laravel出纳 Stripe\Error\Inva

  • 问题内容: 是否有清除JavaScript 实例的方法? 我已经在QUnit之上编写了一个JavaScript测试框架。该框架通过在.NET中运行每个测试来同步运行测试。(很抱歉,此代码块的长度。我已尽我所能对其进行了评论,因此它不会那么乏味。) 如果测试超时,我的超时Promise将会在测试中进行测试,以便将测试标记为失败,这一切都很好,但是测试继续运行,因为测试Promise()仍在等待解决它