Problem damit, den Stripe-Webhook in der Stripe-CLI zum Laufen zu bringenC#

Ein Treffpunkt für C#-Programmierer
Guest
 Problem damit, den Stripe-Webhook in der Stripe-CLI zum Laufen zu bringen

Post by Guest »

Ich verwende Stripe Checkout in einer ASP.NET Web Forms-App, um Leuten die Bezahlung von Abonnements zu ermöglichen, und dieser Teil des Codes funktioniert einwandfrei. Ich habe einen Webhook mit dem folgenden Code erstellt:

Code: Select all

using Stripe;
using Stripe.Checkout;
using System.IO;
using System.Web;
using System;

namespace BNet {
public class spdata : IHttpHandler {

public void ProcessRequest ( HttpContext ctx ) {
try {
var epSecret = "whsec_u...";
var json = new StreamReader(ctx.Request.InputStream).ReadToEnd();
FileOps.WriteFile ("~/files/output.txt", "testing", out _, out _ );
var sig = ctx.Request.Headers["Stripe-Signature"];
try {
var se = EventUtility.ConstructEvent(
json,
sig,
epSecret
);
if ( se.Type == "checkout.session.completed" ) {
var session = se.Data.Object as Session;
ProcessSubscription ( session );
}
}
catch ( StripeException e ) {
FileOps.WriteFile ( "~/files/StripeLog.txt", e.Message, out _, out _ );
}
catch ( Exception ex ) {
FileOps.WriteFile ( "~/files/ErrorLog.txt", ex.Message, out _, out _ );
}
ctx.Response.Write ( "ok" );
ctx.Response.Flush ( );
}
catch (Exception exp) {
ctx.Response.Write ( exp.Message );
}
}

void ProcessSubscription (Session session) {
FileOps.WriteFile ( "StripeLog.txt", session.ToString ( ), out _, out _ );
}

public bool IsReusable {
get {
return false;
}
}
}
}
Also habe ich in Stripe einen Endpunkt erstellt, um diesen Webhook zu verwenden, und wenn ich die App ausführe, gibt das Dashboard einen Serverstatus von 200 OK zurück, aber keinen Code im Webhook wird ausgelöst.
Dann habe ich Stripe CLI eingerichtet, um den Webhook lokal zu testen. Ich verwende den folgenden Befehl, um CLI zu starten:

Code: Select all

stripe listen --forward-to http://localhost:44357/spdata
CLI gibt mir einen geheimen Schlüssel, den ich in den Webhook kopiert habe. Wenn ich die Web-App starte, läuft alles einwandfrei. Aber im CLI-Fenster erhalte ich Folgendes für jedes Ereignis, das Stripe an mich zurücksendet:

Code: Select all

2021-06-08 15:38:23   --> checkout.session.completed [evt_1J0CctBQEZK85JIBn76jElzT]
2021-06-08 15:38:23            [ERROR] Failed to POST: Post "http://localhost:44357/spdata": read tcp [::1]:54739->[::1]:44357: wsarecv: An existing connection was forcibly closed by the remote host.
Ich weiß nicht, was die Fehlerquelle ist. Ich habe die Windows-Firewall heruntergefahren und es läuft nichts anderes, was stören könnte. Gibt es da draußen Hilfe?

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post