我正在尝试保存和检索条带客户 ID 以备将来收费,我使用付款意图,到目前为止一切正常,我可以向客户收费并附上卡,但我不知道如何检索客户支付意图功能之外的 id。 这是我第一次向用户收费并附上卡的付款意向代码:
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 来激活会员资格(并且我将订阅 ID 存储在描述中...但在这种情况下这无关紧要):
case 'charge.succeeded':
$paymentIntent = $event->data->object;
$getsubscriptionid = $paymentIntent->description;
$subscription = Subscription::findByUid($getsubscriptionid);
$subscription->start();
break;
如您所见,客户是在付款意图中创建的,我不知道如何将其存储在数据库中并稍后检索,或者是否有其他方法可以做到这一点? 谢谢