Bonjour,
Lorsque nous faisons un paiement sur le portail avec la plateforme Stripe, le retour ne se fait plus correctement dans Dokos depuis plusieurs semaines. Le statut de la commande reste « à facturer » et nous avons un message d’erreur dans la demande d’intégration de type « succeeded » :
Traceback (most recent call last):
File « apps/payments/payments/payment_gateways/doctype/stripe_settings/webhook_events/stripe.py », line 39, in handle_webhook
response = reference_document.run_method(« on_payment_authorized », status=self.STATUS_MAP[action], reference_no=self.payment_intent)
File « apps/frappe/frappe/model/document.py », line 1010, in run_method
out = Document.hook(fn)(self, *args, **kwargs)
File « apps/frappe/frappe/model/document.py », line 1384, in composer
return composed(self, method, *args, **kwargs)
File « apps/frappe/frappe/model/document.py », line 1366, in runner
add_to_return_value(self, fn(self, *args, **kwargs))
File « apps/frappe/frappe/model/document.py », line 1007, in fn
return method_object(*args, **kwargs)
File « apps/erpnext/erpnext/accounts/doctype/payment_request/payment_request.py », line 566, in on_payment_authorized
self.run_method(« set_as_paid », reference_no)
File « apps/frappe/frappe/model/document.py », line 1010, in run_method
out = Document.hook(fn)(self, *args, **kwargs)
File « apps/frappe/frappe/model/document.py », line 1384, in composer
return composed(self, method, *args, **kwargs)
File « apps/frappe/frappe/model/document.py », line 1366, in runner
add_to_return_value(self, fn(self, *args, **kwargs))
File « apps/frappe/frappe/model/document.py », line 1007, in fn
return method_object(*args, **kwargs)
File « apps/frappe/frappe/utils/typing_validations.py », line 30, in wrapper
return func(*args, **kwargs)
File « apps/erpnext/erpnext/accounts/doctype/payment_request/payment_request.py », line 334, in set_as_paid
payment_entry = self.create_payment_entry(reference_no=reference_no)
File « apps/erpnext/erpnext/accounts/doctype/payment_request/payment_request.py », line 360, in create_payment_entry
ref_doc = frappe.get_doc(self.reference_doctype, self.reference_name)
File « apps/frappe/frappe/init.py », line 1322, in get_doc
doc = frappe.model.document.get_doc(*args, **kwargs)
File « apps/frappe/frappe/model/document.py », line 81, in get_doc
controller = get_controller(doctype)
File « apps/frappe/frappe/model/base_document.py », line 71, in get_controller
site_controllers[doctype] = import_controller(doctype)
File « apps/frappe/frappe/model/base_document.py », line 93, in import_controller
module = frappe.get_module(module_path)
File « apps/frappe/frappe/init.py », line 1465, in get_module
return importlib.import_module(modulename)
File « /usr/lib/python3.10/importlib/init.py », line 126, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File « », line 1050, in _gcd_import
File « », line 1027, in _find_and_load
File « », line 1006, in _find_and_load_unlocked
File « », line 688, in _load_unlocked
File « », line 883, in exec_module
File « », line 241, in _call_with_frames_removed
File « apps/webshop/webshop/controllers/sales_order.py », line 4, in
from erpnext.selling.doctype.sales_order.sales_order import SalesOrder
File « apps/erpnext/erpnext/selling/doctype/sales_order/sales_order.py », line 11, in
from frappe.automation.doctype.auto_repeat.auto_repeat import AutoRepeatScheduler
File « apps/frappe/frappe/automation/doctype/auto_repeat/auto_repeat.py », line 10, in
from frappe.core.doctype.communication.email import make
File « apps/frappe/frappe/core/doctype/communication/email.py », line 9, in
import frappe.email.smtp
File « apps/frappe/frappe/email/smtp.py », line 4, in
import smtplib
File « /usr/lib/python3.10/smtplib.py », line 49, in
import email.generator
File « /usr/lib/python3.10/email/generator.py », line 17, in
from email.errors import HeaderWriteError
ImportError: cannot import name ‹ HeaderWriteError › from ‹ email.errors › (/usr/lib/python3.10/email/errors.py)
Si je clique sur « Réessayer de traiter le webhook », cela fonctionne bien et ma commande est facturée:
Pourriez-vous m’aider à comprendre ce qui ne fonctionne plus ?
Je vous remercie.
Yann B.