PHP code example of qixiangyun / sdk
1. Go to this page and download the library: Download qixiangyun/sdk library . Choose the download type require .
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
qixiangyun / sdk example snippets
�手动引入自动加载器
// 化 SDK
$sdk = SDK::create([
'appKey' => 'your_app_key',
'apiHost' => 'https://api.qixiangyun.com',
'appSecret' => 'your_app_secret',
'timeout' => 30,
'enableCache' => true,
'cacheDir' => __DIR__ . '/cache'
]);
// 2. 获取业务客户端(推荐使用便捷方法)
$invoiceClient = $sdk->getInvoice();
// 或者使用通用方法
// $invoiceClient = $sdk->getClient('invoice');
// 3. 调用 API
$result = $invoiceClient->queryZzsfpCy([
[
"fpdm" => "044031800104",
"fphm" => "12345678",
"kprq" => "2024-01-01",
"je" => 1000.00
]
]);
print_r($result);
$sdk = SDK::create($config);
// 发票客户端
$invoiceClient = $sdk->getInvoice();
// 企业管理客户端
$orgClient = $sdk->getOrg();
// 账号管理客户端
$accountClient = $sdk->getAccount();
// 登录客户端
$loginClient = $sdk->getLogin();
// 税务申报客户端
$taxClient = $sdk->getTax();
// 个税客户端
$iitClient = $sdk->getIit();
// 办税人员管理客户端
$bsryglClient = $sdk->getBsrygl();
// 产品管理客户端
$productClient = $sdk->getProduct();
// 企业信息采集客户端
$orgInfoClient = $sdk->getOrgInfo();
// 消息客户端
$messageClient = $sdk->getMessage();
// 办税小号客户端
$phoneClient = $sdk->getPhone();
// 前台发票客户端
$qdfpClient = $sdk->getQdfp();
// 商品信息客户端
$spxxClient = $sdk->getSpxx();
// 客户信息客户端
$khxxClient = $sdk->getKhxx();
// 认证客户端
$rzClient = $sdk->getRz();
// 文件版式下载客户端
$sdFileClient = $sdk->getSdFile();
// 发票入账客户端
$fpruzClient = $sdk->getFpruz();
// 发票归集客户端
$gjClient = $sdk->getGj();
// 企业税务信息客户端
$orgTaxInfoClient = $sdk->getOrgTaxInfo();
// 企业税种客户端
$qysClient = $sdk->getQys();
// 生产经营所得客户端
$scjyClient = $sdk->getScjy();
// 社保客户端
$shbxClient = $sdk->getShbx();
// 海关客户端
$customsClient = $sdk->getCustoms();
// 出口退税客户端
$cktsClient = $sdk->getCkts();
// 企业采集客户端
$collectClient = $sdk->getCollect();
// 风险查询客户端
$riskClient = $sdk->getRisk();
// 企业洞察客户端
$insightClient = $sdk->getInsight();
// 政策法规客户端
$legislationClient = $sdk->getLegislation();
// 获取类型化响应
$response = $invoiceClient->queryZzsfpCy($params);
// 链式处理
$response
->then(function($data) {
echo "查询成功\n";
return processData($data);
})
->catch(function($error, $statusCode) {
echo "查询失败: " . $error . " (状态码: " . $statusCode . ")\n";
})
->finally(function($response) {
echo "操作完成\n";
});
// 发票数据处理
$response->processInvoice(function($invoiceData) {
echo "发票代码: " . $invoiceData['code'] . "\n";
echo "发票金额: " . number_format($invoiceData['amount'], 2) . "\n";
return $invoiceData;
});
// 企业数据处理
$response->processOrg(function($orgData) {
echo "企业名称: " . $orgData['name'] . "\n";
echo "统一社会信用代码: " . $orgData['creditCode'] . "\n";
return $orgData;
});
// 先查询企业信息,然后根据企业信息查询发票
$orgClient->getOrgInfo(['aggOrgId' => $aggOrgId])
->processOrg(function($orgData) use ($invoiceClient) {
if ($orgData['status'] === 'active') {
return $invoiceClient->queryPtfpCy($invoiceParams);
} else {
echo "企业未激活,无法查询发票\n";
return null;
}
})
->then(function($invoiceResponse) {
if ($invoiceResponse) {
return $invoiceResponse->processInvoice(function($invoiceData) {
echo "企业关联发票: " . $invoiceData['number'] . "\n";
return $invoiceData;
});
}
});
// 类型安全的数据处理
$response->processProduct(function($productData) {
// 确保数据类型正确
$productId = (string)($productData['id'] ?? '');
$price = (float)($productData['price'] ?? 0);
$isActive = (bool)($productData['isActive'] ?? false);
// 类型验证
if (empty($productId)) {
throw new InvalidArgumentException("产品ID不能为空");
}
return [
'id' => $productId,
'price' => $price,
'isActive' => $isActive
];
});
// 推荐使用
$invoiceClient = $sdk->getInvoice();
// 或使用通用方法
// $invoiceClient = $sdk->getClient('invoice');
// 增值税发票查验
$result = $invoiceClient->queryZzsfpCy($params);
// 数电票查验
$result = $invoiceClient->queryDigitalInvoice($params);
$orgClient = $sdk->getOrg();
// 创建企业
$result = $orgClient->create($params);
// 查询企业列表
$result = $orgClient->list($params);
$accountClient = $sdk->getAccount();
// 创建账号
$result = $accountClient->create($params);
// 查询账号
$result = $accountClient->query($params);
$loginClient = $sdk->getLogin();
// 账号密码登录
$result = $loginClient->password($params);
// 短信验证码登录
$result = $loginClient->sms($params);
// 扫码登录
$result = $loginClient->qrcode($params);
$taxClient = $sdk->getTax();
// 提交申报
$result = $taxClient->submit($params);
// 查询申报结果
$result = $taxClient->query($params);
$iitClient = $sdk->getIit();
// 查询个税信息
$result = $iitClient->query($params);
// 提交个税申报
$result = $iitClient->submit($params);
$bsryglClient = $sdk->getBsrygl();
// 添加办税人员
$result = $bsryglClient->addBsyTask($params);
// 查询办税人员
$result = $bsryglClient->queryBsyTask($params);
$productClient = $sdk->getProduct();
// 订购产品
$result = $productClient->purchase($params);
// 查询订单
$result = $productClient->list($params);
$orgInfoClient = $sdk->getOrgInfo();
// 发起采集任务
$result = $orgInfoClient->beginTask($params);
// 查询采集结果
$result = $orgInfoClient->queryTask($params);
$messageClient = $sdk->getMessage();
// 获取通知
$result = $messageClient->getNotice($params);
// 标记已读
$result = $messageClient->markAsRead($params);
$phoneClient = $sdk->getPhone();
// 申请小号
$result = $phoneClient->createOrder($params);
// 绑定手机号
$result = $phoneClient->bind($params);
$qdfpClient = $sdk->getQdfp();
// 红字发票开具
$result = $qdfpClient->createRedInvoice($params);
// 查询发票
$result = $qdfpClient->queryInvoiceList($params);
$spxxClient = $sdk->getSpxx();
// 新增商品
$result = $spxxClient->addProduct($params);
// 查询商品
$result = $spxxClient->queryProductList($params);
$khxxClient = $sdk->getKhxx();
// 新增客户
$result = $khxxClient->addCustomer($params);
// 查询客户
$result = $khxxClient->queryCustomerList($params);
$rzClient = $sdk->getRz();
// 进项发票采集
$result = $rzClient->applyInputInvoiceCollect($params);
// 查询采集结果
$result = $rzClient->queryInputInvoiceResult($params);
$sdFileClient = $sdk->getSdFile();
// 下载文件
$result = $sdFileClient->download($params);
$fpruzClient = $sdk->getFpruz();
// 发票入账
$result = $fpruzClient->accounting($params);
$gjClient = $sdk->getGj();
// 发票归集
$result = $gjClient->collect($params);
$orgTaxInfoClient = $sdk->getOrgTaxInfo();
// 查询税务信息
$result = $orgTaxInfoClient->query($params);
$qysClient = $sdk->getQys();
// 查询税种信息
$result = $qysClient->query($params);
$scjyClient = $sdk->getScjy();
// 查询所得信息
$result = $scjyClient->query($params);
$shbxClient = $sdk->getShbx();
// 查询社保信息
$result = $shbxClient->query($params);
$customsClient = $sdk->getCustoms();
// 查询海关信息
$result = $customsClient->query($params);
$cktsClient = $sdk->getCkts();
// 出口退税
$result = $cktsClient->refund($params);
$collectClient = $sdk->getCollect();
// 企业采集
$result = $collectClient->collect($params);
$riskClient = $sdk->getRisk();
// 查询风险信息
$result = $riskClient->query($params);
$insightClient = $sdk->getInsight();
// 企业洞察分析
$result = $insightClient->analyze($params);
$legislationClient = $sdk->getLegislation();
// 查询政策法规
$result = $legislationClient->query($params);
use QixiangyunSDK\Exceptions\QixiangyunException;
use QixiangyunSDK\Exceptions\AuthTokenException;
try {
$result = $client->method($params);
} catch (AuthTokenException $e) {
// 认证错误
echo "认证失败: " . $e->getMessage();
} catch (QixiangyunException $e) {
// API 错误
echo "API 错误: " . $e->getMessage();
echo "错误码: " . $e->getCode();
echo "响应数据: " . print_r($e->getResponseData(), true);
}
// 创建自定义客户端
class CustomClient extends BaseClient
{
protected $clientName = 'custom';
public function customMethod(array $params)
{
return $this->request('/custom/path', $params);
}
}
// 注册自定义客户端
$sdk->getClientFactory()->registerClient('custom', CustomClient::class);
// 使用自定义客户端
$customClient = $sdk->getClient('custom');
$result = $customClient->customMethod($params);
// 更新 SDK 配置
$sdk->updateConfig([
'timeout' => 60,
'maxRetries' => 5
]);
// 获取 HTTP 客户端实例
$httpClient = $sdk->getHttpClient();
// 自定义请求
$response = $httpClient->request('GET', '/custom/path', $params);