升级1.2.2.3版本后在apphtml5和appfront到我的订单页面出现:Unknown Property – yii\base\UnknownPropertyException
Setting unknown property: fecshop\services\Order::payment_status_complete
对照一下本地配置配置:@common/config/fecshop_local_services/Payment.php
https://github.com/fecshop/yii2_fecshop_app_advanced/blob/master/common/config/fecshop_local_services/Payment.php
@Terry #1楼 好像一样的配置也不行
@PHPJAVAGOC #2楼 报错详细发我邮箱。
@Terry #3楼 发送了
@PHPJAVAGOC #4楼 你搜索一下这个字符串 payment_status_complete
payment_status_complete
看看那个文件存在,linux搜索文件内容命令
进入fecshop根目录:
grep -Hnr --color 'payment_status_complete' ./*
看看这个在那个文件里面
你是不是在其他的地方有order的配置?
原来的配置为:
'order'=> [ 'class'=>'fecshop\services\Order', 'childService'=> [ 'item'=> [ 'class'=>'fecshop\services\order\Item', ], ], 'increment_id'=>'1100000000', 'requiredAddressAttr'=> [ 0=>'first_name', 1=>'last_name', 2=>'email', 3=>'telephone', 4=>'street1', 5=>'country', 6=>'city', 7=>'state', 8=>'zip', ], 'minuteBeforeThatReturnPendingStock'=>600, 'orderCountThatReturnPendingStock'=>30, 'payment_status_pending'=>'pending', 'payment_status_processing'=>'processing', 'payment_status_canceled'=>'canceled', 'payment_status_complete'=>'complete', 'payment_status_holded'=>'holded', 'payment_status_suspected_fraud'=>'suspected_fraud', ],
这些状态都被改动。
你在common appfront 的services config看看。
@Terry #5楼 `php ./common/config/fecshop_local_services/Order.php:32: 'payment_status_complete' => 'complete', // 已完成 ./fecshop/common/config/fecshop_local_services/Order.php:32: 'payment_status_complete' => 'complete', // 已完成 ./fecshop/fecshop/common/config/fecshop_local_services/Order.php:32: 'payment_status_complete' => 'complete', // 已完成 ./vendor/fancyecommerce/fecshop/services/payment/Paypal.php:28: public $payment_status_completed = 'completed'; ./vendor/fancyecommerce/fecshop/services/payment/Paypal.php:325: if ($payment_status == $this->payment_status_completed) { ./vendor/fancyecommerce/fecshop/services/payment/Paypal.php:776: strtolower($PAYMENTINFO_0_PAYMENTSTATUS) == $this->payment_status_completed
`
现在把字段改成这些了,把订单状态进行了调整:
// 下面是订单支付状态 // 等待付款状态 'payment_status_pending' => 'payment_pending', // 付款处理中,(支付处理中,因为信用卡有预售,因此需要等IPN消息来确认是否支付成功) 'payment_status_processing' => 'payment_processing', // 收款成功(支付状态已确认,代表已经收到钱了) 'payment_status_confirmed' => 'payment_confirmed', // 欺诈【当paypal的返回金额和网站金额不一致【以及货币类型】的情况,就会判定该状态】 'payment_status_suspected_fraud' => 'payment_suspected_fraud', // 订单支付已取消【用户进入paypal点击取消订单返回网站,或者payment_pending订单超过xx时间未支付被脚本取消,或者客服后台取消】 'payment_status_canceled' => 'payment_canceled', // 订单审核中(订单收款成功后,进入erp,需要客服审核,才能开始发货流程,或者可能存在某些问题,被客服暂时挂起) 'status_holded' => 'holded', // 订单备货处理中,从成功收款进入erp并客服审核成功后,进入备货流程 到 发货前的状态 'status_processing' => 'processing', // 订单已发货【订单包裹被物流公司收取后】 'status_dispatched' => 'dispatched', // 订单已退款【已收款订单因为某些原因进行退款,譬如:仓库无货,用户收到货后发现破损退款等】 'status_refunded' => 'refunded', // 订单已完成,【用户收到货物xx时间后,未发起纠纷争端,订单状态标记为已完成】 'status_complete' => 'completed',
不好意思,前面地址发错了,你对照这个文件:
https://github.com/fecshop/yii2_fecshop_app_advanced/blob/master/common/config/fecshop_local_services/Order.php
多熟悉熟悉fecshop,这些问题,和新文件对照下,自己就解决了
@Terry #10楼 :sweat_smile: :sweat_smile: :sweat_smile: :sweat_smile:完美解决了,刚开始学习,多谢关照