Уникальный идентификатор пользователя подписки PHP StripePhp

Кемеровские программисты php общаются здесь
Anonymous
Уникальный идентификатор пользователя подписки PHP Stripe

Сообщение Anonymous »

Инструмент, который я создаю, требует нескольких подписок на пользователя, подписки могут быть одной и той же службой, но с разными конфигурациями.
Я создаю отдельные элементы подписки для каждой подписки пользователя, потому что я хочу, чтобы каждый элемент имел детали конфигурации. описание при оформлении заказа.
Проблема в том, что я хочу иметь возможность идентифицировать каждую отдельную подписку, чтобы знать, какую из них редактировать/отменять в будущем.
Я пробовал использовать метаданные для элемента, атрибуты продукта и цены (из которых API принимает их только в разделе «Продукт»), а API не принимает Lookup_key нигде в позиции.
Метаданные, хотя и принимаются API, на самом деле никогда не отображаются в полосе или в веб-хуке с подтверждением платежа. (метаданные просто отображаются без позиций)

Код: Выделить всё

$lineItems;
foreach ($cartItems as $job){
SubscriptionJobs::createJobForPayment($job,$userId,$cartId,$transactionId);
$jobId = $job->item_id;

$item = [
'price_data' => [
'currency'      =>'usd',
'unit_amount'   => $unitAmount,
'product_data'  => [
'description'   => $description,
'name'          => $subName,
'metadata'    => ['job_id'=>$jobId],

],
'recurring' => [
'interval' => Carts::getPaymentFrequency($cartId),
],
],
'quantity' => '1',
];
$lineItems[] = $item;
};

$checkoutData = [
'line_items'          => [$lineItems],
'client_reference_id' => $cartId,
'subscription_data'   => ['metadata' => [
'cart_id'       => $cartId,
'user_id'       => $userId,
'transaction_id'=> $transactionId]],
'mode'                => 'subscription',
'success_url'         => $DOMAIN . '/success',
'cancel_url'          => $DOMAIN . '/cancel',
];
if($userData->stripe_id != ''){
$checkoutData['customer'] = $userData->stripe_id;
}else{
$checkoutData['customer_email'] = $userEmail;
}

$checkout_session = \Stripe\Checkout\Session::create($checkoutData);
dd($checkout_session);

return redirect($checkout_session->url);
Я пробовал использовать и метаданные, и ключ поиска везде, о чем только мог подумать, но, похоже, они никогда не переносятся на полосу в позиции.
Есть ли способ определить, какая подписка что при их создании во время оформления заказа?
Спасибо!

Подробнее здесь: https://stackoverflow.com/questions/790 ... identifier

Вернуться в «Php»