I used stripe paymentIntent to create and charge customers, and then used webhooks to activate a membership on my website staging server ... everything worked perfectly, I received events that the payment intent is succeeded and the payment method is attached to a customer, but I don't know how to retrieve the customer to charge him next month automatically from the saved card. This is the paymentIntent where the user pays for the first time and the card gets charged and attached.
public function checkitout (Request $request, $subscription_id)
{
\Stripe\Stripe::setApiKey('sk_test_51HcC9a-XXXXXX');
header('Content-Type: application/json');
try {
$subscription = Subscription::findByUid($subscription_id);
// retrieve JSON from POST body
$json_str = file_get_contents('php://input');
$json_obj = json_decode($json_str);
$customer = \Stripe\Customer::create();
$paymentIntent = \Stripe\PaymentIntent::create([
'amount' => $subscription->plan->stripePrice(),
'currency' => 'usd',
'customer' => $customer->id,
'setup_future_usage' => 'off_session',
'description' => "$subscription_id",
]);
$output = [
'clientSecret' => $paymentIntent->client_secret,
];
echo json_encode($output);
} catch (Error $e) {
http_response_code(500);
echo json_encode(['error' => $e->getMessage()]);
}
}
can someone please give me some information on how to do it? Thank you
via Chebli Mohamed
Aucun commentaire:
Enregistrer un commentaire