2016-07-13 12 views
0

Ich mache eine Post-Anforderung ein Abonnement für einen Benutzer hinzuzufügen, aber ich bekomme diese Fehlermeldung Result: Request failed with response code 400https://stripe.com/docs/api/curl#create_subscriptionWarum erhalte ich einen Fehler von 400?

Parse.Cloud.define("Subscription", function(request, response){ 
Parse.Cloud.httpRequest({ 
method:"POST", 
url: "https://" + 'sk_test_***' + ':@' + 'api.stripe.com/v1' + "/subscriptions/" + 'plan=' + request.params.customerId + 'customer=' + request.params.plan, 
success: function(httpResponse){ 
    response.success(httpResponse.data); 
}, 
error: function(httpResponse){ 
    response.error('Request failed with response code ' + httpResponse.status); 
    } 
    }); 
}); 
+0

Da dies eine POST-Anfrage ist, ist es etwas seltsam, dass Sie Parameter in der URL angeben. Was ist das Ergebnis, wenn Sie die Methode in GET ändern? –

+0

Es sollte eine Post-Anfrage sein und das Problem damit ist, dass Sie Parameter in der URL angeben, die nicht korrekt ist. –

+0

@HassanAbbas es ist eine Post-Anfrage und ich nahm an, dass die URL falsch ist. Es wäre toll, wenn Sie sich den Link ansehen könnten, mit dem ich die Frage aktualisiert habe, und mir helfen, den richtigen Link zu finden. – manatee

Antwort

-1

Sie so etwas wie dies zu überprüfen nur tun können, um. Außerdem Ihre URL falsch ist

Parse.Cloud.define("Subscription", function(request, response) { 
 
    Parse.Cloud.httpRequest({ 
 
    method: "GET", 
 
    url: "https://api.stripe.com/v1/subscriptions -u sk_test_"+ 'User_id'+ '-d plan=' + request.params.customerId+ '-d customer='request.params.plan", 
 
    success: function(httpResponse) { 
 
     response.success(httpResponse.data); 
 
    }, 
 
    error: function(httpResponse) { 
 
     response.error('Request failed with response code ' + httpResponse.status); 
 
    } 
 
    }); 
 
});

Ihre URL Ersetzen in das richtige Format. Ich hoffe, es hilft.

+0

Das ist völlig falsch. Er benötigt eine POST-Anfrage, um das zu tun, was er tut, und Ihre 'URL' ist eine Kombination aus einer tatsächlichen URL und einigen CURL-Befehlszeilenoptionen. – floatingLomas

+0

Diese Antwort war nur um zu überprüfen, ob er die Antwort erhält oder nicht. Es ist, weil ich sicherstellen wollte, dass die Anfrage gemacht wird und eine Antwort empfangen wird. –

0

Zuerst würde ich vorschlagen, dass Sie zu Ihrem Stripe dashboard gehen und die Protokolle überprüfen, um zu sehen, was der tatsächliche Fehler war - das könnte helfen, dies für Sie aufzuräumen.

Ich bin nicht sehr vertraut mit Parse Wolke, aber nur Wandern rund um den Code, den ich sehe, dass auf der request module basiert so auf, wie die Bibliothek behandelt POSTing forms, ich denke, es wahrscheinlich sollte wie folgt aussehen:

Parse.Cloud.define("Subscription", function(request, response) { 
    Parse.Cloud.httpRequest({ 
     method: "POST", 
     url: "https://" + 'sk_test_***' + ':@' + 'api.stripe.com/v1/subscriptions/', 
     form: { 
      plan: request.params.customerId, 
      customer: request.params.plan 
     }, 
     success: function(httpResponse) { 
      response.success(httpResponse.data); 
     }, 
     error: function(httpResponse) { 
      response.error('Request failed with response code ' + httpResponse.status); 
     } 
    }); 
});