smartilabs/metakocka

dev-master 2021-04-18 08:57 UTC

This package is auto-updated.

Last update: 2024-09-18 16:20:01 UTC


README

使用方法

初始化客户端

$companyID = 1234;
$secretKey = "secret_code";

$client = new \Smarti\Metakocka\Client($companyID, $secretKey);

获取产品列表

$data = new \Smarti\Metakocka\Resource\Product\ListRequest();
$data->setSales(true);
$productList = $client->getProductList($data);

$count = $productList->getProductListCount();
foreach ($productList->getProductList() as $product) {
    echo $product->getName();
}

创建产品

$data = new \Smarti\Metakocka\Resource\Product\ItemRequest();

$data->setCode('unique_code_123456');
$data->setName('Beautiful product name');
$data->setSales(true);
$data->setService(true);

$product = $client->createProduct($data);

创建账单

$data = new \Smarti\Metakocka\Resource\Sales\BillRequest();

$data->setBillDate(new DateTime());
$data->setPaymentDate((new DateTime())->add(new DateInterval('P8D')));

$partner = new \Smarti\Metakocka\Resource\Partner\PartnerRequest();
$partner->setBusinessEntity(false);
$partner->setCustomer('John Doe');
$partner->setStreet('Elm street 10');
$partner->setPostNumber('1000');
$partner->setPlace('Ljubljana');
$data->setPartner($partner);

$product1 = new \Smarti\Metakocka\Resource\Product\ItemRequest();
$product1->setMkId(555500000000); // or $product1->setCountCode('unique_code_123456');
$product1->setAmount(1);
$product1->setPrice(round(55.9 / 1.22, 4)); // price without tax
$product1->setTax(\Smarti\Metakocka\Enum\Tax::TAX_220);

$data->addProduct($product1);

$bill = $client->createBill($data);

获取账单PDF

$data = new \Smarti\Metakocka\Resource\Sales\BillPdfRequest();

$billCountCode = '2016-123456';

$data->setHideCode(true);
$data->setCountCode($billCountCode);

$rawPdfData = $client->getBillPdf($data);

// write response into file
$fileName = $billCountCode . '.pdf';
$fh = fopen($fileName, 'w');
fwrite($fh, $rawPdfData);
fclose($fh);

!!重要提示!!

目前API仅有一些方法。如果需要,其他方法可能会(也许)最终出现。警告:这不是官方API,也不受官方支持,因此请自行承担风险。但您可以通过联系我解答任何问题 :)