Developer forum

Forum » Dynamicweb 9.0 Upgrade issues » Cybersource: RunSimpleOrderTransaction error

Cybersource: RunSimpleOrderTransaction error

Cátia Torego
Reply

Hi,

We had a solution updated to 9.13.7 and after that the we started getting a CyberSource error in all orders.

Orders throw the following error but still finish successfully:

Dynamicweb.Ecommerce.CheckoutHandlers.CyberSource.CyberSource ERROR: RunSimpleOrderTransaction error: The communication object, System.ServiceModel.Channels.ServiceChannel, cannot be used for communication because it is in the Faulted state. (OrderID:QA1003124 (IsCart:False, Complete:True) Total:41.42, orderline total:$35.47; Orderlines:5 - Products:2, Discounts:0, Taxes:3, BOM:0, (IP:94.63.233.45, Url:/Default.aspx?ID=5&CheckoutHandlerOrderID=QA1003124&cmd=Accept&CardTokenName=QA1003124), Thread:104, HashCode:57164025.)

But recurring orders fail because of it:

Dynamicweb.Ecommerce.CheckoutHandlers.CyberSource.CyberSource ERROR: RunSimpleOrderTransaction error: The communication object, System.ServiceModel.Channels.ServiceChannel, cannot be used for communication because it is in the Faulted state. (OrderID:QA1003128 (IsCart:False, Complete:False) Total:74.15, orderline total:$74.15; Orderlines:2 - Products:1, Discounts:0, Taxes:1, BOM:0, (IP:95.95.136.9, Url:/Default.aspx?ID=19987&CheckoutHandlerOrderID=REC92&cmd=CardSaved&CardTokenName=REC92), Thread:1225, HashCode:36053848.)

Dynamicweb.Ecommerce.CheckoutHandlers.CyberSource.CyberSource Recurring order failed for QA1003127 (based on REC91). The payment failed with the message: The communication object, System.ServiceModel.Channels.ServiceChannel, cannot be used for communication because it is in the Faulted state. (OrderID:QA1003127 (IsCart:False, Complete:False) Total:6.31, orderline total:$6.31; Orderlines:2 - Products:1, Discounts:0, Taxes:1, BOM:0, (IP:95.95.136.9, Url:/Default.aspx?ID=19987&CheckoutHandlerOrderID=REC91&cmd=CardSaved&CardTokenName=REC91), Thread:1213, HashCode:63236684.)

It looks like something is missing for Cybersource to process the transaction.

 

DW version 9.13.7

Order.png RecurringOrder.png RecurringOrderLogs.png

Replies

 
Nuno Aguiar Dynamicweb Employee
Nuno Aguiar
Reply

Hi,

 

This is affecting a production website that uses Recurring Orders as a  monthly subscription service model, so it's pretty sensitive for us, as it's failing daily. I managed to look a bit more and we upgraded from 9.10.21, and seems like the only change after that version was PR 1927 (converting Cybersource to .NET Standard + fixed obsolete functions).

 

As you can see by the error, the exception is thrown in RunSimpleOrderTransaction(), but the error is probably in BuildPostData() or ParseResponse()

 

So recapping the scenario:

  • Since upgrading to 9.13.x all recurring orders started failing
  • We are using Cybersource with Saved Cards
  • Users are placing recurring orders (monthly subscription services) - which are failing this affecting our customer's customer service

 

I'd appreciate any expedite way to help us withi this. The site is www.lorenz.com

 

Best Regards,

Nuno Aguiar

 
Nicolai Pedersen
Reply

I think it is due to some tls settings or an invalid certificate. Do you by any chance have some old stuff in web.config that uses old TLS (<1.2)

 
Nuno Aguiar Dynamicweb Employee
Nuno Aguiar
Reply

Hi Nicolai,

 

I don't know for sure. I'm a little out of my depth and people that could help me are out (vacation). What I can see, comparing to a standard web.config from DW is:

  • Some bindings to WebGrease, dotless.Core and Antlr3.Runtime
    I doubt any of those are to blame
     
  • A couple of Microsoft ones, that I don't recognize
    <dependentAssembly>
    <assemblyIdentity name="Microsoft.Extensions.DependencyInjection.Abstractions" publicKeyToken="adb9793829ddae60" culture="neutral" />
    <bindingRedirect oldVersion="0.0.0.0-2.2.0.0" newVersion="2.2.0.0" />
    </dependentAssembly>
    <dependentAssembly>
    <assemblyIdentity name="Microsoft.Extensions.DependencyInjection" publicKeyToken="adb9793829ddae60" culture="neutral" />
    <bindingRedirect oldVersion="0.0.0.0-2.2.0.0" newVersion="2.2.0.0" />
    </dependentAssembly>
     
  • There's some irrelevant differences too (we have rewrite rules, and I notice we're missing some attributes for sessionState, httpCookies, requestFiltering and httpCompression - but nothing major I wouldn't think
 
I will look into the certificates too and see if we can make some progress and report back.
 
BR,
Nuno
 
Nicolai Pedersen
Reply
This post has been marked as an answer

What happens if you rollback the cybersource provider to the non-.net standard version?

Votes for this answer: 1
 
Nicolai Pedersen
Reply

You can also check that you have the correct cybersource cert file as selected on the gateway settings ("Certificate" field). It has to be somewhere in /files/system

 
Nuno Aguiar Dynamicweb Employee
Nuno Aguiar
Reply

Ok, thanks. I'll check that and see if we can overcome it

 
Nuno Aguiar Dynamicweb Employee
Nuno Aguiar
Reply

Hi Nicolai,

 

Success with the old dll. The certificate file was there. For now we'll just leave it as it is. Maybe it is the certificate that needs to be regenerated, but at least the crisis is avoided now.

Thanks for your input.

 

BR

Nuno

 

You must be logged in to post in the forum