Hi all,
I have a question about stripe and single charges. Is it possible to store a user's credit card once and then charge that card multiple times later, whenever a particular event is triggered. Is there a simple way to do this in with Cashier?
The Laravel documentation for Cashier on Payment Methods for Single Charges says:
"Due to Stripe limitations, you may not use the stored default payment method of a customer for single charges. You must allow the customer to enter their payment method details using the Stripe.js library."
https://laravel.com/docs/6.x/billing#storing-payment-methods
But the documentation for Cashier on Single Charges then says:
"If you would like to make a "one off" charge against a subscribed customer's payment method, you may use the charge method on a billable model instance. You'll need to provide a payment method identifier as the second argument:"
// Stripe Accepts Charges In Cents...
$stripeCharge = $user->charge(100, $paymentMethod);
https://laravel.com/docs/6.x/billing#simple-charge
Reading the stripe documentation, it seems that there is no problem to charge a user later when they are offline, using their saved payment method:
"The Setup Intents API lets you save a customer’s card without an initial payment. This is helpful if you want to onboard customers now, set them up for payments, and charge them in the future—when they’re offline.
Use this integration to set up recurring payments or to create one-time payments with a final amount determined later, often after the customer receives your service."
https://stripe.com/docs/payments/save-and-reuse#php
I'm confused :( ... should I use Cashier and create a subscription for the user that does not charge a subscription? Then make one-off charges using the charge method when needed?
Any help would be very much appreciated!