Полоса повторяющихся платежей, но каждые 3 или 6 месяцев

Я новичок в Stripe PHP Laravel. Возможны ли регулярные платежи в Laravel Stripe для циклов выставления счетов, которые составляют не 1 месяц, а 3 месяца или 6 месяцев? Может ли кто-нибудь отправить меня в нужную документацию, потому что я не знаком с этим термином? Я проверил циклы в Stripe, но не думаю, что это то, что мне нужно.

Не уверен, почему все минусы за очень правильный вопрос. Мне было очень трудно найти информацию об изменении интервалов для Cashier / Stripe - спасибо за вопрос и рад, что здесь есть ответ!

benjaminhull 02.12.2020 10:28
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
3
1
366
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

На панели инструментов Stripe в разделе belling-> products создайте новый продукт, например prod-1 , добавьте тарифный план, например, plan-1 (полоса будет генерировать идентификатор для этого плана) к этому продукту (prod-1), а также добавьте тарифный план в интервале выставления счетов. выберите или настройте нужный интервал.

Теперь давайте поработаем над приложением laravel. Я рекомендую использовать Laravel Cashier.

Запустить композитор composer require laravel/cashier

Обновите таблицу миграции USER:

 Schema::table('users', function ($table) {
    $table->string('stripe_id')->nullable()->collation('utf8mb4_bin');
    $table->string('card_brand')->nullable();
    $table->string('card_last_four', 4)->nullable();
    $table->timestamp('trial_ends_at')->nullable();
});

Schema::create('subscriptions', function ($table) {
    $table->increments('id');
    $table->unsignedInteger('user_id');
    $table->string('name');
    $table->string('stripe_id')->collation('utf8mb4_bin');
    $table->string('stripe_plan');
    $table->integer('quantity');
    $table->timestamp('trial_ends_at')->nullable();
    $table->timestamp('ends_at')->nullable();
    $table->timestamps();
});

Обновите свою пользовательскую модель:

use Laravel\Cashier\Billable;

class User extends Authenticatable
{
    use Billable;
}

В вашем контроллере ex. МойКонтроллер.php:

use Cartalyst\Stripe\Laravel\Facades\Stripe;
use Cartalyst\Stripe\Exception\CardErrorException;
use Session;
use Auth;

public function store(Request $request)
{

    $token = $_POST['stripeToken'];
    $user = Auth::user();

    try {

        $user->newSubscription('prod-1', 'ID of plan-1')->create($token);

        Session::flash('success', 'You are now a premium member');
        return redirect()->back();

    } catch (CardErrorException $e) {
        return back()->withErrors('Error!'.  $e->getMessage());
    }


}

На ваш взгляд:

<form action = "{{ route('subscribe')}}" method = "POST">
  <script
    src = "https://checkout.stripe.com/checkout.js" class = "stripe-button"
    data-key = "pk_test_0000000000000000000" // Your api key
    data-image = "/images/marketplace.png" // You can change this image to your image
    data-name = "My App Name"
    data-description = "Subscription for 1 weekly box"
    data-amount = "2000" //the price is in cents 2000 = 20.00
    data-label = "Sign Me Up!">
  </script>
</form>

Создать маршрут:

Route::POST('subscription', 'MyController@store')->name('susbcribe');

Дайте мне знать, если это работает.

Благодарю. Мне действительно было интересно, почему за этот вопрос проголосовали. Оказывается, эта настройка доступна в Stripe. большое спасибо!

James Arnold 22.04.2019 01:56

@ Джеймс Арнольд, это потому, что вы не разместили код со своим вопросом. Правило здесь заключается в том, что вы должны делиться кодами, где вы застряли, чтобы люди могли взглянуть и помочь вам, а не начинать с нуля.

livreson ltc 22.04.2019 02:10

Другие вопросы по теме