Я уверен, что я упускаю что-то очевидное здесь, но я не могу понять, как проверить существующую карту для клиента.
Я использую API-интерфейс Stripe Connect в приложении Laravel для управления платежами от имени других, и основной процесс заключается в следующем:
token
создается через stripe.js
и представлены с формой оплатыstripe_id
в противном случае новый клиент создается с использованием токена в качестве источника / картыcharge
затем создается с использованием восстановленного или нового клиента stripe_id
В настоящее время, если клиент возвращается и использует другую карту, поскольку плата включает только клиента, а не источник, он будет списываться с карты по умолчанию, независимо от того.
Что я хотел бы сделать, это:
token
customer
против локальной базы данных и т. д.card
отпечаток пальца на карточках клиентаcard
на записи клиентаcustomer
а также card
идентификаторыПроще говоря: Я не вижу, где в процессе постоянного card_id
генерируется; как те, что используются в stripe.js
отклик и, когда он создается на приборной панели полосы, кажутся уникальными, то есть каждый заряд создает совершенно новый объект карты в полосе.
Я знаю, что могу получить список карточек, хранящихся в учетной записи клиента, но где я могу получить начальные card_id
от искать против?
Я видел вопрос, который касается этого здесь — Могу ли я проверить, существует ли полоса карты, прежде чем создавать новую? — но я не знаю Руби, так что не могу понять, что это.
РЕДАКТИРОВАТЬ:
Более простая версия — есть ли способ получить fingerprint
как описано в документе полоса здесь — https://stripe.com/docs/api/php#card_object — без необходимости сначала создать объект карты?
Так что идея здесь заключается в том, чтобы использовать fingerprint
на Карта объект или знак объект, а не сам идентификатор, так как они будут другими, если вы добавите одну и ту же карту несколько раз.
Когда вы получаете новый токен карты, вы можете получить его через Получить токен API и искать fingerprint
в card
хэш.
В вашей базе данных будет храниться список известных отпечатков пальцев, связанных с конкретным клиентом и / или картой, чтобы можно было обнаружить дубликаты карт.
НОТА: убедитесь, что вы используете секретные ключи для получения этой информации. в противном случае, если вы используете публикуемый ключ, вы можете не получить значение отпечатка пальца.
Других решений пока нет …