Yodlee IAV ExtendedInstantAccountVerification exception - yodlee

I am running SampleApplication for Yodlee IDV. I already created a catalog named yantra and got credentials. When I initiate IAV, it throws ExtendedInstantAccountVerificationInfo. I have no idea what am I doing wrong.
IAV Data Matching Menu
Initiate IAV (Includes MFA)
Show All Routing Numbers for the cobrand
Show Content Service Info for a Routing Number
Exit
Enter Choice : 1
Bank Account #: (For DAGBANK it is 503-1123) 503-1123
Routing # (for DAGBANK it is 999999989) 999999989
AccountType : (Checking is 2, Savings is 1) 2
CSID: (For DAGBANK it is 11195) 11195
CobrandContext is valid (2 minutes old), using cached CobrandContext...
22059
Please Enter Username: yantra.bank1
22058
Please Enter Password: bank1
22058
Please Enter Verify Password: bank1
Core Exception....
CoreExceptionFaultMessage
ExtendedInstantAccountVerificationInfo is null, try later

Can you please provide me the API which is being used for IAV and also the SOAP URL which you are using?
My suggestion is to use below API for doing IAV
"ExtendedInstantVerificationDataService.addItemAndStartVerificationDataRequest(UserContext userContext, long contentServiceId, ArrayOfFieldInfo credentialFields, java.lang.String routingNumber, java.lang.String accountNumber) "
Regards
Shreyans

Related

"integrationuser" is not an Active user in KissFlow

