dongsuoxi1790 2017-03-16 11:23
浏览 48

如何在ajax调用php soap中传递API响应失败或成功

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();
        });
    }

The above script using for API Response message, Where I am unable to get the API response Array , its getting result as 0(success) and redirect to success page, even if wrong entry also going to success page..i am unable to get the failure page..if the payment fails.

  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥100 set_link_state
    • ¥15 虚幻5 UE美术毛发渲染
    • ¥15 CVRP 图论 物流运输优化
    • ¥15 Tableau online 嵌入ppt失败
    • ¥100 支付宝网页转账系统不识别账号
    • ¥15 基于单片机的靶位控制系统
    • ¥15 真我手机蓝牙传输进度消息被关闭了,怎么打开?(关键词-消息通知)
    • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
    • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
    • ¥15 手机接入宽带网线,如何释放宽带全部速度