我正在使用带有Stripe的Laravel Cashier。
在我的帐户面板中,我想向用户显示他们的每月订阅费用是多少。
用户可以在没有优惠券的情况下制定正常计划,也可以使用优惠券制定相同的计划,使其价格降低一半。
无论如何,收银员可以告诉我每月订阅费用是多少,或者他们是否使用优惠券注册?或者这是我在订阅时必须存储在我自己的数据库中的东西吗?
答案 0 :(得分:1)
我创建了一个可用于用户模型的优惠券特征。希望有帮助。
<?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;
}
}