读取 SwissQR 码 - 支付数据提取器 API
PDF4me 读取 SwissQR 码 使您能够从 SwissQR 码中提取和读取 SwissQR 码。 PDF 使用高级文档 OCR 以及条形码识别技术。这 API 服务流程 PDF 文件和提取结构化支付信息,包括金额、货币等。 IBAN债权人详细信息和付款参考信息,以实现无缝的数字支付处理。 API 接收 PDF 通过内容 REST API 利用电话 Base64 采用加密技术实现安全传输。此解决方案非常适合用于发票处理、银行集成、支付自动化和财务报告。
验证您的身份 API 要求
要访问 PDF4me REST API每个请求都必须包含正确的身份验证凭据。身份验证可确保通信安全,并验证您作为授权用户的身份。 REST API。
主要特点
- SwissQR码识别:从 SwissQR 中提取并读取二维码 PDF 使用高级文档 OCR 以及条形码识别技术
- 结构化支付数据提取结构化支付信息,包括金额、货币等。 IBAN债权人详情和付款参考
- 瑞士支付标准:支持瑞士 QR-账单数字支付标准(2020年6月)
- 异步处理支持 async 使用轮询方式处理长时间运行的操作
SwissQR码支持
这 API 支持读取 SwissQR 码 PDF 文件。SwissQR 码包含结构化的支付信息,包括金额、货币、 IBAN包括债权人详细信息和付款参考信息。提取的数据以标准化格式返回,以便与支付处理系统集成。
REST API 端点
这 PDF4me REST API 使用标准 HTTP 与资源交互的方法。所有 SwissQR 码读取操作均通过单个端点执行:
- 方法: POST
- 终点:
/api/v2/ReadSwissQRBill
REST API 参数
读取 SwissQR 码的完整参数列表 REST API参数按类别组织,以便更好地理解和实施。
重要的: 标有星号 (*) 的参数为必填项,必须提供。 API 正常运作。
必需参数
| 范围 | 类型 | 描述 | 例子 |
|---|---|---|---|
| docContent* | Base64 | PDF 文件内容以编码形式 Base64 包含 SwissQR 码 | JVBERi... |
| docName* | String | PDF 文件名带有 .pdf 扩展名 | invoice.pdf |
| async* | Boolean | 启用异步处理。 true, 这 API 返回 202 状态并提供轮询 URL 在 Location 标题 | true |
输出
这 PDF4me 读取 SwissQR 码 REST API 根据处理模式的不同,会返回不同的响应。 API 收益结构 JSON 包含SwissQR码信息的数据。
- Success Response
- Asynchronous Processing
- Error Responses
- Response Format Details
同步处理(默认)
什么时候 async 未设置或已设置为 false, 这 API 立即处理请求:
状态码: 200 OK
Content-Type: application/json
回复正文:
{
"fileName": "invoice.pdf",
"mimeType": "application/pdf",
"fileSize": 2456789,
"success": true,
"swissQrCodeData": {
"amount": "100.00",
"currency": "CHF",
"iban": "CH9300762011623852957",
"creditorName": "Swiss Company AG",
"paymentReference": "INV-2024-001",
"dueDate": "2024-12-31",
"purpose": "Invoice payment"
}
}
回复字段:
- 文件名 (字符串): PDF 文件名
- mimeType (细绳): MIME 文件类型(application/pdf)
- 文件大小 (数字):尺寸 PDF 文件大小(字节)
- 成功 (布尔值):指示 SwissQR 码是否已成功读取
- 瑞士二维码数据 (对象):提取的 SwissQR 码支付信息
- 数量 (字符串):付款金额
- 货币 (字符串):货币代码(CHF, EUR, USD)
- 他们要走了 (细绳): IBAN 债权人
- 债权人姓名 (字符串):债权人名称或公司
- 支付参考号 (字符串):付款参考编号
- 到期日 (字符串):付款到期日(如有)
- 目的 (字符串):付款目的或说明
例子 (JavaScript):
const response = await fetch(url, options);
const data = await response.json();
if (data.success) {
console.log(`Amount: ${data.swissQrCodeData.amount} ${data.swissQrCodeData.currency}`);
console.log(`IBAN: ${data.swissQrCodeData.iban}`);
}
异步处理
什么时候 async: true 已设定, API 异步处理请求:
状态码: 202 Accepted
响应头:
Location: https://api.pdf4me.com/api/v2/ReadSwissQRBill/poll/12345-abcde-67890
投票过程:
- 提取
Location来自 202 响应的标头 - 民意调查 URL 使用 GET 请求
- 继续轮询,直到收到 200 OK 地位
- 最终回复包含相同的内容。 JSON 格式为 SwissQR 码数据
轮询示例:
// Initial request returns 202 with Location header
const response = await fetch(url, options);
const location = response.headers.get('Location');
// Poll until complete
while (true) {
const pollResponse = await fetch(location, { headers: { 'Authorization': 'Basic ' + apiKey } });
if (pollResponse.status === 200) {
const data = await pollResponse.json();
// Process data.swissQrCodeData
break;
}
await new Promise(resolve => setTimeout(resolve, 2000)); // Wait 2 seconds
}
错误响应
这 API 退货标准 HTTP 错误代码及错误详情:
- 无效的请求参数
- 缺少必填字段
文档内容,文档名称,异步) - 无效的 Base64 编码
文档内容 - PDF 不包含 SwissQR 码
- 无效或缺失 API 钥匙
- API 钥匙未正确 Base64 编码 Authorization 标题
- 丢失的
Authorization: 基本的标题
- 服务器端处理错误
- PDF 处理失败
- SwissQR码识别失败
错误响应格式:
{
"error": "Error message describing what went wrong"
}
回复格式详情
重要的: 这 API 总是返回 JSON 使用结构化的SwissQR码数据。
响应结构:
{
"fileName": "string", // PDF filename
"mimeType": "string", // MIME type
"fileSize": number, // File size in bytes
"success": boolean, // Success indicator
"swissQrCodeData": { // SwissQR code data object
"amount": "string", // Payment amount
"currency": "string", // Currency code
"iban": "string", // IBAN
"creditorName": "string", // Creditor name
"paymentReference": "string", // Payment reference
"dueDate": "string", // Due date (optional)
"purpose": "string" // Payment purpose (optional)
}
}
Content-Type 标题:
- 成功:
application/json
未找到 SwissQR 码:
如果未找到 SwissQR 码 PDF该回应可能表明 success: false 或者 swissQrCodeData 字段可能为空或为 null。
请求示例
标题
Content-Type: application/json
Authorization: Basic YOUR_BASE64_ENCODED_API_KEY
笔记:
- 获得你的 API 钥匙 PDF4me 仪表板
- 这 API 关键必须是 Base64 编码后以“Basic”为前缀 Authorization 标题
- 例如:如果你的 API 关键是
abc123将其编码为 Base64 并使用Authorization: Basic YWJjMTIz
有效载荷
例子:
{
"docContent": "JVBERi0xLjQKJeLjz9MKMSAwIG9iago8PAovVHlwZSAvQ2F0YWxvZwovUGFnZXMgMiAwIFIKPj4KZW5kb2JqCjIgMCBvYmoKPDwKL1R5cGUgL1BhZ2VzCi9LaWRzIFszIDAgUl0KL0NvdW50IDEKPD4KZW5kb2JqCjMgMCBvYmoKPDwKL1R5cGUgL1BhZ2UKL1BhcmVudCAyIDAgUgovTWVkaWFCb3ggWzAgMCA2MTIgNzkyXQovUmVzb3VyY2VzIDw8Ci9Gb250IDw8Ci9GMSA0IDAgUgo+Pgo+PgovQ29udGVudHMgNSAwIFIKPj4KZW5kb2JqCjQgMCBvYmoKPDwKL1R5cGUgL0ZvbnQKL1N1YnR5cGUgL1R5cGUxCi9CYXNlRm9udCAvSGVsdmV0aWNhCj4+CmVuZG9iago1IDAgb2JqCjw8Ci9MZW5ndGggNDQKPj4Kc3RyZWFtCkJUCi9GMSAxMiBUZgoxMDAgNzAwIFRkCihIZWxsbyBXb3JsZCkgVGoKRVQKZW5kc3RyZWFtCmVuZG9iagp4cmVmCjAgNgowMDAwMDAwMDAwIDY1NTM1IGYgCjAwMDAwMDAwMDkgMDAwMDAgbiAKMDAwMDAwMDA1NCAwMDAwMCBuIAowMDAwMDAwMTAxIDAwMDAwIG4gCjAwMDAwMDAxNzAgMDAwMDAgbiAKMDAwMDAwMDI0NCAwMDAwMCBuIAp0cmFpbGVyCjw8Ci9TaXplIDYKL1Jvb3QgMSAwIFIKPj4Kc3RhcnR4cmVmCjM0MQolJUVPRg==",
"docName": "invoice.pdf",
"async": true
}
代码示例
这 PDF4me 读取 SwissQR 码 REST API 提供多种编程语言的代码示例。请选择最适合您开发环境的语言:
- C#
- Java
- JavaScript
- Python
- Salesforce
- n8n
- Google Script
- AWS Lambda
行业应用案例及应用
- Finance & Banking
- Business & Enterprise
- Government & Compliance
金融与银行业应用案例
- 发票处理从瑞士提取支付信息 QR 用于自动支付处理的发票
- 银行一体化将 SwissQR 码读取功能集成到银行应用程序和支付系统中
- 支付自动化简化支付流程并减少手动数据录入
- 账单处理瑞士自动化 QR 账单处理和付款验证
- 付款对账:实现支付匹配和对账流程自动化
- 财务报告从瑞士提取支付数据 QR 财务报告和分析规范
商业及企业应用案例
- 发票管理:实现发票处理和付款跟踪自动化
- 会计系统将 SwissQR 码读取功能集成到会计系统中 ERP 系统
- 财务文件处理包含瑞士法郎的财务文件 QR 代码
- 支付集成:整合瑞士 QR 将代码导入现有的支付处理系统
- 数字化转型:实现支付处理工作流程现代化
- 业务流程自动化:实现企业运营支付工作流程自动化
政府及合规应用案例
- 合规管理确保遵守瑞士银行业法规和支付标准
- 监管合规瑞士流程 QR 监管合规和审计规范
- 政府支付:处理瑞士政府付款文件 QR 代码
- 财务合规确保遵守瑞士金融法规