I have created one third party Payment gateway.
It is working fine except, It is sending two order confirmation email. One email I have added in my custom module success controller to send email after validate Transaction Id. But one default email is also triggered by magento after place order.
Below is My Payment module payment.js
file:
define(
[
'jquery',
'ko',
'mage/url',
'Magento_Checkout/js/view/payment/default',
'Magento_Checkout/js/model/quote',
'Magento_Customer/js/model/customer'
],
function ($, ko, url, Component, quote, customer) {
'use strict';
return Component.extend({
defaults: {
template: 'Stack_Custompay/payment/custompay-form'
},
redirectAfterPlaceOrder: false,
/** Returns payment method instructions */
getInstructions: function() {
return window.checkoutConfig.payment.instructions[this.item.method];
},
afterPlaceOrder: function () {
$.ajax({
type: 'POST',
url: url.build('custompay/payment/order'),
success: function (response) {
if (response.success) {
var order_id = response.order_id;
var amount = response.amount;
var billing_address = quote.billingAddress();
var name = billing_address.firstname;
var contact = billing_address.telephone;
var email = customer.customerData.email;
var data = {
amount: amount,
email: email,
contact: contact,
order_id:order_id
};
custompay.createPayment(data);
}
},
});
}
});
}
);
I have checked many posts and found there is some option to disable default order email by plugin. but I think it is not the standard approach. I read, there are some changes we need to perform in payment.js
file to stop these confirmation email as implemeneted in braintree payment gateway.
how I could achieve this in the right way? Any help would be appreciated. Thanks.