J'essaie de faire un travail de paiement par bande à partir d'un site Web VB. Je sais, je sais, "je devrais utiliser C#". Je ne peux pas parce que le site est déjà en VB. Rien que je puisse faire à ce sujet.Stripe Paiement avec VB - 400 Bad Request
Quoi qu'il en soit, j'ai la plus grande partie compris:
- utilisateur clique sur le bouton Soumettre avec des informations valides
- formulaire soumet à bande
- Stripe envoie un jeton retour
- A des postes de la fonction ajax jQuery les données à donner/pay-by-stripe
J'ai cette ligne de code dans mon Global.asax.vb
routes.MapRoute ("pay-par-bande", "faire un don/paiement par bande", Nouveau Avec {.Commande = "dynamique", .action = "PayByStripe"})
Donc, mon PayByStripe fonction dans le contrôleur dynamique ressemble à ceci:
Function PayByStripe() ''The Stripe Account API Token Dim STR_Stripe_API_Token As String = "sk_test_*****" ''The Stripe API URL Dim STR_Stripe_API_URL As [String] = "https://api.stripe.com/v1/charges" ''The Stripe Card Token Dim token As String = HttpContext.Request.Form("token") Dim description As String = HttpContext.Request.Form("description") Dim amount As Single = HttpContext.Request.Form("amount") ''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, "") ''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() Dim OBJ_Transaction As NameValueCollection = New NameValueCollection() OBJ_Transaction.Add("amount", amount) OBJ_Transaction.Add("currency", "usd") OBJ_Transaction.Add("address-country", "US") OBJ_Transaction.Add("description", "") OBJ_Transaction.Add("card", token) ''The Stripe Response String Dim STR_Response As String = Encoding.ASCII.GetString(OBJ_Webclient.UploadValues(STR_Stripe_API_URL, OBJ_Transaction)) 'Response.Redirect("/donate/?transaction=success"); Return STR_Response End Function
Je reçois 400 mauvaise erreur de demande sur la ligne de STR_Response:
Dim STR_Response As String = Encoding.ASCII.GetString(OBJ_Webclient.UploadValues(STR_Stripe_API_URL, OBJ_Transaction))
Je suis un noob VB et Stripe, et Je ne suis pas sûr de ce que cela signifie. Ma théorie principale maintenant est que c'est parce que je n'ai pas de/donate/pay-by-stripe/page, mais je ne sais pas ce que je mettrais même si je l'ai créé.
Toute aide serait géniale!
Cette ligne était à l'origine de l'erreur: OBJ_Transaction.Add ("adresse-pays", "US") –