Php 如何保存stripe PaymentIntent客户ID以备将来使用?
我正在尝试保存和检索stripe客户id以备将来使用,我使用payment intent,到目前为止一切正常,我可以向客户收费并附上卡,但我不知道如何在payment intent功能之外检索客户id。 这是我第一次向用户收费并附上卡的支付意图代码:Php 如何保存stripe PaymentIntent客户ID以备将来使用?,php,laravel,stripe-payments,Php,Laravel,Stripe Payments,我正在尝试保存和检索stripe客户id以备将来使用,我使用payment intent,到目前为止一切正常,我可以向客户收费并附上卡,但我不知道如何在payment intent功能之外检索客户id。 这是我第一次向用户收费并附上卡的支付意图代码: public function checkitout (Request $request, $subscription_id) { \Stripe\Stripe::setApiKey('sk_test_XXXXXXXX
public function checkitout (Request $request, $subscription_id)
{
\Stripe\Stripe::setApiKey('sk_test_XXXXXXXXXXXXXX');
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()]);
}
}
我使用webhooks来激活成员身份(我在description中存储了订阅id…但在这种情况下这并不重要):
正如您看到的,客户是在payment intent中创建的,我不知道如何将其存储在数据库中并在以后检索,或者是否有其他方法可以这样做?
多谢各位
case 'charge.succeeded':
$paymentIntent = $event->data->object;
$getsubscriptionid = $paymentIntent->description;
$subscription = Subscription::findByUid($getsubscriptionid);
$subscription->start();
break;