Update: August 18th, 2022 - Stripe Connect Integration
MarketKing 1.2.0 introduced an automatic integration with Stripe. Through this integration, vendors get paid automatically, and refunds are also handled automatically.
When a refund is approved by the vendor for a Stripe order, it is automatically sent to Stripe - the admin is not involved in any way and does not need to approve, review, or process the refund.
To read more about the Stripe integration, click below:
Refunds Requests
MarketKing has a complex built-in refund requests module, with several features:
- It allows customers to request full or partial refunds on their orders from their My Account panels.
- It directs refund requests to the vendors, and vendors can then approve or deny refunds.
- Approved refunds are sent to the admin backend, where the admin or shop manager can process the refunds and return payments.
- Built-in conversations tool allows customers and vendors to send messages and work out conflicts.
Customers' Ability to Request Refunds
Customers can request refunds from their My Account panel, by going to Orders and clicking on an order. Here they will find a request refund button.
Once clicked, this buttons opens up a form with additional details. Here the customer can enter a reason for their request, and whether they want a full, or partial refund.
Refunds Panel in My Account
After a refund request has been made in the order panel, the customer can then see it in the dedicated "Refunds" panel. Here the customer can view all refund requests they've made, and their status.
After clicking on a refund request here, customers will be able to view additional details, as well as view the open conversation. Users can then add additional messages / respond to messages from the vendor. This allows the customer and vendor to have a conversation and discuss the issues with the order.
Refund Notifications
When a refund request is sent, the vendor is notified by email, through the "New Refund Request" email template. Here they can see a link to the refund request, the stated reason, as well as the user who submitted it.
Vendors can choose whether they want to receive these emails or not, in their vendor dashboard -> settings -> email settings.
Refund Options in the Vendor Dashboard
In the vendor dashboard, vendors can find a dedicated "refunds" panel where they can view and manage all refund requests.
By clicking on "View", an additional panel opens, where vendors can see the entire refund conversation, send messages, as well as approve or reject the refund request.
If the vendor approves or denies the refund, that will change the request's status and the vendor and customer can no longer send new messages. The refund request is considered "finalized".
Refunds in the Admin Backend
Once a vendor has approved a refund, it is sent to the admin backed, where the admin or shop manager need to process the refund, and mark it as completed.
Here they would have to click on the order, and refund the order in the order panel. They would also have to return the order value, either automatically or manually, depending on the Payment Gateway used.
Once the refund has been processed, the admin can click on "Mark as Completed". The "mark as" buttons only serve to help the admin keep track of which refunds still need action, but they do not do anything else.
In the Status column, the admin can see that the refund has already been approved by the vendor. In case the vendor of the order is the admin / shop itself, then this column will only show "pending", and the admin can analyse the refund request here in this panel.
Vendor Commission Handling
Vendor commission is handled automatically by the plugin. Whether you send a full refund, or a partial refund, the plugin will adjust the vendor commission accordingly. In case of a full refund, the entire vendor commission is removed from the vendor's balance.
In case of a partial refund, the calculation is proportional to the order value and commission value. For example, if the order value is $100 and vendor commission is $25, and then a $50 refund is issued, the vendor commission will proportionally be reduced (by 50%), and will be $12.5. This will be visible in the vendor balance history log.
Vendor Commission for Cash on Delivery (COD) Orders
In the case of COD orders, MarketKing has 3 available settings for handling commission. More info in the Commissions article.
- None
With this setting, COD orders are treated like all other orders. Usually this means the admin is handling deliveries and collecting the cash. Therefore commission is handled the same way during refunds (when a refund is granted, the plugin automatically reduces vendor balance = the amount the admin owes the vendor).
- Ignored
With this setting, COD orders are ignored in terms of commission. Refunds also have no effect on vendor commission
- Reversed
With this setting, it is considered that the vendor receives the cash from the customer, and therefore the vendor has to pay the admin their share. For commissions, this means that the vendor balance is reduced when such an order is marked as completed (the admin takes their share directly from the vendor balance).
When granting a refund for such an order, behaviour is similarly reversed (when a refund is granted, the plugin will automatically increase vendor balance). That is because the admin commission, that was previously taken from the vendor balance has to decrease. This is done by increasing the vendor balance.
All of this only applies for completed orders for which commissions have already been granted.
Note:
In case of refunds for COD orders where the vendor has received the money from the customer, the vendor approves the refund, and the vendor processes it as well. The refund is still sent to the admin side backend, and the admin has to mark it as refunded, or grant a partial refund.
This is because this admin decreases admin commission, so the admin has to approve it as well. By marking it as refunded, the admin accepts that the vendor has indeed refunded the money, and agrees their admin commission also needs to be reduced.