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

wqsoz72f  于 2022-11-28  发布在  WordPress
关注(0)|答案(1)|浏览(108)

我们正在通过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调用唯一,并确保一个请求不会被发送两次?
谢谢

w8rqjzmb

w8rqjzmb1#

您能否提出一个关于Xero Support的案例,并包括:您的客户ID、连接租户的名称、重复呼叫的日期和时间(以及您所在的时区)、超额付款的详细信息,例如联系人姓名、日期和金额

相关问题