function clickandpledgeTransaction() {
var $form = $('.wpjb-payment-form');
var data = {
action: "",
engine: "clickandpledge_payment",
id: WPJB_PAYMENT_ID,
clickandpledge_selectedPaymentMethod:$("input[name=cnp_payment_method_selection]:checked").val(),
clickandpledge_AccountID:$('#clickandpledge_AccountID').val(),
clickandpledge_AccountGuid:$('#clickandpledge_AccountGuid').val(),
clickandpledge_OrderMode:$('#clickandpledge_OrderMode').val(),
clickandpledge_nameOnCard:$('#clickandpledge_nameOnCard').val(),
clickandpledge_cardNumber:$('#clickandpledge_cardNumber').val(),
clickandpledge_cvc:$('#clickandpledge_cvc').val(),
clickandpledge_echeck_RoutingNumber:$('#clickandpledge_echeck_RoutingNumber').val(),
clickandpledge_echeck_CheckNumber:$('#clickandpledge_echeck_CheckNumber').val(),
clickandpledge_echeck_AccountNumber:$('#clickandpledge_echeck_AccountNumber').val(),
clickandpledge_echeck_AccountType:$('#clickandpledge_echeck_AccountType').val(),
clickandpledge_echeck_CheckType:$('#clickandpledge_echeck_CheckType').val(),
clickandpledge_echeck_NameOnAccount:$('#clickandpledge_echeck_NameOnAccount').val(),
clickandpledge_echeck_IdType:$('#clickandpledge_echeck_IdType').val(),
clickandpledge_reference_number:$('#clickandpledge_reference_number').val(),
clickandpledge_recurring_type:$('#recurring_select').val(),
clickandpledge_periods:$('#clickandpledge_periods').val(),
clickandpledge_nooftimes:$('#clickandpledge_nooftimes').val(),
clickandpledge_echeck_periods:$('#clickandpledge_echeck_periods').val(),
clickandpledge_echeck_nooftimes:$('#clickandpledge_nooftimes').val(),
clickandpledge_eCheck_recurring_type:$('#eCheck_recurring_select').val(),
};
var request = $.ajax({
url: ajaxurl,
cache: false,
type: "POST",
data: data,
success: function(response) {
var result = $("#wpjb-checkout-success");
result.find(".wpjb-clickandpledge-pending").hide();
//alert(WPJB_PAYMENT_ID);
if(response.external_id) {
result.find(".wpjb-flash-info").removeClass("wpjb-none");
result.find(".wpjb-flash-info .wpjb-flash-body").html(response.message);
} else {
result.find(".wpjb-flash-error").removeClass("wpjb-none");
result.find(".wpjb-flash-error .wpjb-flash-body").html(response.message);
}
}
});
//console.log(request);
request.done(function(msg) {
var result = jQuery.parseJSON(msg);
if(result == 0) {
$(".wpjb-place-order-wrap .wpjb-place-order").hide();
$("#wpjb-checkout-gateway").hide();
$(".wpjb-fieldset-default").hide();
$(".wpjb-place-order-wrap .wpjb-icon-spinner").css("visibility", "hidden")
$form.find(".payment-errors").removeClass("wpjb-flash-info");
clickandpledgeResponse(msg);
} else {
$(".wpjb-place-order-wrap .wpjb-place-order").hide();
$("#wpjb-checkout-gateway").hide();
$(".wpjb-fieldset-default").hide();
$(".wpjb-place-order-wrap .wpjb-icon-spinner").css("visibility", "hidden")
$form.find(".payment-errors").removeClass("wpjb-flash-info").addClass("wpjb-flash-error").text(result.error);
}
});
request.fail(function( jqXHR, textStatus ) {
alert( "Request failed: " + textStatus );
});
return '2015';
}
function clickandpledgeResponse(msg) {
$form = $('.wpjb-payment-form');
var resultjson = jQuery.parseJSON(msg);
//console.log(jQuery.parseJSON(msg));
var data = {
action: "wpjb_payment_accept",
engine: "clickandpledge_payment",
id: WPJB_PAYMENT_ID,
token: resultjson.TransactionNumber
};
//console.log(data);
//console.log(resultjson);
var request = $.ajax({
url: ajaxurl,
cache: false,
type: "POST",
data: data
});
request.done(function( msg ) {
$form.find('.payment-errors').removeClass("wpjb-flash-error").addClass("wpjb-flash-info").text('Payment done successfully');
$form.find('div.htmlholder').hide();
});
}
以上脚本用于API响应消息,其中我无法获取API响应数组,其结果为0(成功)并重定向到成功页面,即使错误输入也会成功页面...我是如果付款失败,则无法获取失败页面。