My client's CIM gateway configuration raises an error (code: E00027 text: Description is required). if I don't supply an "order_description". The invoice number is easy to come up with but description is a challenge because an order can contain multiple line items. There's a lot of overhead in looking up multiple SKUs. At the same time, it seems silly to use a generic description for all of my orders.
Where is the requirement for an order_description set in the gateway configuration? I don't get this error in my CIM sandbox, only on my client's production CIM gateway.
What is the point of requiring a description? It seems like a useful thing for subscriptions but not for a one-time order with multiple items.
Thanks in advance and happy new year one and all.
Solved! Go to Solution.
The control panel includes this text:
Note: Any fields that are checked as "Required" below, will require a value for that field to be entered before the transaction can be processed, regardless of whether you use Advanced Integration Method (AIM) or Server Integration Method (SIM) for connecting to the payment gateway.
This is interesting, since AIM is called internally, therefore by context one would think that -maybe- this means a "required" setting is applied across all API's, rather than just a subset (SIM, DPM). But the only way to find out if it works here is to uncheck and see what happens.
Incidently, why would there be a lot of overhead looking up multiple SKU's? You could just index them and use a query with IF field_name IN ('value1', 'value2', 'value2', ...) (I'm assuming MySQL, but any other database should have an equivalent format...) The query should be virtually instantaneous. The issue here should not be query run time, but whether you want to tag the order with individual line items or just an overall summary.
Incidently, why would there be a lot of overhead looking up multiple SKU's? ...
It's an issue for me with active merchant and Spree using Rails. At the point where the authorize method is called, all that's in scope is the order id, and it's redundant to use it to go back and iterate through the saved line items for the sake of an order description.
That's really interesting about the gateway form determining required fields for the CIM API. That's the only explanation that explains why I see no problems in my sandbox transactions. I think I would have stayed puzzled for a long time without your help so thanks RaynorC1emen7 and TJPride.