CPayment.CreditCardNumber with version 15.1.2.x

The CPayment.CreditCardNumber property throws an exception after upgrading to 15.1.2.x.  See two attached files for a console application and config file that test that everything is working correctly. 

... Yes, this is a working example once we got gor our upgrade issues resolved.  As stated in the comments below, you'll need to remove the BindingRedirect section in the config file to use the older imis 15 version of the payflowpro assembly. 

 

AttachmentSize
TestAppConfig.txt4.77 KB
TestConsoleApplication.txt4.75 KB

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

thanks for the sample...

...of course, by some corollary of Murphy's law, it works for me:

PaymentGateway in iMIS should be: pilot-payflow.paypal.com
Creating Initialization... Done!
Creating Asi.iBO.IiMISUser... Done!
Creating Asi.iBO.Financials.CPayment... Done!
Creating Asi.iBO.ContactManagement.CAddressBasic... Done!
Creating Asi.iBO.Commerce.PaymentGatewayResponse... Done!

AuthorizationCode: 468PNI
CardProcessingStatus: Authorized
IsSuccess: True
ReferenceId: V18A2B67794B
ResponseMessage: Approved
Result: 0
 

I got an error about Payflow_dotNET version mismatches, so I commented out the binding redirect at the end of your .config file, and then the auth succeeded.  My Asi assemblies are version 15.1.2.4260 (i.e. 15.1.2 GA) - are you at a newer patch level?

 

Error when executing this line of code

Asi.iBO.ContactManagement.CContactUser coImisUser = Asi.iBO.ContactManagement.CContactUser.LoginByWebLogin("manager");

Error I get is, Unable to load object schema for this user.

Data integrity issue maybe?

I'm guessing that you can login to the IMIS client as manager successfully.  I'm not sure what else to tell you.  Maybe its a security issue or data integrity issue.

would you change the code to catch ex.StackTrace?

There might be some clues there.

Here's the Stack trace

at Asi.Business.BusinessController.LoadSchema(String controllerName)
at Asi.Business.Common.UserController.NewUserController(BusinessContainer container)
at Asi.Business.Common.UserController.User(String userName, BusinessContainer container, Boolean forceReload)
at Asi.Security.SecurityContext.AuthenticateByUserId(String userId, RolePrincipal rolePrincipal)
at Asi.Security.SecurityContext.LogonByUserId(String userId)
at Asi.iBO.ContactManagement.CContactUser.LoginByUserId(CContactUser contactUser, String userId)
at Asi.iBO.ContactManagement.CContactUser.LoginByWebLogin(String webLogin, Boolean setAppPrincipal)
at Asi.iBO.ContactManagement.CContactUser.LoginByWebLogin(String webLogin)
at IBOPayment.Program.Main(String[] args) in C:\\Documents and Settings\\nleininger\\My Documents\\Visual Studio 2005\\Projects\\iMISiBODev\\IBOPayment\\Program.cs:line 43

things to try...

I assume you can login successfully as MANAGER to desktop and/or web views.  Did you try "MANAGER' in the code instead of "manager"?  Another admin user instead of manager?  Also, try this SQL:

SELECT [ProviderKey] FROM [UserMain] WHERE [UserId] = 'MANAGER'

-- insert your ProviderKey value
EXEC asi_UserMainLogin '019a2a19-d9cd-4747-a6d9-2ada8555744f'

It should return four result sets, including roles and legacy security levels.

 

RE: things to try

Yes I have used "MANAGER" as well, and I get the same results.

This is a pretty blank database, I just created it to for iBO testing, so there are only the default users that are created during the installation, SYSTEM, ADMINISTRATION, and GUEST.  I have created a webuser as well.

As I'm new to iMIS, I am not sure what I'm looking at when I run the SQL.  Could you point to a reference that explains what asi_UserMainLogin give me?

Thanks, 

Neil

 

PS, I'm currently using version 15.1.4260.

Can you try a backup of a db from a working iMIS system?

I wonder if there's something missing in the blank db. 

I sent the asi_UserMainLogin info just to test whether MANAGER was a valid login.   Running it should return four result sets:

1. a single row, with UserKey, ContactMaster, etc.

2. numerous rows for roles, with Grantee and RoleName

3. numerous rows for legacy security roles, with values like "BllingLevel1"

4. a single row for the logged in group (probably "Authenticated Users")

 

MANAGER is a valid login

I get all 4 of those results returned.  I'll look into using another db.

Thanks for your help.

No problem

It works fine for us, but I posted for anyone else having trouble.  Yes, we are using the 15.1.2.5184 version.