We setup a fresh install of Magento 1.9.3.4
We're trying to create admin orders using Authorize.net
Direct Post and it's not working.
We get an error in the console
Uncaught ReferenceError: transport is not defined
Looking @ the code in /js/mage/directpost.js
we found on line 309
saveAdminOrderSuccess : function(data) {
var response = transport.responseJSON || transport.responseText.evalJSON(true) || {};
if (response.directpost) {
this.orderIncrementId = response.directpost.fields.x_invoice_num;
var paymentData = {};
for ( var key in response.directpost.fields) {
if(response.directpost.fields.hasOwnProperty(key)) {
paymentData[key] = response.directpost.fields[key];
}
}
var preparedData = this.preparePaymentRequest(paymentData);
this.sendPaymentRequest(preparedData);
} else {
if (response.redirect) {
window.location = response.redirect;
}
if (response.error_messages) {
var msg = response.error_messages;
if (Object.isArray(msg)) {
msg = msg.join("\n");
}
if (msg) {
alert(msg.stripTags().toString());
}
}
}
},
Something is clearly wrong here, because the variable data
passed in in saveAdminOrderSuccess : function(data)
is not being used anywhere in the function.
Has anyone gotten Authorize.net Direct Post to work for admin orders?
Strangely enough, this works just fine on the front end, in that code the functions variable is named transport
saveOnepageOrderSuccess : function(transport) {
if (transport.status == 403) {
checkout.ajaxFailure();
}
var response = transport.responseJSON || transport.responseText.evalJSON(true) || {};
if (response.success && response.directpost) {
this.orderIncrementId = response.directpost.fields.x_invoice_num;
var paymentData = {};
for ( var key in response.directpost.fields) {
if(response.directpost.fields.hasOwnProperty(key)) {
paymentData[key] = response.directpost.fields[key];
}
}
var preparedData = this.preparePaymentRequest(paymentData);
this.sendPaymentRequest(preparedData);
} else {
var msg = response.error_messages;
if (Object.isArray(msg)) {
msg = msg.join("\n");
}
if (msg) {
alert(msg.stripTags().toString());
}
if (response.update_section) {
$('checkout-' + response.update_section.name + '-load').update(response.update_section.html);
response.update_section.html.evalScripts();
}
if (response.goto_section) {
checkout.gotoSection(response.goto_section);
checkout.reloadProgressBlock();
}
}
},
I tried switching out data
for transport
in the saveAdminOrderSuccess
function but that didn't help.