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;
}
}
我正在使用 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;
}
}