0

我使用 PHP 在网站中集成了 EchoSign API,但我被回调信息困住了。

我正在创建一个小部件并向用户显示,我希望在用户单击按钮并且文档已签名后,我需要在文档已签名时返回结果,否则我可以将用户移动到下一步。

下面是我的代码:

require_once($_SERVER["DOCUMENT_ROOT"]."setup.php");

global $result_sign;

    $recipient_email = $_SESSION['EchoSign_Email_Document'];

    $md5pdf_echosign = md5($_SESSION['EchoSign_Email_Document']) . ".pdf";

    $filepath = $_SERVER["DOCUMENT_ROOT"].'/path_to_file/'.$md5pdf_echosign;
    $file = EchoSign\Info\FileInfo::createFromFile($filepath);
    $widget = new EchoSign\Info\WidgetCreationInfo('Agreement', $file);
    $personalization = new EchoSign\Info\WidgetPersonalizationInfo($recipient_email);

    try{
        $result_sign = $api->createPersonalEmbeddedWidget($widget, $personalization);
    }catch(Exception $e){
        print '<h3>An exception occurred:</h3>';
        var_dump($e);
    }

像这样我显示结果

echo $result_sign->{'embeddedWidgetCreationResult'}->javascript;

我使用 AJAX 调用文件,如下所示:

$('#echosign_id').html('my_ecosign_file.php');

我将不胜感激。

我希望在用户签署文件后我想找出该文件已签署并检查是否已签署将用户移动到下一步。

我的 JS:

function FormSubmitBindStep4(){
    $('#FormID input#input_id').unbind('click').bind('click', function(){


        var obj = $(this);
        $('.prior_dark_form_preloader').remove();
        obj.hide();
        $('.prior_form_error_input').removeClass('prior_form_error_input');
        $('#terms_1-styler .jq-checkbox__div.error_input').removeClass('form_error_input');
        $('#terms_2-styler .jq-checkbox__div.error_input').removeClass('form_error_input');
        $('#3-styler .jq-checkbox__div.error_input').removeClass('form_error_input');
        $('#4-styler .jq-checkbox__div.error_input').removeClass('form_error_input');
        $('#5-styler .jq-checkbox__div.error_input').removeClass('form_error_input');
        $('#6-styler .jq-checkbox__div.error_input').removeClass('form_error_input');
        $('#7-styler .jq-checkbox__div.error_input').removeClass('form_error_input');
        $('#confirmation_1-styler .jq-checkbox__div.error_input').removeClass('form_error_input');
        $('#confirmation_2-styler .jq-checkbox__div.error_input').removeClass('form_error_input');
        $('#confirmation_3-styler .jq-checkbox__div.error_input').removeClass('form_error_input');
        $('#confirmation_4-styler .jq-checkbox__div.error_input').removeClass('form_error_input');

        $('<img src="/preloader.GIF" class="prior_dark_form_preloader"/>').insertAfter(obj);

        $(document).scrollTop(0, 1000);

       if (actualStep < 4){
           actualStep = 4;
       }

        $.ajax ({
            type: "POST",
            url: "/form_step_4.php",
            data: { json: createJsonFromForm('FormIDStepValidation') }
        }).done(function(data) {
            $('.prior_dark_form_preloader').remove();

            if (data == true){

                $('#FormID').html('<iframe scrolling="no" src="/EchoSign.php" width="1150px" height="715px">',function(){

                });

            }else{
                console.log("step 4", "incorrect");
                obj.show();
                $('.prior_form_error_input_anchor_php').remove();

                var errors = jQuery.parseJSON(data);
                for(error in errors){
                    Step1Validation(error, true, errors);
                    Step2Validation(error, true, errors);
                    Step4Validation(error, false, errors);
                }
                $( 'input' ).click(function() {
                    $(".input_anchor_php").hide();
                });
            }
        });
        return false;
    });
}

谢谢。

4

0 回答 0