• Hi codingpet,

    We have setup our product with a WooCommerce partial payment plugin which we can make the customer to first for deposit online. The checkout process and payment can be done smoothly. However, after the payment, Alipay sent back 2 notifications. The first one is what we expected which make the order status changed “Partially Paid”. Then in the same minute, it sent notification to us again and make the order status “Processing”. The 2nd notification is not what we want and WooCommerce sent a full payment email to the customer. This is a very severe problem as the customer has only paid the deposit but he will receive 2 emails for the deposit and the full payment. I have uploaded a screen capture to the link below.

    https://dev.e-hutong.com/wp-content/uploads/2015/08/Screen-Shot-2015-08-26-at-2.22.57-PM.png

    Please advice if there is anything we can do on the plugin to make sure the notification will not update the order to a wrong status.

    Thanks,
    Kwun.

    https://www.ads-software.com/plugins/alipay-for-woocommerce/

Viewing 5 replies - 1 through 5 (of 5 total)
  • Plugin Author codingpet

    (@codingpet)

    Hi Kwun,

    I don’t recall there is a status called “Partially Paid” or “已付定金”, I don’t remember writing any words like it in the plugin. is this a custom status that you added?

    Are you using the “担保交易” service? If yes As long as the order is not COMPLETED, it will be show as PROCESSING. This is what WooCommerce expected.
    If you don’t want the order processing email being sent, a simple way is to disable the “Processing Order” notification under WooCommerce > Settings > Emails tab. Hope this helps.

    Regards,
    Kevin

    Thread Starter kopanda

    (@kopanda)

    Hi Kevin,

    Thanks for your clue on the processing order email!

    I’m using another plugin to make the payment to accept deposit payment.

    https://codecanyon.net/item/woocommerce-deposits-partial-payments-plugin/9249233

    The problem is that the order is updated twice from Alipay after we have finished the deposit payment. For example, if the project cost RMB100 and the deposit is RMB1. After the deposit payment, the order is being notified and the status changed to “Partially Paid”, which is from the deposit plugin. However, in the same minute, it’s being updated again and the payment becomes “Processing”. This doesn’t happened with Paypal. I’m not sure if there is something missing when redirecting the payment to Alipay which make it sends back notifications more than once.

    From what I read from Alipay’s notify_url document:
    https://cshall.alipay.com/support/help_detail.htm?help_id=397355

    4、 完成处理该次通知,不再发送通知
    支付宝得到商户反馈回来的“success”7个字符信息,进行核对与验证,结束此次通知流程。
    注意:
    如果商户反馈给支付宝的字符不是success这7个字符,支付宝服务器会不断重发通知,直到超过24小时22分钟。在25小时内完成6~10次通知(通知频率:5s,2m,10m,15m,1h,2h,6h,15h)

    Would it be something related to our case? The first response was not “success” and it send us back the notification again after 5s?

    Cheers,
    Kwun.

    Thread Starter kopanda

    (@kopanda)

    Hi Kevin,

    The deposit plugin has registered a post status named “wc-partially-paid”. Any where that we can make this status to send a correct response to Alipay if this really taking account?

    Cheers,
    Kwun.

    Plugin Author codingpet

    (@codingpet)

    Hi Kwun,

    Your plugin can’t send response to Alipay because it is not listening to alipay’s notification at all. This will require changes to your plugin and I don’t think the author would do that. And I can’t change mine either because your plugin is a premium one.

    If you can read php code, I advice you to check the class-wc-alipay.php and find the code below, you should find two.
    $order_needs_updating = ( in_array( $order->status, array(‘processing’, ‘completed’) ) ) ? false : true;

    It is saying if the order status is already processing or completed, do nothing. You can add your custom status to the array and try if it stops my plugin from updating your order. BUT YOU WILL NEED TO COMPLETE ORDERS MANUALLY.

    For example if the status is named “wc-partially-paid”, then the code becomes
    $order_needs_updating = ( in_array( $order->status, array(‘processing’, ‘completed’, ‘wc-partially-paid’) ) ) ? false : true;

    Regards,
    Kevin

    Does anyone know why www.ads-software.com doesn’t have WooCommerce Alipay Cross-Border listed? Is this plug in having any issue working on wordpress?

Viewing 5 replies - 1 through 5 (of 5 total)
  • The topic ‘Receiving notifications from Alipay more than once.’ is closed to new replies.