Ngay bây giờ, tôi có một phương thức thanh toán có tên là "Chuyển khoản Bancária" và tôi cần phương thức này tự động chuyển sang trạng thái quy trình làm việc "Đang chờ chuyển khoản" khi phương thức thanh toán đó được chọn.
Có thể làm theo chương trình?
Tôi bị mắc kẹt tại:
$order = $event->getEntity(); if(($order->getPaymentGateway()) == ('transferencia')) { $order->set('state', 'aguardando_transferencia'); }
trên /modules/workflowtkn/src/EventSubscriber/WorkflowTknProcessSubscriber.php của tôi
Lỗi: Gọi đến phương thức không xác định Drupal\commerce_order\Entity\Order::getPaymentGateway()
CHỈNH SỬA: Tôi gặp khó khăn khi gọi hàm "getPaymentGateway()" vì nằm trong một mô-đun khác, ai đó có thể trợ giúp không :) Nó phải tương ứng với đơn đặt hàng.
tôi đã thử $gateway = \Drupal::service('plugin.manager.commerce_payment_method_type');
nhưng nó nói không thể chuyển đổi thành chuỗi ...
Cái này:
$thanh toán = $order->get('payment_gateway')->first()->entity
Đưa cho tôi:
Cảnh báo: htmlspecialchars() dự kiến tham số 1 là chuỗi, đối tượng được cung cấp trong Drupal\Component\Utility\Html::escape() .
tôi đã xem Làm cách nào để nhận thông tin về phương thức thanh toán từ đối tượng đặt hàng theo chương trình?
nhưng không thể tìm ra nó.
Tôi đoán tôi không thể chuyển đổi thành chuỗi?
CHỈNH SỬA: Khi tôi sử dụng json_encode: json_encode($order->get('payment_gateway')->first()->entity)
nó chỉ trả về "{}"