Buat Tagihan SwissQR API
Fungsi dari endpoint ini
PDF4me Buat Tagihan SwissQR menghasilkan Swiss QR slip pembayaran yang sesuai dengan peraturan Swiss QR-standar tagihan (Standar Pembayaran Swiss, SPS) melalui satu REST Telepon. Kirim rincian kreditur dan debitur akhir, IBAN, jumlah, mata uang, jenis referensi, bahasa, gaya pemisah, dan format keluaran.Secara opsional, sertakan dokumen sumber sebagai Base64, ID blob, atau URL untuk menempatkan selip di atas yang sudah ada. PDF. Itu API pengembalian PDF, PNG, JPEG, atau TIFF tergantung pada formatType.
Memverifikasi Identitas Anda API Meminta
Setiap PDF4me REST API panggilan harus menyertakan Anda API kunci di Authorization Header. Buat atau pilih kunci dari dasbor pengembang dan rahasiakan.
Titik akhir
/api/v2/CreateSwissQrBillFakta Penting yang Tidak Boleh Anda Lewatkan
mereka akan pergi harus dimulai dengan CH diikuti oleh 19 digit. Tidak valid IBAN Mengembalikan kesalahan.crAddressType Dan udAddressType ke S Jadi, jalan, nomor rumah, kode pos, dan kota disimpan secara terpisah. Tata letak ini diperlukan untuk sebagian besar rekonsiliasi bank Swiss otomatis. Gunakan K (Gabungan) hanya jika Anda tidak dapat memisahkan komponen alamat.NON untuk pembayaran tanpa referensi terstruktur. QRR untuk referensi numerik 27 digit pada uang kertas domestik Swiss. SKOR untuk ISO 11649 Referensi kreditur. Sertakan referensi di dalam tubuh saat digunakan QRR atau SCOR.REST API titik akhir
Metode: POS
URL: https://api.pdf4me.com/api/v2/CreateSwissQrBill
Mengatur IsAsync ke BENAR (PascalCase) untuk 202 Accepted dan jajak pendapat Lokasi URL dengan GET sampai Anda menerima 200 dan berkas di JSON. Menggunakan PALSU untuk sinkron 200 tanggapan.
Pengaturan permintaan Postman
| Pengaturan | Nilai |
|---|---|
| Method | POST |
| URL | https://api.pdf4me.com/api/v2/CreateSwissQrBill |
| Headers | Content-Type: application/json |
| Authorization | Basic Auth with your API key, or header Authorization: Basic YOUR_API_KEY |
| Async | If the response is 202, poll the URL in the Location header (GET) until you get 200 and the file bytes (or JSON with document fields, depending on API version). |
Parameter
Selalu diperlukan: mereka akan pergi, crName, crAddressType, crJalanAtauAlamatBaris1, crJalanAtauAlamatBaris2, Kode Pos cr, Kota cr, jumlah, mata uang, udName, udAddressType, udStreetOrAddressLine1, udStreetOrAddressLine2, Kode Pos ud, Kota ud, tipe referensi, Jenis bahasa, garis pemisah, formatType, Dan IsAsync.
Bersyarat: Konten dokumen Dan Nama dokumen saat ditambahkan di atas PDF; referensi Kapan tipe referensi adalah QRR atau SKOR; Opsi penomoran halaman Dan Nomor halaman Kapan formatType adalah PDF.
Opsional: pesan tidak terstruktur, Informasi penagihan, av1, av2, profil.
| Parameter | Diperlukan | Berlaku saat | Apa fungsinya? | Contoh |
|---|---|---|---|---|
docContent | Conditional | Overlay on existing PDF | Omit or empty string = standalone QR slip only. Otherwise Base64 PDF/image bytes (no data: prefix), blob id from POST /api/v2/UploadBlob, or HTTPS URL to the source file. | "" |
docName | Conditional | With docContent | File name for input/output context. Omit or empty when no source document. | invoice.pdf |
iban | Yes | Every request | Creditor Swiss IBAN. | CH0200700110003765824 |
crName | Yes | Every request | Creditor name or company as registered with the bank. | Test AG |
crAddressType | Yes | Every request | S = structured (street + building) or K = combined address lines. | S |
crStreetOrAddressLine1 | Yes | Every request | If S: street name (max ~70 chars). If K: first address line. | Test Strasse |
crStreetOrAddressLine2 | Yes | Every request | If S: house number (max ~16). If K: second address line. | 1 |
crPostalCode | Yes | Every request | Creditor postal code (max ~16). | 8000 |
crCity | Yes | Every request | Creditor city (max ~35). | Zurich |
amount | Yes | Every request | Payment amount without leading zeros (string). Example: "1000" = 1000.00. | 1000 |
currency | Yes | Every request | CHF or EUR. | CHF |
udName | Yes | Every request | Ultimate debtor name or company (required by API; may be empty strings if unused). | Test Debt AG |
udAddressType | Yes | Every request | S or K; same rules as crAddressType. | S |
udStreetOrAddressLine1 | Yes | Every request | Debtor street or address line 1. | Test Deb Strasse |
udStreetOrAddressLine2 | Yes | Every request | Debtor street number or address line 2. | 2 |
udPostalCode | Yes | Every request | Debtor postal code. | 8000 |
udCity | Yes | Every request | Debtor city. | Zurich |
referenceType | Yes | Every request | NON = no reference, QRR = QR reference, SCOR = creditor reference. | NON |
reference | Conditional | referenceType = QRR or SCOR | Required for QRR or SCOR; max 27 characters. Omit for NON. | 21000000000313947143000017 |
languageType | Yes | Every request | English, German, French, or Italian. | English |
seperatorLine | Yes | Every request | API spelling is seperatorLine (one a). LineWithScissor, DottedLine, or SolidLine. | LineWithScissor |
formatType | Yes | Every request | Output format: pdf, png, jpeg, tiff, or null (default PDF behavior). | pdf |
pagingOptions | Conditional | formatType = pdf | first, last, AddPageAtEnd, or custom. Omit or null for non-PDF formats. | first |
pageNumber | Conditional | pagingOptions = custom | Integer >= 1; single page index when pagingOptions is custom. | 1 |
unstructuredMessage | No | Optional | Free-form payment note. Max 140 characters. | Thank you for your business |
billingInfo | No | Optional | Customer billing information. | Invoice for services rendered |
av1 | No | Optional | Alternative scheme parameter 1. | |
av2 | No | Optional | Alternative scheme parameter 2. | |
profiles | No | Optional | Custom API profile JSON string. See API documentation for profile options. | { "someOption": true } |
IsAsync | Yes | Every request | PascalCase IsAsync. true = HTTP 202 and poll Location. false = synchronous HTTP 200. | true |
Opsi jenis alamat
Berlaku untuk crAddressType Dan udAddressType.
S (Terstruktur)Direkomendasikan untuk rekonsiliasi otomatisK (Gabungan)Dua baris alamat bebas bentukOpsi garis pemisah (seperatorLine)
GarisDenganGuntingGaris Putus-putusGaris PadatOpsi tipe referensi
NONTidak ada referensi terstrukturpesan tidak terstruktur untuk catatan bentuk bebas sebagai gantinya referensi.QRRReferensi QR 27 digitreferensi sebagai string numerik 27 digit.SKORReferensi kreditor ISO 11649referensi di dalam ISO 11649 format (dimulai dengan RF).Format keluaran (formatType) Dan PDF panggilan
Kapan formatType adalah PDF, mengatur Opsi penomoran halaman untuk mengontrol di mana QR slip ditempatkan. Untuk keluaran gambar, hilangkan Opsi penomoran halaman atau atur ke batal.
formatType: pdfpagingOptions: firstformatType: pdfpagingOptions: lastformatType: pdfpagingOptions: AddPageAtEndformatType: pdfpagingOptions: custom + pageNumberformatType: png | jpeg | tiffpagingOptions: nullBidang keluaran
| Bidang | Jenis | Isi di dalamnya |
|---|---|---|
docName | String | Output file name. |
docContent | Base64 | Generated file (PDF or image per formatType). Decode before saving or streaming. |
Minta contoh
Contoh A: Mandiri QR tagihan (tanpa masukan) PDF)
Hilangkan Konten dokumen atau kirim string kosong untuk hanya menghasilkan QR slip pembayaran.
{
"docContent": "",
"docName": "",
"iban": "CH0200700110003765824",
"crName": "Test AG",
"crAddressType": "S",
"crStreetOrAddressLine1": "Test Strasse",
"crStreetOrAddressLine2": "1",
"crPostalCode": "8000",
"crCity": "Zurich",
"amount": "1000",
"currency": "CHF",
"udName": "Test Debt AG",
"udAddressType": "S",
"udStreetOrAddressLine1": "Test Deb Strasse",
"udStreetOrAddressLine2": "2",
"udPostalCode": "8000",
"udCity": "Zurich",
"referenceType": "NON",
"languageType": "English",
"seperatorLine": "LineWithScissor",
"formatType": "pdf",
"pagingOptions": "first",
"IsAsync": true
}
Contoh B: Hamparan QR pada yang sudah ada PDF (Base64)
Mengganti Konten dokumen dengan milikmu PDF sebagai Base64 (TIDAK data: awalan).
{
"docContent": "JVBERi0xLjQKJeLjz9MKMy...",
"docName": "invoice.pdf",
"iban": "CH0200700110003765824",
"crName": "Test AG",
"crAddressType": "S",
"crStreetOrAddressLine1": "Test Strasse",
"crStreetOrAddressLine2": "1",
"crPostalCode": "8000",
"crCity": "Zurich",
"amount": "1000",
"currency": "CHF",
"udName": "Test Debt AG",
"udAddressType": "S",
"udStreetOrAddressLine1": "Test Deb Strasse",
"udStreetOrAddressLine2": "2",
"udPostalCode": "8000",
"udCity": "Zurich",
"referenceType": "NON",
"languageType": "English",
"seperatorLine": "LineWithScissor",
"formatType": "pdf",
"pagingOptions": "custom",
"pageNumber": 1,
"IsAsync": true
}
Contoh C: Salin-tempel valid JSON
{
"docContent": "",
"docName": "",
"iban": "CH0200700110003765824",
"crName": "Test AG",
"crAddressType": "S",
"crStreetOrAddressLine1": "Test Strasse",
"crStreetOrAddressLine2": "1",
"crPostalCode": "8000",
"crCity": "Zurich",
"amount": "1000",
"currency": "CHF",
"udName": "Test Debt AG",
"udAddressType": "S",
"udStreetOrAddressLine1": "Test Deb Strasse",
"udStreetOrAddressLine2": "2",
"udPostalCode": "8000",
"udCity": "Zurich",
"referenceType": "NON",
"languageType": "English",
"seperatorLine": "LineWithScissor",
"formatType": "pdf",
"pagingOptions": "first",
"IsAsync": true
}
Muatan tipe referensi
Tidak ada referensi (NON):
{ "referenceType": "NON" }
Referensi QR (QRR):
{
"referenceType": "QRR",
"reference": "21000000000313947143000017"
}
Referensi kreditur (SCOR, ISO 11649):
{
"referenceType": "SCOR",
"reference": "RF18539007547034"
}
Cuplikan formatType dan pagingOptions
{ "formatType": "png", "pagingOptions": null }
{ "formatType": "pdf", "pagingOptions": "last" }
{ "formatType": "pdf", "pagingOptions": "AddPageAtEnd" }
{ "formatType": "pdf", "pagingOptions": "custom", "pageNumber": 1 }
Contoh kode
Contoh integrasi
Pola integrasi REST umumTypical ways developers call Create SwissQR Bill.
- Sistem ERP Anda mengekspor data faktur dan file PDF.
- Encode PDF ke dalam Base64
Konten dokumen. - Kolom pembayaran POST dengan
tipe referensiQRR dan 27 digitreferensi. - Dekode
Konten dokumendari respons tersebut dan simpan atau kirim email PDF tagihan QR.
- Untuk slip yang bisa disobek saja, POST dengan kosong
Konten dokumenDanformatTypepdf atau png. - Untuk faktur dari webhook, encode PDF ke dalam format Base64.
Konten dokumen, mengaturOpsi penomoran halamanketerakhirataukebiasaan, dan kolom pembayaran POST. - Uraikan responsnya
Konten dokumendan mengunggah ke penyimpanan objek atau melampirkannya ke API email.