ram0123

Is it possible to navigate the user to a different page after opt-out

0 votes
1. Is it possible to show user a custom popup after clicking on OPT-OUT button? I would like to display a popup window with a confirmation to the user, that he is discontinuing the esign ceremony process with OK and Cancel button. Clicking on OK button, I would like user to be navigated to a different page and clicking on Cancel page, user needs to be on the same page. 2. Is is possible to navigate the user a different page after choosing to OPT-OUT? Thanks, Ram

Reply to: Is it possible to navigate the user to a different page after opt-out

0 votes
Hey Ram, As far as customizing the popup after the user has clicked opt-out, that is not possible. However, once the user has clicked OK and opted-out of the signing ceremony, you can redirect the user by setting a handover url in the package settings. For example:
.withSettings(DocumentPackageSettingsBuilder.newDocumentPackageSettings()
						.withHandOverLinkHref("https://www.google.ca"))
Haris Haidary OneSpan Technical Consultant

Reply to: Is it possible to navigate the user to a different page after opt-out

0 votes
I have already added the "handoverlinkhref" to the DocumentPackage. But, it is not navigating the user for opt-out. It is navigating the user when the package is signed. DocumentPackage documentPackage = PackageBuilder.newPackageNamed(“esign-poc-rehab” + Instant.now()) .withSettings(DocumentPackageSettingsBuilder.newDocumentPackageSettings() .withoutLanguageDropDown() .withOptOut() .withDialogOnComplete().hideOwnerInPersonDropDown() .withHandOverLinkHref(“https://mycompany.com/esign/faces/confirm.jspx”) .withHandOverLinkText(“Home”) .withHandOverLinkTooltip(“Home page”) .withoutDocumentToolbarDownloadButton() .withCeremonyLayoutSettings(CeremonyLayoutSettingsBuilder.newCeremonyLayoutSettings() .withoutTitle() .withoutGlobalConfirmButton() .withoutGlobalSaveAsLayoutButton() .withoutGlobalDownloadButton() .withoutProgressBar() .withGlobalNavigation() .withoutBreadCrumbs() .withoutSessionBar())) .withSigner(SignerBuilder.newSignerWithEmail(“[email protected]”) .withCustomId(CUSTOM_ID).withFirstName(“Ram”).withLastName(“xyz”))

Reply to: Is it possible to navigate the user to a different page after opt-out

0 votes
When I set the handover url (e.g. https://www.google.ca), I get redirected to that URL once I either opt-out or decline the package. Can you send a package to '[email protected]' so I can have a look?
Haris Haidary OneSpan Technical Consultant

Reply to: Is it possible to navigate the user to a different page after opt-out

0 votes
Sorry for the delay. I will be not able to send you a private email for security reasons. I have pasted the java code below for your review, please let me know if it will help you to determine the issue. UI Framework : Oracle ADF package org.example.esign.managed; import javax.faces.event.ActionEvent; import oracle.adf.view.rich.component.rich.output.RichInlineFrame; import com.silanis.esl.sdk.DocumentPackage; import com.silanis.esl.sdk.DocumentType; import com.silanis.esl.sdk.EslClient; import com.silanis.esl.sdk.PackageId; import com.silanis.esl.sdk.builder.CeremonyLayoutSettingsBuilder; import com.silanis.esl.sdk.builder.DocumentBuilder; import static com.silanis.esl.sdk.builder.PackageBuilder.newPackageNamed; import static com.silanis.esl.sdk.builder.DocumentBuilder.newDocumentWithName; import com.silanis.esl.sdk.builder.DocumentPackageSettingsBuilder; import com.silanis.esl.sdk.builder.FieldBuilder; import com.silanis.esl.sdk.builder.PackageBuilder; import static com.silanis.esl.sdk.builder.PackageBuilder.newPackageNamed; import static com.silanis.esl.sdk.builder.SignatureBuilder.signatureFor; import com.silanis.esl.sdk.builder.SignerBuilder; import static com.silanis.esl.sdk.builder.SignerBuilder.newSignerWithEmail; import com.silanis.esl.sdk.Document; import com.silanis.esl.sdk.DocumentId; import com.silanis.esl.sdk.NotificationEvent; import com.silanis.esl.sdk.builder.EventNotificationConfigBuilder; import com.silanis.esl.sdk.builder.SignatureBuilder; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.InputStream; import java.net.MalformedURLException; import java.net.URL; import java.time.Instant; import java.util.Map; import javax.faces.context.FacesContext; import oracle.adfinternal.view.faces.bi.util.JsfUtils; import org.joda.time.DateTime; public class EsignMB { private String esignDocumentURL; private String packageId; private RichInlineFrame iframe; public static final String API_KEY = ""; public static final String API_URL = "https://sandbox.esignlive.com/api"; private static String CUSTOM_ID = "Signer"; // private static final String URL = "https://it-tgrxi.tgslc.org:7002/esign/faces/confirm.jspx"; // private static final String KEY = "myCallbackKey"; public EsignMB() { super(); } public void initialize() { try { System.out.println("getting esign ceremory started"); this.packageId = createPackage(); EslClient eslClient = new EslClient(API_KEY, API_URL); this.esignDocumentURL = "https://sandbox.esignlive.com/access?sessionToken=" + eslClient.getSessionService().createSessionToken(this.packageId, CUSTOM_ID).getSessionToken(); } catch (Exception e) { e.printStackTrace(); System.out.println(e.getMessage()); } } private String createPackage() throws MalformedURLException { EslClient eslClient = new EslClient(API_KEY, API_URL); InputStream fs = null; try { fs = new FileInputStream("C:\\Users\\rxi\\Documents\\Systems_Support_Docs\\eSignLive\\Rehab_FDF.pdf"); } catch (FileNotFoundException e) { e.printStackTrace(); } DocumentPackage documentPackage = PackageBuilder.newPackageNamed("esign-poc-rehab" + Instant.now()) .withSettings(DocumentPackageSettingsBuilder.newDocumentPackageSettings() .withoutLanguageDropDown() .withOptOut() .withWatermark() .withOptOutReason("You have choosen to discontinue the e-sign process.") .withDialogOnComplete().hideOwnerInPersonDropDown() .withHandOverLinkHref("https://rxi.example.org:7002/esign/faces/confirm.jspx?redirectUrl=https://rxi.example.org:7002/esign/faces/paymentHome.jspx") .withHandOverLinkText("Payment Home") .withHandOverLinkTooltip("Payment Home page") .withoutDocumentToolbarDownloadButton() .withCeremonyLayoutSettings(CeremonyLayoutSettingsBuilder.newCeremonyLayoutSettings() .withoutTitle() .withoutGlobalConfirmButton() .withoutGlobalSaveAsLayoutButton() .withoutGlobalDownloadButton() .withoutProgressBar() .withGlobalNavigation() .withoutBreadCrumbs() .withoutSessionBar())) .withSigner(SignerBuilder.newSignerWithEmail("[email protected]") .withCustomId(CUSTOM_ID).withFirstName("Ram").withLastName("abc")) .withDocument(newDocumentWithName("Consent") .atIndex(0) .fromFile("C:\\TGDev\\epmo\\Applications\\BorrowerSegment\\sfb-common\\trunk\\test\\src\\main\\resources\\documents\\esign-consent.pdf") .withSignature(SignatureBuilder.acceptanceFor("[email protected]"))) .withDocument(DocumentBuilder.newDocumentWithName("Form") .atIndex(1) .fromStream(fs, DocumentType.PDF) .enableExtraction() .withInjectedField(FieldBuilder.textField().withName("BorrowerSSN").withValue("111-11-1234")) .withSignature(signatureFor("[email protected]").onPage(1).withName("Signature1")) ) .build(); PackageId packageId = eslClient.createPackage(documentPackage); eslClient.getPackageService().deleteDocument(packageId, "default-consent"); System.out.println("packageId:" + packageId.toString()); EslClient eslClient1 = new EslClient(API_KEY, API_URL); eslClient1.sendPackage(packageId); // eslClient.getEventNotificationService().register(EventNotificationConfigBuilder.newEventNotificationConfig(URL) // .withKey(KEY) // .forEvent(NotificationEvent.PACKAGE_COMPLETE)); System.out.println("packageId sent to esignlive.."); FacesContext ctx = FacesContext.getCurrentInstance(); Map sessionState = ctx.getExternalContext().getSessionMap(); sessionState.put("packageId", packageId); sessionState.put("docId", eslClient.getPackage(packageId).getDocument("Form").getId().getId()); return packageId.toString(); } public void setEsignDocumentURL(String esignDocumentURL) { this.esignDocumentURL = esignDocumentURL; } public String getEsignDocumentURL() { return esignDocumentURL; } public void setIframe(RichInlineFrame iframe) { this.iframe = iframe; } public RichInlineFrame getIframe() { return iframe; } public void load(ActionEvent actionEvent) { // Add event code here... this.getIframe().setSource(esignDocumentURL); } public void setPackageId(String packageId) { this.packageId = packageId; } public String getPackageId() { return packageId; } }

Reply to: Is it possible to navigate the user to a different page after opt-out

0 votes
Being the signer (e.g. [email protected]), can you successfully navigate to "https://rxi.example.org:7002/esign/faces/confirm.jspx?redirectUrl=https://rxi.example.org:7002/esign/faces/paymentHome.jspx"? Because when I tried to opt out, my browser sits there trying to resolve the url and throws an error "This site can’t be reached". In other words, esignlive is trying to redirect the user to the handover link once the user has successfully opted-out. Therefore, is it doing what it's supposed to do. Make sure that url is a valid one. For a quick test, try to put "https://www.google.com" as the handover url to see if it works.
Haris Haidary OneSpan Technical Consultant

Reply to: Is it possible to navigate the user to a different page after opt-out

0 votes
Also, I've had a look at your account and none of the packages are in opt-out status. Are you sure you are actually opting-out of the signing ceremony? (i.e. clicking on the opt-out button and enter a reason and click OK)
Haris Haidary OneSpan Technical Consultant

Hello! Looks like you're enjoying the discussion, but haven't signed up for an account.

When you create an account, we remember exactly what you've read, so you always come right back where you left off