diff --git a/addons/pos_stripe/i18n/pos_stripe.pot b/addons/pos_stripe/i18n/pos_stripe.pot index e1119e16c93531aba3988efba4b390d748ec9b53..a79635af0e673f772dccda7904a97b68d2bc7ad1 100644 --- a/addons/pos_stripe/i18n/pos_stripe.pot +++ b/addons/pos_stripe/i18n/pos_stripe.pot @@ -19,7 +19,7 @@ msgstr "" #. odoo-python #: code:addons/pos_stripe/models/pos_payment_method.py:0 #, python-format -msgid "Complete the Stripe onboarding." +msgid "Complete the Stripe onboarding for company %s." msgstr "" #. module: pos_stripe @@ -106,7 +106,7 @@ msgstr "" #. odoo-python #: code:addons/pos_stripe/models/pos_payment_method.py:0 #, python-format -msgid "Stripe payment provider is missing" +msgid "Stripe payment provider for company %s is missing" msgstr "" #. module: pos_stripe diff --git a/addons/pos_stripe/models/pos_payment_method.py b/addons/pos_stripe/models/pos_payment_method.py index 1f4f939b9c2f1597ef9ceebb8ebc880591ea56fd..bd9bab2dfb2a15cc39675763f580a64b8f9a4602 100644 --- a/addons/pos_stripe/models/pos_payment_method.py +++ b/addons/pos_stripe/models/pos_payment_method.py @@ -32,10 +32,13 @@ class PosPaymentMethod(models.Model): payment_method.stripe_serial_number, existing_payment_method.display_name)) def _get_stripe_payment_provider(self): - stripe_payment_provider = self.env['payment.provider'].search([('code', '=', 'stripe')], limit=1) + stripe_payment_provider = self.env['payment.provider'].search([ + ('code', '=', 'stripe'), + ('company_id', '=', self.env.company.id) + ], limit=1) if not stripe_payment_provider: - raise UserError(_("Stripe payment provider is missing")) + raise UserError(_("Stripe payment provider for company %s is missing", self.env.company.name)) return stripe_payment_provider @@ -44,7 +47,7 @@ class PosPaymentMethod(models.Model): stripe_secret_key = self._get_stripe_payment_provider().stripe_secret_key if not stripe_secret_key: - raise ValidationError(_('Complete the Stripe onboarding.')) + raise ValidationError(_('Complete the Stripe onboarding for company %s.', self.env.company.name)) return stripe_secret_key diff --git a/addons/pos_stripe/static/src/js/payment_stripe.js b/addons/pos_stripe/static/src/js/payment_stripe.js index db7f532081e546f8c2e2564a29c88a14c9dd752e..6fef8655bcfb6d98556e8abb14a4281f8b602be6 100644 --- a/addons/pos_stripe/static/src/js/payment_stripe.js +++ b/addons/pos_stripe/static/src/js/payment_stripe.js @@ -26,6 +26,7 @@ let PaymentStripe = PaymentInterface.extend({ let data = await rpc.query({ model: 'pos.payment.method', method: 'stripe_connection_token', + kwargs: { context: this.pos.env.session.user_context }, }, { silent: true, }); @@ -34,7 +35,8 @@ let PaymentStripe = PaymentInterface.extend({ } return data.secret; } catch (error) { - this._showError(error.message.message, 'Fetch Token'); + const message = error.message.code === 200 ? error.message.data.message : error.message.message; + this._showError(message, 'Fetch Token'); this.terminal = false; }; }, @@ -194,6 +196,7 @@ let PaymentStripe = PaymentInterface.extend({ model: 'pos.payment.method', method: 'stripe_capture_payment', args: [paymentIntentId], + kwargs: { context: this.pos.env.session.user_context }, }, { silent: true, }); @@ -202,7 +205,8 @@ let PaymentStripe = PaymentInterface.extend({ } return data; } catch (error) { - this._showError(error.message.message, 'Capture Payment'); + const message = error.message.code === 200 ? error.message.data.message : error.message.message; + this._showError(message, 'Capture Payment'); return false; }; }, @@ -213,6 +217,7 @@ let PaymentStripe = PaymentInterface.extend({ model: 'pos.payment.method', method: 'stripe_payment_intent', args: [[payment_method.id], amount], + kwargs: { context: this.pos.env.session.user_context }, }, { silent: true, }); @@ -221,7 +226,8 @@ let PaymentStripe = PaymentInterface.extend({ } return data.client_secret; } catch (error) { - this._showError(error.message.message, 'Fetch Secret'); + const message = error.message.code === 200 ? error.message.data.message : error.message.message; + this._showError(message, 'Fetch Secret'); return false; }; },