smartilabs / metakocka
dev-master
2021-04-18 08:57 UTC
Requires
- php: ^7.3 | ^8.0
- guzzlehttp/guzzle: dev-master
- nesbot/carbon: ^2.45
- netresearch/jsonmapper: ^4.0
Requires (Dev)
- phpunit/phpunit: 9.*
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,也不受官方支持,因此请自行承担风险。但您可以通过联系我解答任何问题 :)