Единовременная плата и повторение после с Stripe и Laravel Cashier - PullRequest
0 голосов
/ 10 мая 2018

Я пытаюсь взимать разовую плату + плату за первый месяц в полосе, но не могу понять, как это сделать, так как они меняют свой интерфейс.

После первоначального взноса + абонентской платы за первый месяц она должна меняться ежемесячно.

В идеале я хочу сделать это с Laravel Cashier.

Любые идеи и примеры будут приветствоваться.

Ответы [ 2 ]

0 голосов
/ 01 июня 2018
$user->newSubscription('main', 'plan_xxxxxxxxxxxxxx')->create($request->stripeToken);           

$customer = Customer::retrieve($parent_account->stripe_id);

$charge = Charge::create(array(
                'customer' => $customer->id,
                'amount' => $amount,
                'currency' => 'gbp',
        'description' => 'Joining Fee',                     
            ));
0 голосов
/ 10 мая 2018

Вот как можно оплатить подписку или разовую оплату в полосе:

public function index()
{
    if (!request()->wantsJson()) {
        abort(404);
    }

    $plan = request()->get('plan');

    $stripeToken = request()->get('stripeToken');

    $user = User::findOrFail(request()->get('userId'));

    if (is_null($user) || is_null($plan) || is_null($stripeToken)) {
        return response()->json(403);
    }

    if ($plan === self::PREMIUM) {
        $user->newSubscription('main', self::PREMIUM_ID)->create($stripeToken);
    }

    if ($plan === self::EXTENDED) {

        $transaction = $user->charge(999, ['currency' => 'usd', 'source' => $stripeToken]);

        $payment = new Payment([
            'payment_id'     => $transaction->id,
            'payment_status' => $transaction->paid,
            'amount'         => $transaction->amount,
        ]);

        $user->payments()->save($payment);
    }

    return response()->json(200);
}
...