پکیج Cashier نسخه 11

دسته بندی: اخبار لاراول
19 فروردین 99 ساعت 03:30 0 0

به اطلاع شما می رسانیم که نسخه 11 پکیج Cashier منتشر گردیده است. این نسخه شامل پیاده سازی "اشتراک چند حالته" می باشد که مشابه ویژگی جدید "نرخ مالیات" در پکیچ Stripe است.

 

اشتراک چند حالته

"اشتراک چند حالته" این امکان را به شما می دهد که چندین برنامه پرداخت را برای یک اشتراک ایجاد نمایید. برای نمونه، تصور کنید که در حال ساخت یک اپلیکیشن "پشتیبان" (helpdesk) برای مشتریان هستید. این برنامه دارای یک پلن اشتراک به قیمت 10 دلار در ماه می باشد. ولی در کنار آن امکان ارائه خدمت چت آنلاین با هزینه اضافه 15 دلار در ماه را هم دارد:

$user = User::find(1);

$user->subscription('default')->addPlan('chat-plan');

حالا مشتری دو برنامه را روی اشتراک پیشفرض خود دارد. مثال بالا یک برنامه جدید را اضافه می کند و مشتری برای دوره پرداخت بعدی، آنرا در صورت حساب خود مشاهده می کند. اگر میخواهید که مشتری بلافاصله صورت حساب خود را مشاهده کند از متد زیر استفاده کنید:

$user->subscription('default')->addPlanAndInvoice('chat-plan');

 

همچنین برای حذف برنامه از اشتراک مشتری می توانید از متد removePlan استفاده نمایید:

$user->subscription('default')->removePlan('chat-plan');

 

اگر میخواهید مقادیر را تنها برای اشتراک مشتریان خاص تغییر دهید، میتوانید از متد های مربوط به مقادیر استفاده نموده و نام برنامه پرداخت را به عنوان آرگومان به آنها ارسال کنید:

$user = User::find(1);

$user->subscription('default')
     ->incrementQuantity(5, 'chat-plan');
    
$user->subscription('default')
     ->decrementQuantity(3, 'chat-plan');
        
$user->subscription('default')
     ->updateQuantity(10, 'chat-plan');

نرخ مالیات

برای تعیین نرخ مالیات اشتراک یک کاربر، باید متد taxRates را بر روی کلاس مدل خود، پیاده سازی نموده و یک آرایه شامل ID های نرخ مالیات مورد نظر را بازگردانید. نرخ های مالیات را باید در داشبورد Stripe خود تعریف نمایید.

public function taxRates()
{
    return ['tax-rate-id'];
}

متد taxRates به شما امکان اعمال یک نرخ مالیات به صورت "متغیر برای هر مدل" را می دهد. این حالت برای مواقعی است که، مثلا کاربر های شما در چندین کشور مختلف با نرخ مالیات متغیر قرار گرفته اند. اگر از اشتراک های چند حالته استفاده می کنید، برای استفاده از نرخ مالیات های متفاوت برای هر برنامه، میتوانید متد planTaxRates را بر روی کلاس مدل خود پیاده سازی نمایید:

public function planTaxRates()
{
    return [
        'plan-id' => ['tax-rate-id'],
    ];
}

برای کسب اطلاعات بیشتر و نمونه های استفاده از این ویژگی های جدید می توانید مطلب راهنمایی بروز رسانی Cashier و همچنین راهنمای Cashier را مطالعه نمایید.

امیدواریم از این نسخه لذت ببرید و همچنین برنامه های جذابی بسازید.

دیدگاه های کاربران

× در حال پاسخ به: