Ошибка при удалении платежей в Xero, запутался, что еще я упустил
Впервые пишу и очень хочу найти решение. Я запускаю проект django, одна из функций будет удалять платежи в Xero, читая документацию, я думал, что это должно быть легко, так как нужен только один параметр и включить в resourceID. но я получил ошибку, говоря
{"Title":"An error occurred","Detail":"An error occurred in Xero. Check the API Status page http://status.developer.xero.com for current service status.","Status":500,"Instance":"f137f1e1-4011-43ed-b921-1e1827a90dad"}
Вот мой фрагмент кода.
for paymentID in payment_IDs:
token = XeroOAuth2Token.objects.latest('id')
delete_payment_endpoint = f'https://api.xero.com/api.xro/2.0/Payments/{paymentID}'
headers_del_payments = {
"Authorization":f"Bearer {token.access_token}",
"Xero-Tenant-Id": TENANT_ID,
"Accept": "application/json",
"Content-Type": "application/json"
}
response = requests.post(delete_payment_endpoint, headers=headers_del_payments)
return HttpResponse(response.text)
Я попытался добавить Status:DELETE или paymentID:{ID здесь} в качестве полезной нагрузки, но это просто дало мне Error14
{ "ErrorNumber": 14, "Type": "PostDataInvalidException", "Message": "Invalid Json data" }
Согласно документации по API конечной точки платежей Xero, вам необходимо включить тело сообщения. В настоящее время в вашем вызове API его нет. Как только вы включите это, платеж должен быть удален:
for paymentID in payment_IDs:
token = XeroOAuth2Token.objects.latest('id')
delete_payment_endpoint = f'https://api.xero.com/api.xro/2.0/Payments/{paymentID}'
headers_del_payments = {
"Authorization":f"Bearer {token.access_token}",
"Xero-Tenant-Id": TENANT_ID,
"Accept": "application/json",
"Content-Type": "application/json"
}
body = {
"Status": "DELETED"
}
response = requests.post(delete_payment_endpoint, headers=headers_del_payments,json=body)
return HttpResponse(response.text)