2015-08-09 4 views
7

Ich versuche eine Anmeldegebühr mit der Stripe-API zu sammeln. Ich bin mir sicher, dass mir etwas in der Anfrage fehlt.Stripe-API-Fehler bei der Übergabe von application_fee

Streifen Beschwerden, die es eines der folgenden benötigt: OAuth-Schlüssel, der Stripe-Account-Header oder der Zielparameter.

Ich bin in der Stripe-Account Kopfzeile übergeben.

Können Sie mir bitte in die richtige Richtung zeigen?

Hier ist meine curl Anfrage:

curl https://api.stripe.com/v1/charges \ 
    -u sk_test_<key>: \ 
    -H "Stripe-Account: acct_<key>" \ 
    -d amount=2000 -d currency=usd -d capture=true \ 
    -d card=tok_<key> -d description="curl" -d application_fee=48 

Hier ist die Antwort, die ich erhalten:

{ 
    "error": { 
    "type": "invalid_request_error", 
    "message": "Can only apply an application_fee when the request is made on behalf of another account (using an OAuth key, the Stripe-Account header, or the destination parameter).", 
    "param": "application_fee" 
    } 
} 
+2

Übergeben Sie hier Ihre eigene Konto-ID als Plattform? Wenn ja, kannst du stattdessen versuchen, einen neuen Account mit der Plattform zu verbinden? – koopajah

+0

@koopajah: Ich muss einen Prozentsatz von jeder Transaktion auf der E-Commerce-Website gemacht, während der Rest auf das Konto des Kunden gehen soll. Der "Stripe-Account" in der Kopfzeile hat den Wert des Kundenkontos. – Moon

+2

In 99% der Fälle tritt dieser Fehler auf, wenn Sie versuchen, Ihre eigene Plattform zu belasten und die Account-ID 'acct_XXX' der Plattform im Header 'Stripe-Account' zu übergeben. – koopajah

Antwort

0

Zu meiner Erfahrung dieses Problem auf die Ausführungen oben hinzufügen - wenn Sie eine Anmeldegebühr enthalten in In der Anfrage erwartet Stripe, dass Sie einen Kunden im Namen eines verbundenen Kontos belasten. Die Anmeldegebühr ist der Betrag, der auf Ihr Plattformkonto gehen soll, als Gebühr für die von Ihnen angebotene Dienstleistung.

Stripe wirft diesen Fehler, wenn es glaubt, dass das Konto, das bezahlt wird, das Plattformkonto ist, und es daher keinen Sinn macht, eine separate Anmeldegebühr für dasselbe Konto zu verarbeiten. Dies kann beispielsweise passieren, indem Sie Ihre Plattformkontonummer anstelle einer verbundenen Kontonummer in der Anforderung oder einen Zielparameter, der auf null gesetzt ist, übergeben.

Die Lösung besteht darin, das Konto, auf dem Sie die Zahlung vornehmen, nicht auf Ihr Plattformkonto zu überprüfen oder die Anmeldegebühr nicht zu berücksichtigen, wenn die Gebühr auf Ihre Plattform geht. Ich würde einen Link zu dem relevanten Teil der Dokumentation hinzufügen, aber mir ist nicht bewusst, dass dies irgendwo behandelt wird.

Verwandte Themen