- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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
โ04-05-2011 12:37 PM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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
โ04-21-2011 03:56 PM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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...
โ07-11-2013 12:26 PM

