CC Authorization - 3rd party integration

ASI provided some sample code to integrate iMIS with a Thirdparty CC Authorization company. We are trying to modify that code to work with Authorize.net but are running into some issues.

So, the VB project basically only contains one file of code - that's the PayFlowProXtender.ctl file. The file I have here has only 4 functions in it that can be called by iMIS: nCCAuth (which authorizes and charges a credit card), nCCAuth_Custom (according to the documentation, this is not used), nCCVoid (to void a previous transaction), and nCCReturn (to process a credit).

I've written code that connects to the authorize.net gateway in nCCAuth, nCCVoid, and nCCReturn.

However, when we try this with iMIS, you get an error message as soon as the authorization process starts that says: "Member not found: nCCQuery".

This indicates to me that there is supposed to be another function in this source code called nCCQuery, but there is no such function.

It would appear that this may be an old version of the PayFlowProXtender.ctl file that is not up to date to be compatible with iMIS 10.6.

Any help would be greatly appreciated.

Mark

Comment viewing options

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

10.6 to 15

Ok, now we have taken the client from 10.6 to imis 15 and the custom credit card gateway is no longer working. The standard code that was posted to this site does not work even if you copy the basic code in. So we are looking for some feedback on what has changed.

Working in 10.6?

Mark, did you guys ever get it working under 10.6? Can't tell from your original posting. We've got a client (a management company) that wants us to do this - given the number of databases they manage, upgrading to 15 is not an option.
Thanks, Jeff

yes, we got it working under

yes, we got it working under 10.6 using the sample ocx code in this community. The integration with Authorize.net was fairly simple but we hard coded the login, password, and url instead of retrieving that from the system.

We have since upgrade the client to 15.03 and have found that ASI changed the code between 15.01 and 15.03 so it no longer works. We are working on resolving this right now, so i will update when we get it figured out.

Custom gateways in iMIS15.0.3

We just hit this same problem. The PayFlowPro vb project supplied by ASI doesn't work in 15.0.3. I have just seen a document that talks about using the standard ASIPayflowPro.ocx and using the "Custom" gateway setting in system setup, and it will then pass parameters to a "Custom Gateway Handler", but I have found nothing that tells me how to create one.

Modified PayFlowProXtender.ctl

This issue has now been resolved with a modified PayFlowProXtender.ctl for iMIS versions 15.0.3 and later.
Our thanks to troberts for testing and validating the changes.

Contact me at jfroudeadvsol.com for details..

Locating the updated payflowproxtender.ctl file

The PayFlowProXtender.ctl is located in the Tech Support Community - select Document Archives > Downloads > Extension Products.

issues...

I am having problems getting the OCX that i built to register properly. would any one have one that the would be willing to share?
thanks
Glenn Morrison

Still Getting nCCQuery Error in 10.6

Hi,

I've been viewing this post but I'm still having the "Member not found: Name =nccQuery" error pop up when iMIS attempts to process the credit card in 10.6. Does anyone have any additional input or code that is required to get rid of this message. Does anyone know what the error message exactly pertains to? It appers iMIS is still looking for a method that does not exist.

Thanks in advance.

Dave Spina

...

...

nCCQuery issue fixed

I am able to get this fixed and able to get ocx working for custom gateway.

just add this ...

Public Function nCCQuery(ByVal strOrderID As String, ByVal strCashAccount) As String
    On Error GoTo CCerror:
   
    'nCCQuery = GetCachedField()
   
    'nCCQuery = gloStrOrderID
Exit Function
CCerror:
    nCCQuery = "TIMEOUT" & vbFormFeed & vbFormFeed & vbFormFeed & strOrderID
End Function
 

For your information

This is the set of information passed from imis to ocx call

    'BillToId=xxx;
    'CustomerId=xxx;
    'Amount=999.00;
    'CardNumber=4007000000000027;
    'CardExpiryDate=1212;
    'CardName=Name;
    'CardCSC=123;
    'CardIssueNumber=;
    'CardIssueDate=;
    'PONumber=;
    'InvoiceNumber=0;
    'CashAccountCode=XXXX; (CAsh Account)
    'ShipFromZip=;
    'ShipToZip=99999-9999;
    'BatchNumber=;'
 

This is how you capture the data from imis in the ccAuth_custom function

    Set params = mod_Common.BuildDictionaryFromNameValueString(strParameters)
    numParams = params.Count
   
    strCardNumber = params.Item("CardNumber")
    strCardExpiryDate = params.Item("CardExpiryDate")
    strAmount = params.Item("Amount")
    strCardCSC = params.Item("CardCSC")
    strCashAccountCodes = params.Item("CashAccountCode")
 

This is how you get name and address

 

      'Note this is only for the Discouver card - all others will ignore it
    RaiseEvent GetValue("lvSession.SQLHostName", DSN)
    RaiseEvent GetValue("lvSession.SQLDatabase", Db)
    RaiseEvent GetValue("lvSession.SQLUserId", UserID)
    RaiseEvent GetValue("lvSession.SQLUserPassword", Password)
    RaiseEvent GetValue("fBtId", strBT_ID)

    Set rsAddress = New ADODB.Recordset
    rsAddress.CursorLocation = adUseClient
    rsAddress.LockType = adLockReadOnly
    rsAddress.ActiveConnection = "PROVIDER=MSDASQL;dsn=" + DSN + ";uid=" _
        & UserID + ";pwd=" + Password + ";database=" + Db + ";"
    rsAddress.Open "select Name.First_Name,Name.Last_Name, Name_Address.ADDRESS_1, Name_Address.ADDRESS_2, Name_Address.CITY, " _
    & "Name_Address.STATE_PROVINCE , Name_Address.ZIP, Name_Address.COUNTRY " _
    & "From Name, Name_Address " _
    & "where Name.ID = '" & strBT_ID & "' " _
    & "AND Name.BILL_ADDRESS_NUM = Name_Address.ADDRESS_NUM"
 

    strFirstName = rsAddress!First_Name
    strLastName = rsAddress!Last_Name
    strCardAddress = rsAddress!ADDRESS_1 & " " & rsAddress!ADDRESS_2
    strCardCity = rsAddress!CITY
    strCardZip = rsAddress!ZIP
    strCardState = rsAddress!STATE_PROVINCE
    strCardCountry = rsAddress!COUNTRY
 

you can then code the calling of custom gateway dll and authenticating.

Please let me know if you have any question on this.

 

Troubleshooting for new upgrades

This is what I did which may be helpful.

The ASIPayForFlow.ocx from imis patch or imis install.

Copy that into you local machine and open a test vb project and add this ocx as a component.

Then you can add this component into a form.

in the form add a button and and code like this

    Dim dummy As String
    dummy = PayFlowProXtender1. will show all the property and methods.

This way you can verify all the functions are having the same parameters.

if you don't find them then you can add dummy function.

Thanks Venky

Authorize.net

Hello Everyone,

I am new to iMIS and trying to implement authorize.net payment gateway in imis15. Were anyone able implement it in iMIS 15.0.3. Any help would be greatly appreciated.

Shanti.