Nurdin
Nurdin

Reputation: 23883

Laravel & Stripe - Unrecognized request URL (GET: /v1/customers/)

I got this error message when trying to add a new subscription using Laravel Cashier.

Unrecognized request URL (GET: /v1/customers/). If you are trying to list objects, remove the trailing slash. If you are trying to retrieve an object, make sure you passed a valid (non-empty) identifier in your code. Please see https://stripe.com/docs or we can help at https://support.stripe.com/.

Token response

{"id":"tok_1GsaDFLKmUMWfYhkwUv2t8Gh","object":"token","card":{"id":"card_1GsaDFLKmUMWfYhkwCiyh7ir","object":"card","address_city":null,"address_country":null,"address_line1":null,"address_line1_check":null,"address_line2":null,"address_state":null,"address_zip":"44444","address_zip_check":"unchecked","brand":"Visa","country":"US","cvc_check":"unchecked","dynamic_last4":null,"exp_month":4,"exp_year":2044,"funding":"credit","last4":"4242","metadata":{},"name":null,"tokenization_method":null},"client_ip":"128.101.156.106","created":1591819673,"livemode":false,"type":"card","used":false}

Code

$request->user()
->newSubscription($plan->name, $plan->stripe_plan)
->create($request->stripeToken); //error here

Upvotes: 5

Views: 4609

Answers (2)

Sel
Sel

Reputation: 352

This happens when the stripe_id column in your users table is not NULL. Check that the field is not an empty string (i.e. it must be NULL).

Upvotes: 12

Alex Harris
Alex Harris

Reputation: 6392

This is because you need to create a customer in stripe before you can create a new subscription for them. Try adding the following before your current code:

$user = $request->user();
$user->createOrGetStripeCustomer();

$user->newSubscription($plan->name, $plan->stripe_plan)
       ->create($request->stripeToken);

Upvotes: 0

Related Questions