I am trying to show a Stripe payment element, but it's not showing.
Using dd() statements, I can tell that the user PaymentMethods is empty (as expected for a new user) and the Intent is not null.
show() method in PlanController.php:
public function show(Plan $plan, Request $request)
{
$user = $request->user();
$user->createOrGetStripeCustomer();
$paymentMethods = $user->paymentMethods();
$intent = $user->createSetupIntent();
return view('plans.show', compact('plan', 'intent'));
}
Javascript, truncated because SO won't let me post it all:
<script src="https://js.stripe.com/v3/"></script>
...
// Submit the form with the token ID.
function stripeTokenHandler(paymentMethod) {
// Insert the token ID into the form so it gets submitted to the server
var form = document.getElementById('payment-form');
var hiddenInput = document.createElement('input');
hiddenInput.setAttribute('type', 'hidden');
hiddenInput.setAttribute('name', 'paymentMethod');
hiddenInput.setAttribute('value', paymentMethod);
form.appendChild(hiddenInput);
// Submit the form
form.submit();
}
via Chebli Mohamed
Aucun commentaire:
Enregistrer un commentaire