2014-12-15 2 views
2

В Rails я пытаюсь реализовать действие контроллера, которое позволит клиенту изменить план, на который они подписаны. За документации Stripe, это может быть сделано следующим образом:Получить идентификатор подписки клиента из Stripe

customer = Stripe::Customer.retrieve("CUSTOMER_ID") 
subscription = customer.subscriptions.retrieve("SUBSCRIPTION_ID") 
subscription.plan = "premium_monthly" 
subscription.save 

У меня есть ID каждого клиента сохраняется в таблице пользователей в моей базе данных, но я застрял на том, как получить подписку на клиент ID, учитывая их идентификатор клиента , У каждого клиента в этом проекте будет только одна подписка, как я могу потянуть это, учитывая их идентификатор клиента?

ответ

7

relevant part of the Stripe API reference предполагает, что после извлечения клиента у вас будет доступ к атрибуту подписки, содержащему URL-адрес, по которому вы можете получить доступ к списку подписки.

Однако on creating a subscription, Stripe вернет вам подписку с идентификатором подписки. Я бы предложил сохранить это в вашей базе данных как атрибут модели клиента (если у них будет только одна подписка) или, и метод, который я использую, - это иметь модель подписки в моей базе данных, в которой хранятся некоторые из часто просматриваемых данных и избегает чрезмерного использования интерфейса Stripe API.

+0

Спасибо, я взглянул на API и нашел URL, который вы упомянули. Я все еще очень новичок в работе с Stripe (и API в целом), и я не уверен, как использовать этот URL для получения идентификатора подписки, сохраненного в переменной. – Arw50452

+0

Они работают так же, как объекты Ruby. Имейте в виду, что атрибут 'subscriptions' возвращает массив, но вызов' customer.subscriptions.first.id' будет извлекать идентификатор первой подписки (и только по вашему вопросу). –

Смежные вопросы