I am using kissflow API to attach file but I am getting this error
{
"error": "ValidationError The user integrationuser#xxxxxxx is not an
Active user" }
I am using this url with data {Name:'xxxxx','Url':'xxxxxx'} as suggested in Doc
https://sxxxxxxxxx.appspot.com/api/1/Print Quotation/Sxxxxxx9/attachment/create
I already created request for this with this url
http://sxxxxxxxxx8.appspot.com/api/1/PrintQuotation/create
And got success result with id and subject
{
.......
Id": "d442c98a-bca2-11e8-9ac6-c7734a25d32a",
"Subject": "Request from integrationuser#ap9d9afe30_96bd_11e8_a251_0e8f5e2360a0"
}
Please help me to understand why this error comes.
Note : I am using test account.
And there is no such user with name integrationuser in Users
I got the same error, in my case im using a real account.
SOLUTION 1 :
Create a valid account for use in integrations e.g. integration#companydomain.com
Add the header "email_id" with the email of this user "integration#companydomain.com"
It works for me with a valid account.
However i need to pay by a license for it =P.
I'm talking with support for a better solution using default integrationuser, i will post here the answer from support for clarify this situation.
You can see this solution on documentation here :
https://help.kissflow.com/tips-and-tricks/api-documentation/rest-api-points

Yodlee QuesAndAnswerDetails

I am attempting to debug a Yodlee site authentication issue I am having. I'm sending the credentials via the following endpoint:
POST https://rest.developer.yodlee.com/services/srest/restserver/v1.0/jsonsdk/Refresh/putMFARequestForSite
And this is the error message I am receiving:
{
"errorOccurred": "true",
"exceptionType": "com.yodlee.core.IllegalArgumentValueException",
"referenceCode": "_4ef2f3e7-a750-4dfe-a16e-fa4254451897",
"message": "Null argument specified for: QuesAndAnswerDetails[]"
}
I need to be able to test authenticating via MFA with dropdowns (selects). I created a DAG catalog, and replaced one of the DAG Security QA sites with the following configuration I found when googling:
<login>
<flowControlInfo>
<delayBeforeChallenge>-1</delayBeforeChallenge>
<delayBeforeLoginComplete>1</delayBeforeLoginComplete>
<delayAfterLoginComplete>1</delayAfterLoginComplete>
<expireToken>false</expireToken>
</flowControlInfo>
<MFAFlows>
<MFAFlow flowOrder="1" isModeOfCommunication="1">
<HelpTitle>MFA Help Title1</HelpTitle>
<HelpContent>MFA Help Content1</HelpContent>
<InfoTitle>MFA Info Title1</InfoTitle>
<InfoContent>MFA Info Content1</InfoContent>
<MFAChallengeList>
<MFAChallenge questionType="text" >
<MFAOption answerType = "dropdown">
<questionLabel>Please select desired OTP
destination...</questionLabel>
<answerOptions>
<!-- The actual email or token will not be sent and is just a
placeholder to show the form -->
<option isDefaultSelected="1" value="MOBILE_XXX-XXX-1234">MOBILE
XXX-XXX-1234</option>
<option isDefaultSelected="0" value="HOME_XXX-XXX-2345">HOME XXXXXX-2345</option>
<option isDefaultSelected="0" value="WORK_XXX-XXX-3456">WORK XXXXXX-3456</option>
</answerOptions>
</MFAOption>
</MFAChallenge>
<MFAChallenge questionType="text" >
<MFAOption answerType = "dropdown">
<questionLabel>Please select desired OTP
destination1...</questionLabel>
<answerOptions>
<!-- The actual email or token will not be sent and is just a placeholder to show the form -->
<option isDefaultSelected="1" value="TEXT">TEXT message</option>
<option isDefaultSelected="0" value="PHONE">Phone Call</option>
</answerOptions>
</MFAOption>
</MFAChallenge>
</MFAChallengeList>
</MFAFlow>
<MFAFlow flowOrder="2">
<HelpTitle>MFA Help Title1</HelpTitle>
<HelpContent>MFA Help Content1</HelpContent>
<InfoTitle>MFA Info Title1</InfoTitle>
<InfoContent>MFA Info Content1</InfoContent>
<TokenDetails>
<DisplayString>Security Key</DisplayString>
<Value>123456</Value>
</TokenDetails>
</MFAFlow>
</MFAFlows>
</login>
In order to get back MFA form info, I am calling:
POST https://rest.developer.yodlee.com/services/srest/restserver/v1.0/jsonsdk/Refresh/getMFAResponseForSite
I can see the dropdowns with real sites, but I can't get a DAG site to reproduce the same behavior. I've also read https://developer.yodlee.com/assets/images/OTP_Documents/Implementation%20Manual%20for%20Enhanced%20MFA%20Support.pdf however when using Site/Provider Id 16442 I get a 403 yodlee internal error response.
I am aware of Can you provide an example of calling putMFARequestForSite with com.yodlee.core.mfarefresh.MFAQuesAnsResponse? and am attempting to implement the the suggested fix however I am unable to test using dag accounts.
Thanks!
I was able to resolve the issue in production by ensuring only the expected values are passed, and sending them in the expected order as Can you provide an example of calling putMFARequestForSite with com.yodlee.core.mfarefresh.MFAQuesAnsResponse? goes into details about which resolved the "Null argument specified for: QuesAndAnswerDetails[]" error.
No update to the providor accounts APIs was required which would have required a major rework. Was still unable to get DAG to work.
From your ask, I see that your are checking our legacy APIs.
We recommend you to use our new Yodlee APIs to integrate into your system.
Integration Guide- https://developer.yodlee.com/Account_Verification/Getting_Started
API Flow-https://developer.yodlee.com/Yodlee_API/API_Flow/Add_Account_With_ProviderAccount
Test our APIs here- https://developer.yodlee.com/apidocs/index.php#!/
If you are interested to get your dedicated and secure environment, then please contact
Sales:1 866-374-0948

WSO2 Send Recovery Notification

In our current WSO2 setup, after a user performs a self creation, we place his account into a locked state, and send a confirmation email to the address specified during creation. This email has a link which allows the user to verify his account.
For development purposes, we are attempting to get the workflow down using the UserInformationRecoveryService wsdl in SOAP UI. The service which we seem to want is called sendRecoveryNotification. Here is the signature of this service:
sendRecoveryNotification(String username, String key, String notificationType)
The username parameter is simply the username of the WSO2 user in question, which we have. For the notificationType we have been using email, which presumably would trigger an email to be sent to the user. The problem is with the key parameter. It is not clear what value should be used as key, and all our guesses always lead to this error response:
18001 invalid confirmation code for user : tbiegeleisen#abc.com#tenant.com
We also noticed that several other services also expect a key, and it is not clear how to get this value.
Can someone shed light on the workflow for user recovery in WSO2? It seems to be a Catch-22 with regard of requiring a token in order to generate a new token to be sent to a user.
The WSO2 documentation clearly spells out the workflow for recovery with notification. The key which needs to be used is the return value from a call to the verifyUser() SOAP web service. This service itself expects a Captcha which normally would be sent from the UI. Here is a code snippet showing how a recovery notification can be sent:
String cookies = client.login("admin#tenant.com#tenant.com", "admin");
UserInformationRecoveryUtil userInfoutil = new UserInformationRecoveryUtil(webserviceUrl, cookies);
CaptchaInfoBean captchaInfo = new CaptchaInfoBean();
captchaInfo.setImagePath(captchaPath);
captchaInfo.setSecretKey(captchaKey);
captchaInfo.setUserAnswer(captcha);
String username = emailId + "#" + tenantDomain;
String key = userInfoutil.verifyUser(username, captchaInfo);
// now pass the key based on the Captcha along with the type of recovery action
userInfoutil.sendRecoveryNotification(username, key, "accountUnLock");

updateSiteAccountCredentials throws IllegalArgumentValueException

I'm using the Yodlee REST API and try to update the credentials at a site.
I'm doing the following sequence:
authenticate/coblogin
authenticate/login
SiteAccountManagement/updateSiteAccountCredentials
In 3 I pass:
cobSessionToken <cobSessionToken>
userSessionToken <userSessionToken>
memSiteAccId <memSiteAccId>
credentialFields.enclosedType com.yodlee.common.FieldInfoSingle
credentialFields[0].name LOGIN
credentialFields[0].displayName User ID
credentialFields[0].valueMask LOGIN_FIELD
credentialFields[0].fieldType.typeName IF_LOGIN
credentialFields[0].valueIdentifier LOGIN
credentialFields[0].value <username>
credentialFields[1].name PASSWORD
credentialFields[1].displayName Password
credentialFields[1].valueMask LOGIN_FIELD
credentialFields[1].fieldType.typeName IF_PASSWORD
credentialFields[1].valueIdentifier PASSWORD
credentialFields[1].value <password>
All according to the API spec.
But all I get back is:
"errorOccured": "true",
"exceptionType": "com.yodlee.core.IllegalArgumentValueException",
"refrenceCode": <referenceCode>,
"message": "Multiple exceptions encapsulated within: invoke getWrappedExceptions for details"
What am I missing?
I'd recommend that you try and do the same credential edit call for another site too.
If the call works for the other site, chances are it is an error related specifically to the site you're trying to edit above (and so, a ticket with Yodlee likely needs to be opened). HTH!

Verify user through PayPal GetVerifiedStatus API

I have been trying to get this GetVerifiedStatus API to work but it just doesn't work.
I have tried using a valid email address on
http://www.dev-tool.com/pptester/NVP/CallType.aspx?ServiceID=51&CallTypeID=53
As well as directly and through curl but they all give error of 'Api credentials are incorrect'.
Does anyone know how to do it?
Then I have another question, paypal says that GetVerifiedStatus API takes in email,first name and last name. (as mentioned in )
However there is this guy who says that he verified using email, password and signature successfully... anybody has any idea where do password and signature comes in it from?
Thanks
The link you're referring to is talking about an API username, password and signature.
To use GetVerifiedStatus, you must send email, firstName, lastName and matchCriteria.
See also page 63 of https://www.paypal-biz.com/development/documentation/PP_AdaptiveAccounts.pdf
To use GetVerifiedStatus.php here is what you have to do:
Create an account paypal sandboc
Create a preconfigured account
Click on API and Payment Card Credentials to view your account credentials
Update the following code with the credentials you got from step 3
//PayPal API Credentials
$API_UserName = "sbapi_1287090601_biz_api1.paypal.com"; //TODO
$API_Password = "1287090610"; //TODO
$API_Signature = "ANFgtzcGWolmjcm5vfrf07xVQ6B9AsoDvVryVxEQqezY85hChCfdBMvY"; //TODO
//PAYPAL SANDBOX LOGIN EMAIL
$API_SANDBOX_EMAIL_ADDRESS = "rishaque#paypal.com"; <<<<< THIS IS YOUR LOGIN EMAIL ADDRESS
I hope this help.