为什么Stripe.com返回错误(402)需要付款?

时间:2013-10-08 04:52:01

标签: vb.net api stripe-payments

我没有看到条纹API中描述的这个特定错误。有谁知道发生了什么事?

这是我创建客户的VB.net代码:

Function CreateStripeCustomer(ByVal Token As String) As String
    ''  The Stripe Account API Token - change this for testing 
    Dim STR_Stripe_API_Token As String = "sk_test_SECRET_TEST_KEY" '<-- test secret key. Change to live later.
    ''The Stripe API URL
    Dim STR_Stripe_API_URL As String = "https://api.stripe.com/v1/customers"
    ''Creates a Web Client
    Dim OBJ_Webclient As New System.Net.WebClient()
    ''Creates Credentials
    Dim OBJ_Credentials As New System.Net.NetworkCredential(STR_Stripe_API_Token, "MY_STRIPE.COM_PASSWORD")
    ''Sets the Credentials on the Web Client
    OBJ_Webclient.Credentials = OBJ_Credentials
    ''Creates a Transaction with Data that Will be Sent to Stripe
    Dim OBJ_Transaction As New System.Collections.Specialized.NameValueCollection()
    OBJ_Transaction.Add("email", "PERFECTLY_VALID_EMAIL")
    OBJ_Transaction.Add("card", "PERFECTLY VALID TOKEN RETURNED BY STRIPE.JS")
    ''The Stripe Response String
    Dim STR_Response As String = Encoding.ASCII.GetString(OBJ_Webclient.UploadValues(STR_Stripe_API_URL, OBJ_Transaction))
    Return STR_Response
End Function

402“需要付款”错误发生在该行:

Dim STR_Response As String = Encoding.ASCII.GetString(OBJ_Webclient.UploadValues(STR_Stripe_API_URL, OBJ_Transaction))

5 个答案:

答案 0 :(得分:8)

如果您在现场看到这一点,也可能卡号不正确,例如:如果您检查402响应的正文:

enter image description here

答案 1 :(得分:6)

好吧,我切换到我的“LIVE”键而不是我的“TEST”键,并修复了它。我浪费了3个小时试图解决这个问题。希望这有助于其他人。

答案 2 :(得分:5)

更正确的答案是您需要使用适当的测试卡号。见https://stripe.com/docs/testing

答案 3 :(得分:1)

Stripe提供了一个测试环境,您可以在其中使用测试可发布/密钥,而不是等到生产。然而,看起来像是失败的,实际上非常有用的是你需要遵守Stripe的测试条件并使用他们给出的卡号和输入来测试你的api调用的不同方面。

例如,为了接收某些错误,您可以输入以下数字:

card_declined: Use this special card number - 4000000000000002.
incorrect_number: Use a number that fails the Luhn check, e.g. 4242424242424241.
invalid_expiry_month: Use an invalid month e.g. 13.
invalid_expiry_year: Use a year in the past e.g. 1970.
invalid_cvc: Use a two digit number e.g. 99.

有关更多信息,请参阅Samir发布的链接。

答案 4 :(得分:1)

  

对于iOS

如果您遵循tutorial from Ray Wunderlich website,则可能会出现错误的原因是您运行了测试后端(web.rb文件),然后添加了TEST_SECRET_KEY。

在终端上单击 control + C ,确保您已添加TEST_SECRET_KEY,保存文件并执行 ruby​​ web.rb

目前,一切应该正常。

作为参考,我使用此卡号进行测试: 4242 4242 4242 4242