summaryrefslogtreecommitdiff
path: root/addons/pos_restaurant_adyen/static/src
diff options
context:
space:
mode:
authorstephanchrst <stephanchrst@gmail.com>2022-05-10 21:51:50 +0700
committerstephanchrst <stephanchrst@gmail.com>2022-05-10 21:51:50 +0700
commit3751379f1e9a4c215fb6eb898b4ccc67659b9ace (patch)
treea44932296ef4a9b71d5f010906253d8c53727726 /addons/pos_restaurant_adyen/static/src
parent0a15094050bfde69a06d6eff798e9a8ddf2b8c21 (diff)
initial commit 2
Diffstat (limited to 'addons/pos_restaurant_adyen/static/src')
-rw-r--r--addons/pos_restaurant_adyen/static/src/js/models.js5
-rw-r--r--addons/pos_restaurant_adyen/static/src/js/payment_adyen.js44
2 files changed, 49 insertions, 0 deletions
diff --git a/addons/pos_restaurant_adyen/static/src/js/models.js b/addons/pos_restaurant_adyen/static/src/js/models.js
new file mode 100644
index 00000000..0c6e9fb7
--- /dev/null
+++ b/addons/pos_restaurant_adyen/static/src/js/models.js
@@ -0,0 +1,5 @@
+odoo.define('pos_restaurant_adyen.models', function (require) {
+ var models = require('point_of_sale.models');
+
+ models.load_fields('pos.payment.method', ['adyen_merchant_account']);
+});
diff --git a/addons/pos_restaurant_adyen/static/src/js/payment_adyen.js b/addons/pos_restaurant_adyen/static/src/js/payment_adyen.js
new file mode 100644
index 00000000..6bdb845c
--- /dev/null
+++ b/addons/pos_restaurant_adyen/static/src/js/payment_adyen.js
@@ -0,0 +1,44 @@
+odoo.define('pos_restaurant_adyen.payment', function (require) {
+ "use strict";
+
+ var PaymentAdyen = require('pos_adyen.payment');
+ var models = require('point_of_sale.models');
+
+ PaymentAdyen.include({
+ _adyen_pay_data: function () {
+ var data = this._super();
+
+ if (data.SaleToPOIRequest.PaymentRequest.SaleData.SaleToAcquirerData) {
+ data.SaleToPOIRequest.PaymentRequest.SaleData.SaleToAcquirerData += "&authorisationType=PreAuth";
+ } else {
+ data.SaleToPOIRequest.PaymentRequest.SaleData.SaleToAcquirerData = "authorisationType=PreAuth";
+ }
+
+ return data;
+ },
+
+ send_payment_adjust: function (cid) {
+ var order = this.pos.get_order();
+ var line = order.get_paymentline(cid);
+ var data = {
+ originalReference: line.transaction_id,
+ modificationAmount: {
+ value: parseInt(line.amount * Math.pow(10, this.pos.currency.decimals)),
+ currency: this.pos.currency.name,
+ },
+ merchantAccount: this.payment_method.adyen_merchant_account,
+ additionalData: {
+ industryUsage: 'DelayedCharge',
+ },
+ };
+
+ return this._call_adyen(data, 'adjust');
+ },
+
+ canBeAdjusted: function (cid) {
+ var order = this.pos.get_order();
+ var line = order.get_paymentline(cid);
+ return ['mc', 'visa', 'amex', 'discover'].includes(line.card_type);
+ }
+ });
+});