У меня проблема с тем, что Stripe засчитывает нового клиента, даже если карта отклонена. Я не придумал, как запретить Stripe подсчитывать этих пользователей на своей панели инструментов. (Технически это НОВЫЙ клиент, но у него нет активной подписки или оплаты на его карте.)
Однако мое веб-приложение отлично справляется с этим и просто просит пользователя снова ввести информацию о своей кредитной карте из-за отклонения кредитной карты.
try{
$cusresp = \Stripe\Customer::create(array(
"description" => "Customer $membertbl[email], $membertbl[name]",
"email" => $membertbl[email],
"source" => $striptoken // obtained with Stripe.js
));
}
Если в этом ответе нет исключений перехвата, я использую создать подписку и работаю нормально.
Даже если я зайду на панель инструментов и удалю этого клиента, панель Stripe Dashboard все равно будет их учитывать.
@duck Под «будет считаться новым клиентом» я имею в виду, что аналитика панели инструментов Stripe укажет этого человека в качестве нового клиента, даже если Stripe знает, что оплата была отклонена. Это может иметь довольно большое влияние на аналитику реальных клиентов по сравнению с неудачными попытками клиентов. Похоже, именно так работает Stripe, и я мало что могу с этим поделать.
Во всех этих случаях Stripe вернет customer_id, который вы можете сохранить и запросить на основе электронного письма, которое они вам дали. Таким образом, вы можете сохранить вызов создания и сделать его только в случае необходимости. Вы также можете вернуться и удалить ненужные записи клиентов через API.






Можете ли вы пояснить, что вы подразумеваете под «засчитает нового клиента» --- если вызов
\Stripe\Customer::create()завершится успешно, клиент будет существовать в вашей учетной записи и, с точки зрения Stripe, появится в конечных точках списка клиентов, даже если у клиента нет платежей или подписок и нет это никак не изменить. Если вас интересуют только клиенты, у которых есть подписки, я бы посмотрел на Dashboard.stripe.com/subscriptions (или конечную точку подписки на список в API).