Я новичок в Stripe. Реализую систему оплаты карточками с использованием Stripe в .NET.
Мой код такой:
var options = new SessionCreateOptions
{
PaymentMethodTypes = new List<string> { "card", },
LineItems = new List<SessionLineItemOptions> {
new SessionLineItemOptions {
PriceData = new SessionLineItemPriceDataOptions {
UnitAmount = productPrice, // in cents
Currency = currency,
ProductData = new SessionLineItemPriceDataProductDataOptions {
Name = productName
},
},
Quantity = 1,
},
},
Mode = "payment",
PaymentIntentData = new SessionPaymentIntentDataOptions
{
ReceiptEmail = customerEmail,
Description = productName
},
SuccessUrl = domain + "/Home/PaymentSuccess?session_id={CHECKOUT_SESSION_ID}",
CancelUrl = domain + "/Home/PaymentCancel",
Customer = customerId // From database
};
var service = new SessionService();
Session session = service.Create(options);
jsonToReturn = Json(new { id = session.Id });
Как вы можете видеть выше, я передаю CustomerId, который я сохранил в БД.
Проблема в том, что при каждом платеже клиент вводит одну и ту же карту 4242 4242 4242 4242
с одинаковым сроком действия 12/20
и CVV 123
, но Stripe создает несколько карт для одного и того же клиента на панели управления.
Кроме того, могу ли я передать идентификатор способа оплаты (идентификатор карты, сохраненный в Stripe для прошлой проверки), чтобы клиенту не нужно было вводить данные карты и он мог напрямую выбрать карту, которая использовалась для оплаты в прошлом?