{% extends 'base.html' %} {% load humanize %} {% block title %}SasaPay Dashboard{% endblock %} {% block content %}
📡 SasaPay Callback URLs (register these with SasaPay)
C2B IPN (incoming payments)
STK Push callback
B2C Disbursement callback
IPN Payments Today
{{ stats.ipn_today }}
Total: {{ stats.ipn_total }}
STK Push Today
{{ stats.stk_today }}
Successful: {{ stats.stk_success }}
Disbursements Today
{{ stats.disb_today }}
KES {{ stats.disb_amount|floatformat:2|intcomma }} disbursed
Unknown Payments
{{ stats.unknown_pending }}
Pending review
📲 Initiate STK Push (Request Payment)
{% csrf_token %}
Or select from active loans:
💸 Disburse Loan (B2C)
{% csrf_token %}
Or select from approved loans:
📱 Send Test SMS (Africa's Talking) ⚠️ KES 0.80 per SMS
Real charges apply. Each SMS costs KES 0.80 from your Africa's Talking balance. Only use your own number for testing — do not send to all admin numbers.
{% csrf_token %}
📥 Recent IPN Payments
{% for ipn in recent_ipn %} {% empty %} {% endfor %}
Time TransID Amount BillRef
{{ ipn.created_at|date:"d/m H:i" }} {{ ipn.raw_data.TransID|default:"-" }} {{ ipn.raw_data.TransAmount|default:"-" }} {{ ipn.raw_data.BillRefNumber|default:"-" }}
No IPN logs yet
📲 Recent STK Push Results
{% for stk in recent_stk %} {% empty %} {% endfor %}
TimeCheckoutIDAmountStatus
{{ stk.created_at|date:"d/m H:i" }} {{ stk.checkout_request_id|truncatechars:15 }} {{ stk.trans_amount|floatformat:2 }} {% if stk.is_success %} {% else %} ✗ {{ stk.result_code }} {% endif %}
No STK results yet
💸 Recent Disbursements
{% for disb in recent_disb %} {% empty %} {% endfor %}
TimeLoan RefAmountStatus
{{ disb.created_at|date:"d/m H:i" }} {{ disb.loan_reference }} {{ disb.trans_amount|floatformat:2 }} {% if disb.is_success %} ✓ Sent {% else %} ✗ {{ disb.result_code }} {% endif %}
No disbursements yet
{% endblock %}