Laravel 收银员 (Stripe) 获取订阅费用或使用的优惠券?

Laravel Cashier (Stripe) get subscription cost or coupon used?

我正在使用 Laravel Cashier with Stripe。

在我的帐户面板中,我想向用户显示他们的每月订阅费用是多少。

用户可以选择没有优惠券的普通套餐,也可以使用优惠券半价的相同套餐。

Cashier 是否可以告诉我他们每月的订阅费用是多少,或者他们是否使用优惠券注册?或者这是我必须在他们订阅时存储在我自己的数据库中的东西吗?

我创建了一个用于我的用户模型的优惠券特征。希望对您有所帮助。

<?php

namespace App\Traits;

use Carbon\Carbon;

trait Coupon 
{
    public function getSubscriptions()
    {
        return $this->asStripeCustomer()->subscriptions->data;
    }

    public function getSubscription()
    {
        foreach ($this->getSubscriptions() as $subscription) {
            if ($subscription->status === 'active') {
                return $subscription;
            }
        }
    }

    public function discount()
    {
        return $this->getSubscription()->discount;
    }

    public function discountCustomerId()
    {
        return $this->discount()->customer;
    }

    public function discountSubscriptionId()
    {
        return $this->discount()->subscription;
    }

    public function discountStartDate()
    {
        return Carbon::createFromTimestamp($this->discount()->start);
    }

    public function discountEndDate()
    {
         return Carbon::createFromTimestamp($this->discount()->end);
    }

    public function discountDaysLeft()
    {
        return $this->discountEndDate()
            ->diffInDays($this->discountStartDate());
    }

    public function coupon()
    {
        return $this->discount()->coupon;
    }

    public function couponIsValid()
    {
         return $this->coupon()->valid;
    }
}