REST API Payment: The manual payment amount exceeds the amount due on the invoices being processed


(Matteo Piciucchi) #1

I create an Order, I get the ID and after that I want to create a payment for this order.
suppose the order has an amount of 46.87 euros. I create the following json:
{
“apply_to_commissions”: false,
“charge_now”: false,
“payment_method_type”: “CREDIT_CARD”,
“payment_amount”:46.87,
}

I receive the following error: The manual payment amount exceeds the amount due on the invoices being processed.

Why? How can I bypass this error? in a devel versione it works well but not in the infusionsoft of my customer.

Thanks for the answer


(Sterling Grogg) #2

Hi Matteo,

I just attempted a payment on an order that I created on my application with the same JSON you have listed and didn’t experience the same problem. There are a couple things we should check after the order is created.
Request the order and check a couple of details
First, making sure that it is not "status": "PAID"
Secondly, check to make sure that the total is greater than or equal to the amount you are attempting to pay. "total": 46.87
Lastly, take a look at the "total_paid": 0 which for a new order should be 0.

If those things are all correct then it should allow you to pay it. Do you have an example order that you could provide so we can look it over? I hope this helps and if you have any further questions please let us know.


(Matteo Piciucchi) #3

thanks for the answer but i’ve te same problem.
this is and example order:
{
“id”: 2127,
“title”: “SO2667”,
“status”: “DRAFT”,
“recurring”: null,
“total”: 146.73,
“contact”: {
“id”: 204,
“email”: “xxx@xxx.xxx”,
“first_name”: “xxx”,
“last_name”: “xxx”,
“company_name”: “”,
},
“notes”: null,
“terms”: null,
“creation_date”: “2018-11-30T10:29:32.000Z”,
“modification_date”: “2018-11-30T10:29:32.000Z”,
“order_date”: “2018-02-19T21:58:49.000Z”,
“lead_affiliate_id”: 0,
“sales_affiliate_id”: 0,
“total_paid”: 0,
“total_due”: 146.73,
“shipping_information”: {
“id”: 1823,
“first_name”: “xxx”,
“middle_name”: null,
“last_name”: “xxx”,
“company”: “xx xx”,
“phone”: null,
“street1”: “xxx”,
“street2”: “”,
“city”: “xxx”,
“state”: “xx”,
“zip”: “xxx”,
“country”: “”
},
“refund_total”: 0,
“order_items”: [
{…some items}
]
}

I call create payment with this json:
{
“apply_to_commissions”: false,
“charge_now”: false,
“payment_method_type”: “CREDIT_CARD”,
“payment_amount”: 146.73
}

I get this response:
{
“message”: “The manual payment amount exceeds the amount due on the invoices being processed.”
}

I don’t know what is the problem but if I put 14.6 in payment_amount the payment is successful for 146 euros. and now I can’t pay the 0.73 remains beacause if I do a json request for payment_amount of 0.73 the message is the same.


(Matteo Piciucchi) #4

Hi Sterling,
the problem exists only when I set infusionsoft orders in EUR. If I set in USD there’s no problem. But I need EUR. WHy if I put in Json 14.6 the response is 146 eur ? if I put 14.6 in USD the response is 14.6