CyberSource / cybersource-sdk-dotnet

.Net SDK for the CyberSource Simple Order API
Other
34 stars 53 forks source link

Update URLs for Akamai SureRoute #13

Closed rmatherly closed 7 years ago

rmatherly commented 8 years ago

We are being notified that the URLs are changing to support Akamai SureRoute:

Test Environment: ics2wstesta.ic3.com Production Environment: ics2wsa.ic3.com

I can download the source and make this change myself, but since everyone will need to switch by July 1, 2016, it would be nice to have a separate branch and zip download for this during the transition period.

moojjoo commented 8 years ago

HOT OFF THE MOOJJOO NUGET SITE --- [https://www.nuget.org/packages/UnofficialCyberSourceByMoojjoo/]

I second the issue above. Grab a copy of my repo - https://github.com/moojjoo/cybersource-sdk-dotnet/tree/AkamaiSureRoute, build and replace your CyberSource .dlls

Remove Old DLLs and replace with new DLLs (I had to make sure to change build to "Any CPU")

Download Certs from - https://support.cybersource.com/cybskb/index?page=content&id=C1688

On Windows Server 2008 R2 Copy the certs

Double click > Install Certificate... > Next > Automatically select the certificate store based on the type of certificate > Finish

In the Web.config of you Web application add the following -

<system.web> <system.net> <!-- In the node system.net--> <connectionManagement> <add address="https://ics2wstesta.ic3.com" maxconnection="24" /> <add address="https://ics2wsa.ic3.com" maxconnection="24" /> <add address="*" maxconnection="24" /> </connectionManagement> </system.web> </system.net>

Now the final piece --- Because I was getting the following exception error ---

2016-05-16 09:11:14.372 00152 TRANSTART > 2016-05-16 09:11:14.372 00152 CONFIG > keysDirectory=E:\root\cybersource\keys,sendToProduction=True,connectionLimit=24 2016-05-16 09:11:14.403 00152 EXCEPTION > System.Security.Cryptography.CryptographicException: An internal error occurred.

at System.Security.Cryptography.CryptographicException.ThrowCryptographicException(Int32 hr) at System.Security.Cryptography.X509Certificates.X509Utils._LoadCertFromFile(String fileName, IntPtr password, UInt32 dwFlags, Boolean persistKeySet, SafeCertContextHandle& pCertCtx) at System.Security.Cryptography.X509Certificates.X509Certificate.LoadCertificateFromFile(String fileName, Object password, X509KeyStorageFlags keyStorageFlags) at System.Security.Cryptography.X509Certificates.X509Certificate..ctor(String fileName, String password, X509KeyStorageFlags keyStorageFlags) at System.Security.Cryptography.X509Certificates.X509Certificate2..ctor(String fileName, String password, X509KeyStorageFlags keyStorageFlags) at CyberSource.Clients.NVPClient.RunTransaction(Configuration config, Hashtable request)

Fix --- http://stackoverflow.com/questions/14263457/x509-certificate-not-loading-private-key-file-on-server

Windows 2008 R2 > IIS 7 in the Advanced App Pool Set the application pool to Load User Profile = True

BAM --- Started working

FYI - My Branch is working --- https://github.com/moojjoo/cybersource-sdk-dotnet/tree/AkamaiSureRoute

Tim-Andersen commented 8 years ago

Hey @moojjoo, just curious if you ever rolled this out to production and whether or not it worked using your particular steps above? I'm in the middle of updating our system and, as you and the OP have said, CyberSource's documentation leaves quite a bit to be desired on this particular update.

moojjoo commented 8 years ago

It worked on DEV and TEST, but have not gotten it implemented in PRODUCTION yet. Glad you reminded me. I will work on this tonight to see the results.

afinzel commented 8 years ago

Why is Cybersource not updating this and pushing a new version to Nuget?

moojjoo commented 8 years ago

Please see my comments above with how to fix this.

afinzel commented 8 years ago

Hey Moojjoo,

While I appreciate your change will work. The whole point of nuget is that you don't have to download the source and manually update it. This should be fixed by Cybersource, or at least merge your PR. Support have said, they will not be updating this repo.

moojjoo commented 8 years ago

Are you kidding me? I hope they merge the change. I am writing a letter requesting compensation for their lack of due diligence and my time for providing a solution. Wish me luck!!! I need a bonus. Google pays out for this type of work maybe they will to. :+1: CyberSource will have a lot of very unhappy .NET Simple Order API SDK customers come June 30th, when they cut that URI off.

afinzel commented 8 years ago

Wow its been 10 days now and still no comment from Cybersource. Come on ylokhand

moojjoo commented 8 years ago

https://www.nuget.org/packages/UnofficialCyberSourceByMoojjoo/

Benjamin-Willard commented 8 years ago

I am still pretty shocked, for such a major Payment Gateway company not to keep their SDK up to date, especially when its in 30 days that this will occur.

SMH

amie-gao commented 7 years ago

The issue has been addressed in the new release.

moojjoo commented 7 years ago

How has this been addressed with the WSDL is still pointing to -

cybersource-sdk-dotnet/CyberSource/Client/Service References/NVPServiceReference/NVPCyberSourceTransactionWS.wsdl

CyberSource Web Service Instead of - CyberSource Web Service
amie-gao commented 7 years ago

you need to enable the service parameter in the config file. please check the readme out for the details.