| Method | URI | Action | 
|---|---|---|
| GET | /payments | index | 
| GET | /payments/{id} | show | 
| POST | /payments | store | 
| PATCH | /payments/{id} | update | 
| DELETE | /payments/{id} | delete | 
{
  "id": 1,
  "date": "2020-04-21",
  "receipt_number": "123456",
  "amount": 500000,           // Este valor se guarda en centimos. 500000 => 500.00
  "ref": null,                // Referencia a que se debe el pago. Ejm -> `inscription_payment`
  "related_type": null,       // Modelo relaciondo el pago. Ejm -> App\Inscription
  "related_id": null,         // Id del modelo relacionado al pago
  "type": 1,                  // Ver tipos de pago
  "status": 1,                // ver estados del pago
  "student_id": 1,            // ID de estudiate al que le pertenece el pago
  "period_id": 1,             // ID de periodo del pago
  "updated_at": "2020-04-19 18:18:48",
  "created_at": "2020-04-19 18:18:48"
}| Tipo | Valor Manejado | 
|---|---|
| Efectivo | 1 | 
| 100% Banco | 2 | 
| Transferencia Bancaria | 3 | 
| Transferencia de Curso | 4 | 
| Zelle | 5 | 
{primary} Un pago aprovado o rechazado se considera
atendido
| Status | Valor Manejado | 
|---|---|
| Pendiente por revisar | 1 | 
| Aprovado | 2 | 
| Rechazado | 3 | 
BelongsTo studentBelongsTo period{primary} Al obtener un modelo con el metodo
showse puede utilizar un query string para cargar las relaciones?with=relationo?with=relationA,relationB
{info} Si el usuario autenticado es un estudiante se obtendran solos los pagos realizados por el
GET /paymentsadminestudianteextends Query Filters| Filter | Description | 
|---|---|
| search=string | Busca a traves de numero de comprobante receipt_number | 
| type=int | Filtra a traves de tipo de pago. | 
| status=int | Filtra a traves del estado del pago. | 
| date=Y-m-d | Filtra por la fecha. Soporta operadores de busqueda >,<,>=,<=(se debe colocar al inicio del value) | 
| amount=int | Filtra por monto. Soporta operadores de busqueda >,<,>=,<=(se debe colocar al inicio del value) | 
| period=id | Obtiene los pagos realizados en un periodo especifico | 
POST /paymentsadminestudiante{
  "date": "required|date",
  "amount": "required|numeric",
  "type": "required|integer",
  "period_id": "required|integer|exists",
  // Solo admin
  "student_id": "required|integer|exists"
}PATCH /payment/{id}admin{
  "status": "integer|in:1,2,3" // Estados de un pago
}{info} Un pago que ya haya sido atendido (aprobado o rechazado) no podrá ser eliminado
DELETE /payment/{id}adminestudiante asociado al pago