Hi,
The only explanation I see it that your are calling several times the notification URL.
The "two status step" has not link with the payment plugin, nothing.
Please edit the plugin ( plugins/hikashoppayment/pxpay/pxpay.php ) and replace
$cancel_url = HIKASHOP_LIVE.'index.php?option=com_hikashop&ctrl=order&task=cancel_order&order_id='.$order_id.$this->url_itemid;
$return_url = HIKASHOP_LIVE.'index.php?option=com_hikashop&ctrl=checkout&task=after_end&order_id='.$order_id.$this->url_itemid;
By:
$cancel_url = HIKASHOP_LIVE.'index.php?option=com_hikashop&ctrl=order&task=cancel_order&order_id='.$order_id.$this->url_itemid;
$return_url = HIKASHOP_LIVE.'index.php?option=com_hikashop&ctrl=checkout&task=after_end&order_id='.$order_id.$this->url_itemid;
if($dbOrder->order_status == $this->payment_params->verified_status) {
$this->app->redirect($return_url);
return true;
}
It will not send a second time the email if the order is already confirmed.
Regards,