2013-11-24 93 views
0

我能夠成功創建令牌,然後創建一個新客戶,將他們註冊到特定的訂閱計劃中。添加新客戶到數據庫

我無法弄清楚如何捕獲由Stripe爲他們創建的customer_id。我需要這個以便稍後進行更改(更改計劃,更新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

不是我所看到的。我正在使用[鏈接](https://github.com/jaymedavis/stripe.net) – fcholmes

+0

那麼它可能不會被稱爲'ID',但會保存客戶ID的屬性。 – ChrisF

回答

0

克里斯F有正確的想法。

StripeCustomer CurrentCustomer = customerService.Create(myCustomer); 

後,我只是需要添加類似

string custid = CurrentCustomer.id; 

然後加入客戶ID到我的數據庫。

0

您也可以做到這一點的:

StripeCustomer currentCustomer = customerService.Create(myCustomer); 
currentCustomer.StripeCardList.StripeCards.FirstOrDefault().CustomerId;