2015-10-06 25 views
2

我試圖直接使用Stripe爲客戶收費。我使用此示例代碼:Stripe.Net直接收費

var stripeChargeCreateOptions = new StripeChargeCreateOptions(); 

stripeChargeCreateOptions.Amount = 1000; 
stripeChargeCreateOptions.Currency = "usd"; 

stripeChargeCreateOptions.Description = "Test"; 

stripeChargeCreateOptions.Source = new StripeSourceOptions() 
{ 

    Number = "4242424242424242", 
    ExpirationYear = "2022", 
    ExpirationMonth = "10", 
    AddressCountry = "US",    // optional 
    AddressLine1 = "24 Beef Flank St", // optional 
    AddressLine2 = "Apt 24",    // optional 
    AddressCity = "Biggie Smalls",  // optional 
    AddressState = "NC",     // optional 
    AddressZip = "27617",     // optional 
    Name = "Joe Meatballs",    // optional 
    Cvc = "1223"       // optional 
}; 

stripeChargeCreateOptions.Capture = true; 

var stripeChargeService = new StripeChargeService(); 
StripeCharge stripeCharge = stripeChargeService.Create(stripeChargeCreateOptions); 

這似乎在測試模式下工作。這裏是我的3個問題:

  1. 1000這裏的金額是10美元 - 對嗎?

  2. 這也可以使用活鍵嗎?我聽說Stripe不允許直接收費,並要求我們給他們的Javascript和存儲令牌讓我們實際收費?它如何在測試模式下工作?

  3. stripeChargeCreateOptions.Capture = true;的重要性如果將其設置爲false會發生什麼?

+0

這使得3個問題... :) –

+0

@Thomas:更新。謝謝! :) –

回答

0
  1. 是的,這是正確的。所有金額均以美分/分。

  2. 我不太瞭解Stripe以幫助你解決這個問題。

  3. 這告訴Stripe使用什麼過程來執行交易 - 這是之前使用Capture屬性設置爲'false'創建的費用的後半部分。因此,您稍後需要調用API並將其設置爲true以實際完成收費。查看API獲取更多信息:https://stripe.com/docs/api?lang=php#capture_charge