cancel
Showing results forย 
Search instead forย 
Did you mean:ย 

Invoice Number from CIM and Order

Hello...I've looked everywhere and can't seem to find an answer to this one...

I am using the API in C# for Authoize.net. We are storing cutomer information in the CIM.

When I create an authorization request and send it with the billing info, shippinginfo, card number, and set the invoice number on the AuthorizationRequest object everything works fine.

But I want to use the information stored in the CIM Payment Methods, not have the user input a card each time. So the process I am using is to:

 

**Note CIMCustomer is my custom class to handle the CIM functions.

//Retrieve the customer - I also use the customer object later in the code
var customer = CIMCustomer.getCustomer(user.CIMProfileID);

//create a new order
Order = new Order(user.CIMProfileID, "2949777", "2964271");
order.Amount = new Decimal(99.99);
order.InvoiceNumber = "99999999"


//send the authorization through the CustomerGateway
var gate = CIMCustomer.getGateway();
var ccResponse = gate.Authorize(order);

 

This sends the authorization, but the invoice number and description are not stored. When I pull back the transaction they have been omitted. It does store billing and shipping info from the CIM, posts the authorization, and returns a transaction id as expected. How do I get it to store the Invoice number using this method? Or...how do I post an AuthorizationRequest and pass in the the CIM Payment and Billing ID's the way I do on the Order constructor?

 

 

thanks

pdm2050
Member
2 REPLIES 2

Hey there,

 

Sorry for the delay. This is definitely a bug and we've got in our list for the next release. In the meantime, you can try doing this though:

 

The fix for this is in CIM/CustomerGateway.cs - at line 326 add this:
            
            //order information
            trans.order = new orderExType();
            trans.order.description = order.Description;
            trans.order.invoiceNumber = order.InvoiceNumber;
            trans.order.purchaseOrderNumber = order.PONumber;

 

Thanks,

 

Michelle

Developer Community Manager

Michelle
All Star

This same bug exists in the AuthorizeAndCapture method. InvoiceNumber is never copied from the order to the profileTransAuthCaptureType object so it never makes it to the gateway...