Solved

Issue Adding Second Customer Payment through Scren Based API

  • 2 October 2020
  • 4 replies
  • 322 views

We Add Customer Payments through Acumatica’s Screen Based API (We use Authorize.NET’s Customer Information Manager for processing).  It works fine for a customer’s first payment method.  When we attempt to add a new Payment Method (Same CustomerProfileId but different PaymentProfileId), it doesn’t throw an exception but it does not add.  It returns the existing Payment Method Token.

 

Here is my current code:

                AR303010Content AR301000 = context.AR303010GetSchema();
                context.AR303010Clear();
                AR303010Content[] AR303010content = context.AR303010Submit(
                    new Command[]
                {
                    new Value { Value = customerId, LinkedCommand = AR301000.PaymentMethodSelection.Customer },
                    new Value { Value = ccType, LinkedCommand = AR301000.PaymentMethodSelection.PaymentMethod },
                    new Value { Value = "AUTHNETAPI", LinkedCommand = AR301000.PaymentMethodSelection.ProcCenterID },
                    new Value { Value = "QUANTUM", LinkedCommand = AR301000.PaymentMethodSelection.CashAccount },
                    //new Value { Value = customerProfileId, LinkedCommand = AR301000.PaymentMethodSelection.CustomerProfileID },
                    new Value { Value = paymentProfileId, LinkedCommand = AR301000.PaymentMethodDetails.Value},
                    new Value { Value = ccToken, LinkedCommand = AR301000.PaymentMethodSelection.CardAccountNo },
                    AR301000.Actions.Save,
                    AR301000.PaymentMethodSelection.CardAccountNo
                });

                var cardAccountNo = AR303010content[0].PaymentMethodSelection.CardAccountNo.Value;

 

Has anybody else had a similar issue?  This issue only affects the API as we’re able to add multiple CC payments through the UI.

icon

Best answer by Gabriel Michaud 8 October 2020, 19:38

View original

4 replies

Userlevel 7
Badge +10

Jerry,

 

Have you tried doing the same operations from the application UI? Using the VISATOK payment method in the sample database i’m not even able to add a second payment profile for the same customer and payment method.

 

Gabriel

Gabriel,

We have been able to do it from the application UI.  So far this has only been a problem with the API and only when adding a second payment method to a customer.

 

Userlevel 7
Badge +10

Could you share a video recording showing the steps you take to do it from the screen? This will allow me to help you with the screen API commands you need to submit.

Userlevel 7
Badge +10

Here’s what I see on my side: https://recordit.co/7fLmeFp4bo. There’s no ability to add a new payment profile ID for a given customer and payment method once you have an existing one -- you can only edit it.

Assuming it was possible to add multiple Payment Method Details to a payment method you would need to explicitly set a key value (in this case, CustomerPaymentMethodDetail.DetailID is the only key field in this table) or insert a row by using the NewRow action. 

Reply


About Acumatica ERP system
Acumatica Cloud ERP provides the best business management solution for transforming your company to thrive in the new digital economy. Built on a future-proof platform with open architecture for rapid integrations, scalability, and ease of use, Acumatica delivers unparalleled value to small and midmarket organizations. Connected Business. Delivered.
© 2008 — 2024  Acumatica, Inc. All rights reserved