2013-11-24 2 views
0

Я могу успешно создать токен, а затем создать нового клиента, зарегистрировав его в определенном плане подписки.Добавить нового пользователя в базу данных

Я не могу понять, как захватить customer_id, созданный для них Stripe. Мне нужно это для внесения изменений позже (план изменений, обновление CC и т. Д.). Код у меня есть для создания клиента ниже (я использую читателю получить FName, LName и т.д., и исключено, что здесь для краткости):

private StripeCustomer CreateCustomer() 
{ 
    NameValueCollection nvc = Request.Form; 
    string tokenID = nvc["stripeToken"]; 

    if (tokenID != null) 
    { 
     var tokenService = new StripeTokenService(); 
     StripeToken stripeToken = tokenService.Get(tokenID); 
    } 

    var myCustomer = new StripeCustomerCreateOptions(); 
    myCustomer.Email = email; 
    myCustomer.Description = fname + " " + lname + " (" + email + ")"; 
    myCustomer.TokenId = tokenID; 

    string plan = "basic"; 

    myCustomer.PlanId = plan; 

    var customerService = new StripeCustomerService(); 

    StripeCustomer CurrentCustomer = customerService.Create(myCustomer); 
} 

Может быть, я имею в виду это неправильно (должно быть), но я искал токен, чтобы предоставить CustomerID изначально. Вот что, что обеспечивает:

id: tok_102znI2MdvjLMWitzgclEEcg 
livemode: false 
created: 1385241151 
used: false 
object: "token" 
type: "card" 
card: 
    id: card_102znI2MdvjLMWitq44B0MY7 
    object: "card" 
    last4: "4242" 
    type: "Visa" 
    exp_month: 12 
    exp_year: 2021 
    fingerprint: "V2WUOPIgMkP5DGGe" 
    customer: null 
    country: "US" 
    name: null 
    address_line1: null 
    address_line2: null 
    address_city: null 
    address_state: null 
    address_zip: null 
    address_country: null 

Маркер передается обратно ко мне, прежде чем будет создан клиент, так что, очевидно, не работает.

+2

содержит ли класс '' StripeCustomer' в id' поле? – ChrisF

+0

Не то, что я вижу. Я использую [link] (https://github.com/jaymedavis/stripe.net) – fcholmes

+0

Ну, это не может быть названо 'id', но будет свойство, которое содержит идентификатор клиента. – ChrisF

ответ

0

Крис F имел правильную идею.

После

StripeCustomer CurrentCustomer = customerService.Create(myCustomer); 

Я просто нужно добавить что-то вроде

string custid = CurrentCustomer.id; 

Затем добавьте CUSTID в свою базу данных.

0

Вы можете сделать это также:

StripeCustomer currentCustomer = customerService.Create(myCustomer); 
currentCustomer.StripeCardList.StripeCards.FirstOrDefault().CustomerId; 
Смежные вопросы