订单确认邮件未发送问题

技术问题 · roronoaly · 于 6年前 发布 · 4321 次阅读

问题场景: 用户下单成功后,页面提示: 但用户绑定的邮箱账号没有收到订单确认邮件 支付方式: check_money(其余方式未进行尝试,PayPal需要跨境账号交易)

问题: 1.订单确认邮件是否有前置条件? 如:订单状态为:payment_pending 时不发送 payment_confirmed 时发送? 2.如果用户在paypal提出申诉,要求退款等,paypal会给网站发送一个消息, 网站这边不会同步订单状态为“取消”,而是让erp那边做处理 -》 这个问题是否能主动感知?

共收到 6 条回复
Fecmall#16年前 0 个赞

邮件:http://www.fecshop.com/doc/fecshop-guide/instructions/cn-1.0/guide-fecshop_email.html

没有收到邮件,可能原因:

1.如果您没有配置smtp,那么使用的是我的默认的qq邮箱的smtp,这个可能会发送失败的,您可以用qq邮箱注册试试,看看能不能接收到

2.如果您把smtp换成了自己的smtp信息,那么,看看是不是您的smtp配置有问题

3.您用paypal,支付宝下单试试。

沙盒账户测试paypal支付:zqy234api1-facilitator-1@126.com 11111111

支付宝沙盒账户:买家账号 wgvchs5996@sandbox.com 登录密码 111111 支付密码 111111

4.看看注册账户是否能接收到邮件

5.官网的demo是可以发送和接收邮件的

6.论坛内搜一下,是否有相关资料

Fecmall#26年前 0 个赞

Fecshop•#9•41秒前 0 个赞

1.注册账户没有问题,说明邮件smtp配置没有问题。

2.付款方式为check_money,我忘记了是否会发送邮件,这种支付方式很少用到,相当于在线上下了个单,你不需要线上支付,你见面给我钱就行了,也就是现金支付。

3.paypal和支付宝下单是会发送邮件的,您试试支付宝和paypal下单是否会发送邮件

目前的邮件发送,是在订单生成成功后才会发送邮件

4.物流跟踪,是erp的事情了,是另外的专业系统干的事情,而不是商城,您可以使用一些类似通途之类的saas的erp系统,通过console后台脚本传递给erp系统,在erp中处理订单,如果erp需要回传数据给fecshop,你可以使用appapi端口开发api(appai是和第三方交互的api入口)

Fecmall#36年前 0 个赞

邮件的发送,是在各个支付,接收到支付成功的消息后发送邮件的 ,譬如paypal支付,接收到客户的钱后,paypal发送IPN给fecshop

https://github.com/fecshop/yii2_fecshop/blob/master/services/payment/Paypal.php

364行代码:

Yii::$service->email->order->sendCreateEmail($orderInfo);
Fecmall#46年前 0 个赞

您的网站上线了吗?发下域名看看

winintel#52年前 0 个赞

同遇到,注册用户后可以收到邮件,同时确认stripe下单成功,但 收不到下单成功的email

Fecmall#62年前 0 个赞

@yyyy [#5楼](#comment5)

fecro 测试了一下,是存在这个问题

打开@fecshop/services/Order.php

将函数orderPaymentCompleteEvent,使用下面的代码覆盖即可

public function orderPaymentCompleteEvent($order_increment_id)
    {
         \Yii::info('orderPaymentCompleteEvent######', 'fecshop_debug');
        if (!$order_increment_id) {
            Yii::$service->helper->errors->add('order increment id is empty');
            return false;
        }
        $orderInfo = Yii::$service->order->getOrderInfoByIncrementId($order_increment_id);
        if (!$orderInfo['increment_id']) {
            Yii::$service->helper->errors->add('get order by increment_id: {increment_id} fail, order is not exist ', ['increment_id' => $order_increment_id]);
            return false;
        }
        // 支付成功后清空购物车
        if ($this->clearCartAfterorderPaySuccess) {
            Yii::$service->cart->clearCartProductAndCoupon();
        }
        // 追踪信息
        Yii::$service->order->sendTracePaymentSuccessOrder($orderInfo);
        // 发送订单支付成功邮件
        \Yii::info('order_increment_id:'. $order_increment_id, 'fecshop_debug');
        
        $phoneNumber = $orderInfo['customer_telephone'];
        \Yii::info('phoneNumber: '.$phoneNumber, 'fecshop_debug');
        // 发送短信
        //Yii::$service->sms->sendOrderPaymentInfo($phoneNumber, $order_increment_id);
        Yii::$service->email->order->sendCreateEmail($orderInfo);
    }

近期fecro发新版

添加回复 (需要登录)
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册
Your Site Analytics