%= render partial: 'form_errors', locals: { what: @order } %>
<%= link_to 'Set vendor payout', admin_edit_order_payout_path(@order.vendor_payout), class: "btn btn-primary form-button" %>
<% end %> <%# Similarly for buyer payouts %> <% if @order.buyer_payout.try(:paid) == false && @order.buyer_payout.btc_address%><%= link_to 'Set buyer payout', admin_edit_order_payout_path(@order.buyer_payout), class: "btn btn-primary form-button" %>
<% end %><% if @order.buyer_payout.try(:paid) || !@order.allow_admin_to_set_paid? %> <%= link_to 'Set order paid', '#set_paid', class: "btn btn-primary form-button disabled" %> <% else %> <%= link_to 'Set order paid', '#set_paid', class: "btn btn-primary form-button" %> <% end %>
<% if @order.payment_received > 0 %><%= link_to 'Admin finalize', '#admin_finalize', class: "btn btn-primary form-button #{@order.allow_admin_finalize? || 'disabled'}" %>
<% end %> <% if @order.locked %> <%= form_for([:admin, @order], method: 'post', url: { action: 'unlock' }) do |f| %>An order becomes locked when balance paid reduces. Check blockchain to verify that payment received is correct. If payment received is wrong then manually update the field to correct amount using console after unlocking order.
<%end%>This will set the order status to PAID, regardless of how much payment has been received. This is useful for a few situations. Usually it will be when an order payment is received after expiry and the vendor chooses to fulfil the expired order rather than asking the customer to order again.
Vendor stock quantites will not be automatically reduced. The vendor will need to manually adjust their product stock quantity after status changed to paid.
When set to paid by admin, any refund data set by the buyer is deleted on market server. However, if the buyer has set a refund address on this order, then you need to ensure the refund does not get processed if setting this to paid. Check whether the buyer order payout has a refund address set. If it does, check if payment server has imported and paid it. If payment server hasn't paid it, delete the imported payout record before setting this paid.
<%= form_for([:admin, @order], method: 'post', url: admin_set_paid_order_path(@order)) do |f| %>Set buyer refund percentage, the remainder will be paid to vendor, less commission.
<%= form_for([:admin, @order], method: 'post', url: admin_finalize_order_path(@order), html: { class: 'form-inline' }) do |f| %>