Reputation: 23883
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
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
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