PHP Xero API正在创建重复的超额支付条目(BankTransaction)



我们正在通过PHP Xero API创建超额支付。在某些情况下,超额付款是重复的。下面是我们使用的代码:

<?php
$endpoint = 'https://api.xero.com/api.xro/2.0/BankTransactions';
$headers = array(
"Content-Type: application/json",
"Xero-tenant-id: " . $xero_access['tenant_id'],
"Authorization: Bearer " . $xero_access['token'],
);
$postFields = array(
"Type" => "RECEIVE-OVERPAYMENT",
'Contact' => ['ContactID' => $contactID],
'BankAccount' => ['accountID' => $xero_settings['account_id']],
'LineAmountTypes' => 'NoTax',
'LineItems' => [0 => [
'Description' => 'Customer Credit',
'LineAmount' => $price
]]
);
try {
$ch = @curl_init();
@curl_setopt($ch, CURLOPT_URL, $endpoint);
@curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
@curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
@curl_setopt($ch, CURLOPT_POST, 1);
@curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($postFields, JSON_PRETTY_PRINT));
$response = @curl_exec($ch);
$status_code = @curl_getinfo($ch, CURLINFO_HTTP_CODE);
error_log($status_code);
error_log($response);
} finally {
@curl_close($ch);
}
?>

我不太确定为什么交易被复制,甚至它是一个网络问题,或者上面的代码中的东西。

是否有一种方法使这些API调用唯一,并确保请求不发送两次?

感谢

能否向Xero技术支持部门提出一个案例,并包括:您的客户端id,连接租户的名称,重复呼叫的日期和时间(以及您的时区),超额付款的详细信息,例如联系人姓名,日期和金额

最新更新