2013-10-08 4 views
6

Ich sehe diesen bestimmten Fehler nicht in Stripes API überall beschrieben. Wer weiß was los ist?Warum gibt Stripe.com Fehler zurück (402) Zahlung erforderlich?

Hier ist mein VB.net Code, um einen Kunden zu erstellen:

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 

Die 402 "Zahlung erforderlich" Fehler auf der Strecke passiert:

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

Antwort

5

Nun, ich wechselte zu meinem " LIVE "Tasten statt meiner" TEST "Tasten, und das hat es behoben. Habe gerade 3 Stunden meines Lebens damit verbracht, das zu beheben. Hoffe das hilft jemand anderem.

+1

Es ist bedauerlich, dass sie die Antworten in verschiedenen Umgebungen unterschiedlich formatieren ... Ist es nicht der Punkt, ohne Unterschiede testen zu können? Oh well – Jerad

5

Die korrektere Antwort ist, dass Sie die entsprechenden Testkartennummern verwenden müssen. Siehe https://stripe.com/docs/testing

+0

Nach noch mehr Tests wird diese Antwort eine Fehlermeldung (wie ungültige Kartennummer) haben, die Sie dann anzeigen können. –

+1

Das Umschalten auf die Verwendung einer Testkarte hat diesen Fehler für mich behoben. Sie können nicht mit echten Kartennummern testen. – user3344977

8

Wenn Sie diese live sehen, es ist auch möglich, die Kartennummer ist einfach falsch, zB: wenn Sie den Körper der 402 Antwort inspizieren:

enter image description here

1

Stripe bietet eine Testumgebung, in der Sie die testbaren/geheimen Schlüssel verwenden, um nicht auf die Produktion zu warten. Wie auch immer, es scheint, dass die Down-Side, die in der Tat sehr hilfreich ist, ist, dass Sie die Testbedingungen von Stripe einhalten müssen und ihre gegebenen Kartennummern und Eingänge verwenden müssen, um verschiedene Aspekte Ihres API-Anrufs zu testen.

Zum Beispiel, um bestimmte Fehler erhalten Sie eingeben können diese Zahlen:

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. 

Weitere Informationen finden Sie auf den Link, Samir geschrieben.