Set Unallocated AMount

Dear All,

When I’m posting payment entry from php as json.
Im getting error sometime.

My Json

Array
(
[docstatus] => 1
[payment_type] => Receive
[posting_date] => 2019-10-10
[payment_reference] => MRR18017
[mode_of_payment] => Vendor Payment
[paid_to] => Unknown Customer Control A/c - P
[reference_date] => 2019-10-09
[reference_no] => 32500910201996
[cheque_challan_printed] => No
[references] => Array
(
[0] => Array
(
[reference_doctype] => Sales Invoice
[reference_name] => SINV-111607
[due_date] =>
[total_amount] => 85
[outstanding_amount] => 85
[allocated_amount] => 85
)

    )

[party_type] => Customer
[party] => PGK
[paid_amount] => 96.000000
[received_amount] => 96.000000
[total_allocated_amount] => 85
[unallocated_amount] => 11

)

My Error

Server Error

Traceback (most recent call last):
File “/home/frappe/frappe-bench/apps/frappe/frappe/app.py”, line 67, in application
response = frappe.api.handle()
File “/home/frappe/frappe-bench/apps/frappe/frappe/api.py”, line 119, in handle
“data”: frappe.get_doc(data).insert().as_dict()
File “/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py”, line 221, in insert
self.run_before_save_methods()
File “/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py”, line 864, in run_before_save_methods
self.run_method(“validate”)
File “/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py”, line 757, in run_method
out = Document.hook(fn)(self, *args, **kwargs)
File “/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py”, line 1026, in composer
return composed(self, method, *args, **kwargs)
File “/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py”, line 1009, in runner
add_to_return_value(self, fn(self, *args, **kwargs))
File “/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py”, line 751, in
fn = lambda self, *args, **kwargs: getattr(self, method)(*args, **kwargs)
File “/home/frappe/frappe-bench/apps/erpnext/erpnext/accounts/doctype/payment_entry/payment_entry.py”, line 52, in validate
self.set_amounts()
File “/home/frappe/frappe-bench/apps/erpnext/erpnext/accounts/doctype/payment_entry/payment_entry.py”, line 266, in set_amounts
self.set_unallocated_amount()
File “/home/frappe/frappe-bench/apps/erpnext/erpnext/accounts/doctype/payment_entry/payment_entry.py”, line 299, in set_unallocated_amount
and self.total_allocated_amount < self.paid_amount + (total_deductions / self.source_exchange_rate):
TypeError: coercing to Unicode: need string or buffer, int found

Please Help me to solve this.

try converting your parameter Int to String.