{# templates/admin_tools/payment_audit.html #} {% load static %} Payment Audit

Payment Audit

Filter PaymentTransaction, optionally fetch live Razorpay status for this page, and spot refund/verification candidates.

{% comment %}
Hold Ctrl/Cmd to select multiple
{% endcomment %}
Hold Ctrl/Cmd to select multiple
Results (page {{ page_obj.number }} of {{ page_obj.paginator.num_pages }}) Latest → Old
{% for row in rows %} {% with tx=row.tx rzp=row.rzp %} {% endwith %} {% empty %} {% endfor %}
Created Order Amount Status RZP Link RechargeTxn RZP Order RZP Payment Action
{{ tx.created_at }}
VP: {{ tx.order_id }}
RZP Ord: {% if row.has_rzp_oid %} {{ tx.razorpay_order_id }} {% else %} {% endif %}
RZP Pay: {% if row.has_rzp_pid %} {{ tx.razorpay_payment_id }} {% else %} {% endif %}
Note: {% if row.has_rzp_oid %} {{ tx.order_id }} | {{ tx.razorpay_order_id }} | {{ rzp.latest_payment.id|default:"-" }} {% else %} {% endif %}
₹ {{ tx.amount }}
GW: {{ tx.gateway_amount }} / WL: {{ tx.wallet_amount }}
{% if row.is_verified %} verified {% elif row.is_initiated %} initiated {% else %} {{ tx.status }} {% endif %} {% if row.has_rzp_oid and row.has_rzp_pid %} linked {% elif row.has_rzp_oid %} order only {% elif row.has_rzp_pid %} payment only {% else %} none {% endif %} {% if row.has_rt %} present {% else %} missing {% endif %} {% if rzp and rzp.ok and rzp.order %} {% with o=rzp.order %}
status: {{ o.status }}
amount: {{ o.amount }} paise
paid: {{ o.amount_paid }} paise
currency: {{ o.currency }}
{% endwith %} {% elif rzp and rzp.error %} {{ rzp.error }} {% else %} {% if row.has_rzp_oid %}{% if filters.load_rzp %}not available{% else %}off{% endif %}{% else %}—{% endif %} {% endif %}
{% if rzp and rzp.ok and rzp.latest_payment %} {% with p=rzp.latest_payment %}
id: {{ p.id }}
status: {% if p.status == "captured" %} captured {% elif p.status == "authorized" %} authorized {% else %} {{ p.status }} {% endif %}
amount: {{ p.amount }} paise
currency: {{ p.currency }}
method: {{ p.method }}
email/contact: {{ p.email }}{% if p.email and p.contact %} / {% endif %}{{ p.contact }}
created_at: {{ p.created_at }}
{% endwith %} {% elif rzp and rzp.ok and not rzp.latest_payment %} no payments {% elif rzp and rzp.error %} {{ rzp.error }} {% else %} {% if row.has_rzp_oid %}{% if filters.load_rzp %}not available{% else %}off{% endif %}{% else %}—{% endif %} {% endif %}
{% if row.action %} {{ row.action }} {% if row.action_hint %}
{{ row.action_hint }}
{% endif %} {% else %} {% endif %}
No records
{% if page_obj.paginator.num_pages > 1 %} {% endif %}
Tips: