Calcinai Xero-PHP 和 Payroll AU SuperFund 端点
Calcinai Xero-PHP and the Payroll AU SuperFund endpoint
使用来自 https://github.com/calcinai/xero-php
的 calcinai Xero-PHP 库
我正在制作一份入职表格,新员工可以在其中填写所有详细信息、签名并提交。提交后,它将所有详细信息发送给 Xero。
我可以正确发送所有个人和银行帐户详细信息,但我不知道如何添加员工的超级帐户。
据我所知,我需要获取 SuperFundID 才能创建员工的 SuperFundMembership。所以我一直在尝试使用 $xero->load('\XeroPHP\Models\PayrollAU\SuperFund')
尝试过:$xero->load('\XeroPHP\Models\PayrollAU\SuperFund')->where("ABN", [an ABN])->execute()
:不起作用,因为显然根据 Xero console/history "ABN property is not supported for Where or Order clause",即使 https://developer.xero.com/documentation/payroll-api/superfunds 的文档说我可以 "Filter by an any element "
已尝试:$xero->load('\XeroPHP\Models\PayrollAU\SuperFund')->setParameter("ABN", "65714394898")->execute();
发送请求 [url]superfunds?ABN=65714394898
和 returns 一个集合对象,其中所有 SuperFunds 作为 [storage:ArrayObject:private] => Array (a private array of SuperFund objects)
存储在我的 Xero 中。鉴于我的新手 PHP 技能,我不知道如何获得我想要的超级基金或如何访问该数组。此外,当我只想要一笔资金时,获得所有超级基金对我来说似乎不是很有效。在没有 setParameter 子句的情况下执行加载...执行操作 returns 相同的所有内容数组。
即将准备放弃,但我知道有些事情显然很愚蠢我没有做。
出于某种原因,您必须加载所有超级基金的列表,然后遍历它们以找到正确的基金。
// Given a USI, try to find and return Xero's ID of the SuperFund
function findIDByUSI(&$xero, $usi)
{
$funds[] = $xero->load('\XeroPHP\Models\PayrollAU\SuperFund')->execute();
foreach($funds[0] as $fund)
{
if($fund->getUSI() == $usi)
return $fund->getSuperFundID();
}
return null;
}
如果不存在你可以尝试创建它,然后获取它的ID。
使用来自 https://github.com/calcinai/xero-php
的 calcinai Xero-PHP 库我正在制作一份入职表格,新员工可以在其中填写所有详细信息、签名并提交。提交后,它将所有详细信息发送给 Xero。
我可以正确发送所有个人和银行帐户详细信息,但我不知道如何添加员工的超级帐户。
据我所知,我需要获取 SuperFundID 才能创建员工的 SuperFundMembership。所以我一直在尝试使用 $xero->load('\XeroPHP\Models\PayrollAU\SuperFund')
尝试过:$xero->load('\XeroPHP\Models\PayrollAU\SuperFund')->where("ABN", [an ABN])->execute()
:不起作用,因为显然根据 Xero console/history "ABN property is not supported for Where or Order clause",即使 https://developer.xero.com/documentation/payroll-api/superfunds 的文档说我可以 "Filter by an any element "
已尝试:$xero->load('\XeroPHP\Models\PayrollAU\SuperFund')->setParameter("ABN", "65714394898")->execute();
发送请求 [url]superfunds?ABN=65714394898
和 returns 一个集合对象,其中所有 SuperFunds 作为 [storage:ArrayObject:private] => Array (a private array of SuperFund objects)
存储在我的 Xero 中。鉴于我的新手 PHP 技能,我不知道如何获得我想要的超级基金或如何访问该数组。此外,当我只想要一笔资金时,获得所有超级基金对我来说似乎不是很有效。在没有 setParameter 子句的情况下执行加载...执行操作 returns 相同的所有内容数组。
即将准备放弃,但我知道有些事情显然很愚蠢我没有做。
出于某种原因,您必须加载所有超级基金的列表,然后遍历它们以找到正确的基金。
// Given a USI, try to find and return Xero's ID of the SuperFund
function findIDByUSI(&$xero, $usi)
{
$funds[] = $xero->load('\XeroPHP\Models\PayrollAU\SuperFund')->execute();
foreach($funds[0] as $fund)
{
if($fund->getUSI() == $usi)
return $fund->getSuperFundID();
}
return null;
}
如果不存在你可以尝试创建它,然后获取它的ID。