VB Web サイトからストライプ支払いを機能させようとしています。「C# を使うべきだ」ということはわかっています。サイトが既に VB にあるため、できません。それについて私ができることは何もありません。
とにかく、私はそれのほとんどを理解しました:
- ユーザーが有効な情報を含む送信ボタンをクリックする
- フォームが Stripe に送信されます
- Stripe はトークンを送り返します
- jQuery ajax 関数は、データを投稿して寄付/ストライプごとに支払う
Global.asax.vb にこのコード行があります
routes.MapRoute("pay-by-stripe", "donate/pay-by-stripe", New With{.controller = "Dynamic", .action = "PayByStripe"})
したがって、動的コントローラーの PayByStripe 関数は次のようになります。
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
STR_Response 行で 400 bad request エラーが発生します。
Dim STR_Response As String = Encoding.ASCII.GetString(OBJ_Webclient.UploadValues(STR_Stripe_API_URL, OBJ_Transaction))
私は VB と Stripe 初心者ですが、これが何を意味するのかわかりません。現在の私の主な理論は、/donate/pay-by-stripe/ ページを持っていないためであるということですが、作成したとしてもそこに何を入れるかさえわかりません。
どんな助けでも素晴らしいでしょう!