REST API one-to-many resource relationships best practice
<p>Let's say I have one-to-many relationship here: <br>
Each <strong>customer</strong> has many <strong>credit cards</strong>.</p>

<p>And the API endpoints for credit card: <br>
GET /customers/{customer_id}/cards/{card_id} <br>
GET /customers/{customer_id}/cards <br>
POST /customers/{customer_id}/cards <br>
PATCH /customers/{customer_id}/cards/{card_id} <br>
DELETE /customers/{customer_id}/cards/{card_id} <br></p>

<p>5 methods for card-related operations: <br>
1. Get a card of a customer <br>
2. Get all cards of a customer <br>
3. Create a card for a customer <br>
4. Update 'a card' details of a customer <br>
5. Delete a card of a customer <br>
 <br>
My API architecture layering uses <em>controller -> service -> repository</em>.  <br>
There are:<br>
CustomersController, CustomersService, CustomersRepository, CardsService, CardsRepository.</p>

<p>My question is, where should I put each method for card-related operations and how should the relation between the controller &amp; service &amp; repository layer be like? <br></p>

<p>Currently I think of it this way: <br>
CustomersController has a CustomersService and a CardsService. CardsService has a CustomersRepository and CardsRepository (injected via constructor as usual). All the 5 methods above reside in CardsService. The purpose of CustomersRepository in CardsService is to retrieve stripe customer id from my DB so I can perform the same operations on Stripe too. <br> <br>
Is this approach correct according to the best practice? Or should I put the 5 methods in CustomersService instead thus not using CardsService at all? <br>
 <br>
What would be the best solution for this?</p>

<p>Additional info: <br>
- I am using PHP and Laravel framework, and Stripe as the payment platform <br></p>