Payment operations Published June 29, 2026 8 min read

Payments for online courses and schools in Armenia: access, CRM and refunds

Education payment should connect invoice, student, group, content access and refund instead of only changing order status to paid.

Payments for online courses and schools in Armenia: access, CRM and refunds

Key topics

Payments for online courses and schools in Armenia: access, CRM and refundsPayment operationspayment reconciliationpending payments3-D Secure ArmeniavPOS test launchpayment refunds

Related public pages

If you need the product, API or operations page rather than only the article, start with these VPOS.am sections.

Payment should open access by rule, not manually

After verified payment, system should know which student, course, group and period were paid.

Student invoice -> course access
Invoice, student, course, group and period create a payment request, then verified payment opens access.

In online schools, payment often starts from manager: issue invoice, send link, mark student and open access. If these actions are not connected through backend, manual paid statuses, unpaid access and date disputes appear.

A safer model creates payment request from CRM or LMS: student, course, group, period, amount, currency and link expiration are fixed before payment. After verified status, backend opens access or creates operator task when manual review is needed.

  • do not open access by payment screenshot;
  • connect payment id with student id and course id;
  • store education period and start date;
  • log manual access opening separately.

Installments and partial payment need a schedule

Several payments for one course cannot be modeled as one paid/failed status.

Installment schedule -> payment attempts
Course price is split into scheduled attempts, reminders, partial payments and CRM tasks.

Courses often use prepayment, installments, monthly payments or module-based payment. This should not become one order status. Schedule is needed: expected amount, due date, paid amount, grace period, reminders and access rules.

If provider does not support auto-charge, do not promise automatic subscription. Practical start is payment links, reminders and controlled access: access renews after verified payment or manual override with audit trail.

  • separate full price, paid amount and remaining amount;
  • do not create several active links for one period;
  • store grace period and next due date;
  • sync access only after verified payment.

Refund and group transfer should be visible to support

Group change, learning pause and partial refund break reconciliation when there is no single timeline.

Course refund and transfer timeline
Support sees payment, access, transfer, pause, refund and CRM notes in one timeline.

Education services often change after payment: student transfers group, pauses learning, buys another course or requests partial refund. If payment layer does not know these events, accounting sees only amount and support reconstructs context manually.

Useful model stores payment status, access status, group transfer, refund request, provider refund reference and CRM notes. Team can see what was paid, which access was granted and what needs to be refunded or moved.

  • refund should not delete access history;
  • group transfer needs reason and actor;
  • partial refund is a separate event;
  • reconcile CRM, LMS and provider report before month close.

FAQ

Can course access open immediately after return URL?

It is safer to open access after webhook or server-side status lookup. Return URL can be opened without final payment event.

How to accept installment payments for course?

Store payment schedule and create separate payment attempts. Auto-charge is possible only if provider and contract support it.

What if student moves to another group?

Connect transfer with original payment/access record, store reason, actor and date. Payment history should not disappear when group changes.