Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/RigbySawGame/ieeEdu_Wen/llms.txt

Use this file to discover all available pages before exploring further.

IEE Edu uses a manual payment verification workflow. Students upload a proof of payment (comprobante) through the student portal, and administrators review and approve or reject each submission. Approval triggers automatic access provisioning — enrolling the student in a course, granting a book download, or activating a subscription. The panel also allows admins to manually record payments on behalf of students and to revert approvals when corrections are needed.

Payment List

GET /admin/payments
Returns a paginated list of all payments, each loaded with its associated user (id, name, email), course (id, title), and book (id, title). A stats object is included in the response with counts for each status and aggregate book revenue. Supported query filters:
ParameterValuesDescription
statuspendiente | en_revision | aprobado | rechazadoFilter by payment status
typecourse | membership | booksFilter by payment category
searchstringMatch against user name, email, course title, or book title
dateYYYY-MM-DDFilter payments created on a specific date
per_page10 | 20 | 50Results per page (default 20)

Payment Detail

GET /admin/payments/{payment}
Loads the full payment record with its related user, course, book, and bookOrder. The admin view renders the uploaded comprobante image (if any) and exposes all booking-order shipping status labels for fulfillment workflows.

Create Payment

Admins can manually register a payment on behalf of a student — useful for bank transfers, cash payments, or corrections.
POST /admin/payments
FieldTypeNotes
user_idintegerRequired; the student receiving the payment
product_typecourse | bookDetermines whether course_id or book_id is applied
course_idintegerRequired when product_type = course
book_idintegerRequired when product_type = book
amountnumericPayment amount in PEN
statusstringIf set to aprobado, the payment is immediately approved and access is provisioned
comprobantefileOptional proof-of-payment image (multipart upload)
If status = aprobado is passed in the create request, PaymentService::approve() is called automatically after the record is created, so you do not need to call the approve endpoint separately.

Approve a Payment

PATCH /admin/payments/{payment}/approve
Calling this endpoint triggers PaymentService::approve(), which:
  • For course payments: creates an Enrollment record for the student and grants permanent course access.
  • For book payments: records a BookOrder and grants the student download access.
  • For subscription payments: activates the student’s subscription plan.
The response message indicates whether a course or book was unlocked.

Reject a Payment

PATCH /admin/payments/{payment}/reject
Sets the payment status to rechazado and notifies the student so they can resubmit a corrected comprobante.

Revert an Approval

PATCH /admin/payments/{payment}/revert
Returns the payment to en_revision status, undoing the approval state.
Reverting an approval does not automatically remove the student’s course or book access. The enrollment and any access grants that were created at approval time remain active. If access must also be revoked, navigate to the student’s record in User Management and manually remove the enrollment or deactivate the account.

Payment Statuses

StatusMeaning
pendienteStudent submitted a comprobante; awaiting admin review
en_revisionAdmin has opened the payment for review (or a previously approved payment was reverted)
aprobadoPayment verified; access provisioned
rechazadoPayment rejected; student notified

Payment Types

The payment type is inferred from which foreign key is populated on the record:
TypeIdentifierAccess granted
Course purchasecourse_id is setPermanent course enrollment
Book purchasebook_id is setBook download access
Subscriptionsubscription_type is set, course_id and book_id are nullPremium plan activation

Build docs developers (and LLMs) love