Payout Details #<%= @payout.id %>

<%= link_to "← Back to Payouts", admin_payouts_path, class: "text-indigo-600 hover:text-indigo-900" %>

Payout Information

<% case @payout.status %> <% when 'pending' %> Pending Review <% when 'approved' %> Approved - Ready for Transfer <% when 'processing' %> Processing <% when 'completed' %> Completed <% when 'failed' %> Failed <% when 'rejected' %> Rejected <% end %>

<%= @payout.event.name %>

<%= @payout.event.date.strftime("%B %d, %Y") if @payout.event.date %>

<%= @payout.user.name.presence || @payout.user.email %>

<%= @payout.user.email %>

€<%= @payout.amount_euros %>

€<%= @payout.fee_euros %>

€<%= @payout.net_amount_euros %>

<%= @payout.total_orders_count %>

<%= @payout.refunded_orders_count %>

<%= @payout.created_at.strftime("%B %d, %Y at %I:%M %p") %>

<% if @payout.processed_at %>

<%= @payout.processed_at.strftime("%B %d, %Y at %I:%M %p") %>

<% if @payout.processed_by %>

by <%= @payout.processed_by.name.presence || @payout.processed_by.email %>

<% end %>
<% end %> <% if @payout.bank_transfer_reference.present? %>

<%= @payout.bank_transfer_reference %>

<% end %> <% if @payout.rejection_reason.present? %>

<%= @payout.rejection_reason %>

<% end %>

Banking Information

<% if @banking_errors.any? %>

Banking Information Issues:

    <% @banking_errors.each do |error| %>
  • • <%= error %>
  • <% end %>
<% end %> <% if @transfer_summary %>

<%= @transfer_summary[:account_holder] %>

<%= @transfer_summary[:bank_name] %>

<%= @transfer_summary[:iban] %>

Transfer Instructions

Amount: €<%= @transfer_summary[:amount_euros] %>

Reference: Payout #<%= @transfer_summary[:payout_id] %> - <%= @transfer_summary[:event_name] %>

<% else %>

Banking information not available for display.

<% end %>

Actions

<% if @payout.can_approve? %> <%= button_to "✅ Approve Payout", approve_admin_payout_path(@payout), method: :post, class: "bg-green-600 hover:bg-green-700 text-white px-4 py-2 rounded-md font-medium", data: { confirm: "Approve this payout for manual bank transfer?" } %> <% end %> <% if @payout.can_reject? %> <%= form_with url: reject_admin_payout_path(@payout), method: :post, local: true, class: "flex gap-2" do |form| %> <%= form.text_field :rejection_reason, placeholder: "Rejection reason...", required: true, class: "border border-gray-300 rounded-md px-3 py-2" %> <%= form.submit "❌ Reject", class: "bg-red-600 hover:bg-red-700 text-white px-4 py-2 rounded-md font-medium", data: { confirm: "Reject this payout?" } %> <% end %> <% end %> <% if @payout.can_process? %> <%= form_with url: mark_processing_admin_payout_path(@payout), method: :post, local: true, class: "flex gap-2" do |form| %> <%= form.text_field :bank_transfer_reference, placeholder: "Transfer reference (optional)", class: "border border-gray-300 rounded-md px-3 py-2" %> <%= form.submit "🔄 Mark as Processing", class: "bg-blue-600 hover:bg-blue-700 text-white px-4 py-2 rounded-md font-medium", data: { confirm: "Mark as processing (bank transfer initiated)?" } %> <% end %> <% end %> <% if @payout.processing? %> <%= form_with url: mark_completed_admin_payout_path(@payout), method: :post, local: true, class: "flex gap-2" do |form| %> <%= form.text_field :bank_transfer_reference, placeholder: "Final transfer reference", value: @payout.bank_transfer_reference, class: "border border-gray-300 rounded-md px-3 py-2" %> <%= form.submit "✅ Mark as Completed", class: "bg-green-600 hover:bg-green-700 text-white px-4 py-2 rounded-md font-medium", data: { confirm: "Confirm transfer completion?" } %> <% end %> <%= form_with url: mark_failed_admin_payout_path(@payout), method: :post, local: true, class: "flex gap-2" do |form| %> <%= form.text_field :failure_reason, placeholder: "Failure reason...", required: true, class: "border border-gray-300 rounded-md px-3 py-2" %> <%= form.submit "❌ Mark as Failed", class: "bg-red-600 hover:bg-red-700 text-white px-4 py-2 rounded-md font-medium", data: { confirm: "Mark transfer as failed?" } %> <% end %> <% end %>