Hi Team, I need your help with the following ques...
# suitetalkapi
a
Hi Team, I need your help with the following question. I send a request for creating a payment. In request, I transmit the paymentOption parameter. But, NetSuite returns the following error message: You do not have permissions to set a value for element paymentmethod due to one of the following reasons: 1) The field is read-only; 2) An associated feature is disabled; 3) The field is available either when a record is created or updated, but not in both cases. Could you please recommend what I should customize in NetSuite so that will not receive the error?
b
basic answer is to check your payment record in the ui
create the record with matching vales to the ones you set in your soap request
if you dont set payment method in the ui, you shouldnt set it in your soap request
a
In request, I use the same method that I have on UI.cIn Netsuite I create a payment without error
But via API, I receive an error
b
your error is telling you that you cant set the payment method field
from what you have shared, you are using payment options in your account
the payment option field will remove the payment method field
so if you are seeing a payment method field in the ui, something weird is going on
a
As I understand correctly if on UI is a payment method, in request I should send the payment method. If on UI is a payment option, in request I should send the payment option.
is it correct?
b
yes, dont set fields that dont exist in the account
a
How I can determine via API what option (payment method or payment option) is included on UI?
b
usually you know
you dont randomly pick a payment method or payment option
however that payment method or payment option is chosen should tell you which to use
a
Thank you a lot!
Battk, I need your help once again. Your advice helped and payments started to be generated. But today we caught a completely different error ( In response, we began to receive the following error: Decline.
Could you please tell what is the reason of this error?
b
sounds credit card related
a
yes, you are perfectly right. maybe we should send some additional parameters in the request?
b
unlikely, usually that means some credit card information is invalid
and its extremely unlikely that you have the correct information on hand
a
the client says that he made a payment from the card earlier
What other reasons could there be?
b
dunno, they should check with their processor to see whats wrong
same advice ive been giving you the entire time
whatever fields needed to be set in the ui
to make it successful
need to be set via your integration
a
Everything is the same here. I rechecked
b
as in you created the payment with the credit card in their netsuite instance?
a
The client selects that wants to pay by credit card. Ant selects the payment option. For example MasterCard. This payment option is available in NetSuite. We create a request and send it to NetSuite and receive Decline. Also, the request includes the following parameters: customerPayment.setChargeIt(false); customerPayment.setCcApproved(true); Once the client selects the ACH method, everything is good and NetSuite creates the payment.
b
sounds unsual, but you would want to retrieve the customer payment that was created in the ui and compare it to your request
although i dont think it matters for credit card related issues, you would want to be using the same role to create the customer payment in the ui as your webservice role
a
I recommended that the client change the card and we will make the payment again. If it doesn't help, then we will pull the payment created in NS and check with the request for creating a payment.
b
you probably dont want to be selecting a credit card if you arent trying to do the charging via NetSuite
that decline you are getting means netsuite tried and failed to use that credit card
a
Thanks a lot for your help!