Changelog
Ada kabar baru.
Setiap perbaikan pada platform, sebagai kapal.
· kamo-shared-library
Daftar daftar tinjauan, reaksi alergi / keparahan, alasan status, diagnosis urutan, catatan tinjauan hasil
- ClinicalListReview (fhir_chart_list_review): sebuah real reviewed-at rekaman untuk alergi dan daftar obat-obatan, jadi 'reviewed' berhenti berarti 'setidaknya satu baris ada' - AllergyIntolerance: reaction_text, reaction_severity, status_reason; findActiveForChecking sekarang mengecualikan asersi NKDA (dan baris yang dibantah); findActiveNoKnownAllergy / findActiveRecord - Condition.status_reason, Observation.status_reason, ServiceRequest.reason_codes, DiagnosticReport.review_note - EncounterDiagnosisRepository; **************** (Vitals flowsheet)
· kamo-shared-library
Jadwal entitas untuk jam praktek, kamar, pembayaran meja dan mengingat outreach
- PracticeSettings (ehr_practice_settings): zona waktu praktik dan panjang kunjungan default - PracticeRoom (ehr_practice_room): ruangan dimana pasien ditempatkan; pensiun, tidak pernah dihapus - PatientPayment (ehr_patient_payment): pembayaran meja tercatat (tidak pernah diproses), dibatalkan dengan alasan - RecallOutreach (ehr_recall_outreach): tercatat upaya kontak terhadap sebuah pengingat - janji: room_id, rescheduled_from_id / rescheduled_to_id, checked_out_by_member_id - ScheduleBlock: label untuk waktu terblokir (makan siang, rapat, liburan) - PatientRecallRepository: countDue / countOverdue; WaitlistEntryRepository: findCandidatesAnyType (UUID kosong dalam ':x IS NULL' mencapai Postgres tanpa tipe) - PhiResourceType: PATIENT_RECALL, PATIENT_PAYMENT ditambahkan
· kamo-shared-library
Catatan pendaftaran kantor depan — detail kontak, kontak darurat, penghitung MRN, bidang tulis cakupan
Pasien mendapatkan metode kontak yang disukai, anggota perawatan primer dan apotek yang disukai; kontak darurat adalah FHIR Patient.contact (fhir_patient_contact, pensiun tidak dihapus); telekomunikasi dan alamat gunakan tabel fhir_contact_point / fhir_address yang ada (baru repositories); PatientCommunicationRepository for the preferred language. A per-practice baris ehr_mrn_counter mengalokasikan MRN dalam satu upsert atom. pencarian pasien memperoleh given-name, hanya-tanggal-kelahiran, prefiks-dengan-tanggal-kelahiran dan pertanyaan by-id. PriorAuthorization memperoleh a deskripsi layanan dan EligibilityCheck sebuah catatan verifier. DDL diterapkan pada produksi sebelum push ini.
· kamo-shared-library
Dokumen grafik, template catatan latihan, teks baca-sisi catatan dan catatan penarikan
- PatientDocument (ehr_patient_document): kategori, judul, tanggal dokumen, isi tipe, ukuran, SHA-256, id Img pencitraan + kunci penyimpanan, uploader, masukan-dalam-kesalahan dengan siapa / kapan / mengapa. tidak pernah dihapus. - ClinicalNoteTemplate (ehr_note_template): template catatan sendiri praktik. - ClinicalNote: kolom masuk_dalam_kesalahan_di/_oleh/_sebab; tubuh arus transient, jenis versi, bendera SI, nama penulis/penandatangan/pasien untuk bacaan. - ClinicalNoteVersion: nama penulis transient. DDL diterapkan pada produksi dengan tangan (adisi).
· SecurityService
Kembalian yang nyata, keputusan tinjauan kaca pecah, pengiriman klaim yang jujur, EOB yang ditanda tangani tangan
- EhrRuleViolationException: sebuah penolakan aturan bisnis (catatan tak ditandatangani pada penutupan, pemesanan ganda, bukan penulis/penandatangan bersama, self-cosign, sudah ditandatangani, Terbatas dari perusahaan asuransi, pecah-kaca tanpa alasan, terlalu banyak ekspor, perbandingan yang ditahan) sekarang menjawab 409/422 dengan kalimat bahasa sederhananya Bukan 'Tidak ada catatan seperti itu' yang tidak jelas. - EhrExceptionHandler berjalan pada prioritas tertinggi di atas perdagangan global dan mencakup Quality, Portal admin, CCD, Bulk export dan FHIR (a Hilang tepat di sana adalah 500). - Break-glass review: barisan dengan nama plus sejarah, dan keputusan (sesuai / tidak sesuai / perlu follow-up, catatan diperlukan, tidak pernah milikmu sendiri). - Exchange partner directory for clinicians (VIEW_CHART, nama saja). - Klaim: CPT / HCPCS, modifier, ICD-10, pointer, NPI dan tempat-of-service format checks; payer and member id from the chosen coverage; a visit must be tertutup untuk bill; prosedur yang dibebankan meninggalkan baris tunggu yang tidak di-charge; draf klaim Baca untuk pengembang. ClaimTransport seam: tanpa clearinghouse, submit menandai siap dan mengatakan begitu; menandai-mengirimkan rekaman saluran, siapa dan catatan. - Remittances dapat dimasukkan dari kertas EOB, dan mengirim sekarang bergerak uang dari tidak diterapkan ke diterapkan.
· kamo-shared-library
Rekam bagaimana klaim dikirim, dan daftar akses darurat yang ditinjau
Sebuah klaim memperoleh ready_at, submission_channel, submitted_by_member_id dan submission_note, jadi klaim dikirimkan secara manual melalui portal pembayar atau di kertas direkam dengan jujur dibandingkan status flip yang berpura-pura sebagai clearinghouse Repositori bantuan pemecah kaca mendapatkan sejarah yang telah ditinjau finder daftar layar tinjauan baru di bawah baris tunggunya.
· kamo-internal
Invoice menunjukkan blok remittance Receivables, seperti kutipan
Dialog invoice membuat QuoteRemittanceBlock yang sama dengan yang digunakan oleh pratinjau quote, dari rincian Receivables penjual, sementara apa pun yang harus dibayar Switch sekarang mengatakan itu mencakup penawaran dan invoice.
· kamo-signer-monorepo
Blok remittance invoicenya sama persis dengan yang dikutip
Kepala yang sama, label dan ACH Kredit Hanya pemberitahuan (signer.quote.remit), dengan referensi nomor invoice disimpan di bawahnya.
· SecurityService
Faktura mencetak rincian Receivables ACH persis seperti kutipan
PDF dan email sekarang membawa blok remittance kutipan, kata demi kata: - Kirim pembayaran ke - penerima (nama resmi) - Bank - nomor routing (ABA) - nomor rekening - ACH kredit hanya pemberitahuan Ini diikuti oleh referensi nomor invoice dan pasar sendiri instruksi. GET **************** memberi konsol blok yang sama. seperti pada kutipan, itu muncul ketika Receivables memiliki informasi ACH dialihkan dan kedua nomor disimpan.
· kamo-internal
Ubah kursi dan lisensi dari suatu tanggal, dengan pralihat biaya proporsional
Ubah kursi & lisensi membuka dialog untuk menetapkan: - kursi dan lisensi setiap add-on (per-user lisensi mengikuti kursi sampai ditandakan di atas); - tanggal yang berdampak (hari ini, atau kemudian); - apakah biaya proporsional pergi pada invoice sendiri sekarang (bahkan di depan tanggal) atau pada perpanjangan berikutnya; - untuk pengurangan, kredit untuk bagian yang tidak digunakan. Pralihat langsung server menunjukkan periode, hari yang tersisa, setiap baris proporsional, semua biaya pemasangan, totalnya, bagaimana akan dibilkan, dan biaya berulang sebelum dan setelahnya. Perubahan yang dijadwalkan terdaftar pada langganan dan dapat dibatalkan. Menggantikan dialog duduk segera yang lama.
· SecurityService
Titik akhir untuk tanggal, kursi proporsional dan perubahan lisensi; pekerjaan menerapkannya
Titik akhir baru: - POST **************** - POST /subscriptions/{uid}/changes - GET /subscriptions/{uid}/changes - POST **************** Tugas penghitungan per jam menerapkan perubahan yang tanggalnya sudah tiba sebelum diturunkan invoices, jadi perpanjangan bill counts baru.
· kamo-shared-library
Seat dan add-on lisensi berubah di tengah periode, pada tanggal yang dipilih, proporsional
SubscriptionChangeService mencatat perubahan pada kursi subskripsi hidup dan lisensi tambahan yang berlaku pada tanggal apapun sejak hari ini. Ini memperlihatkan biaya proporsional: harga per periode setiap unit yang ditambahkan x hari tersisa / hari dalam periode yang jatuh di, misalnya Harmony +6 kursi dari 1 November = 6 x $ 124 x 17/31 = $408.00. Biaya difakturkan ketika operator memilih: draft invoice sendiri sekarang (bahkan sebelum tanggal berlaku) atau pada invoice perpanjangan berikutnya. Pada tanggal efektif pekerjaan billing menerapkan perubahan: - kursi, lisensi dan MRR dari langganan; - akses pelanggan (jumlah kursi, baris kursi, lisensi tambahan, cache); - setiap draf perpanjangan kemudian, dibangun kembali, atau diberikan garis penyesuaian jika staf memiliki Aku mengeditnya. Kasus tepi: - perubahan tepat pada hari tagihan ditanggung oleh perpanjangan itu daripada Prorated dua kali; - Pengurangan tidak dikenakan biaya dan bisa kredit bagian yang tidak digunakan pada perpanjangan berikutnya; - perubahan yang dijadwalkan bisa dibatalkan, membatalkan draf invoicenya; - biaya pemasangan untuk kursi tambahan baca perjanjian pelanggan. Jalur lama penggantian kursi sekarang melewati layanan ini. Tabel baru commerce_subscription_changes; kolom baru ****************
· kamo-internal
Status bahasa sederhana di mana-mana; harga tambahan yang disepakati dan diskon bulanan dalam wizard pemesanan
StatusChip (89 situs panggilan) menunjukkan kode mentah seperti PENDING_APPROVAL; sekarang menampilkan kata-kata kamus (common.statusCodes), atau kode yang dibacakan untuk satu tidak memiliki nama. Penapis daftar pesanan dan CSV menggunakan label yang sama. Staf dapat memasukkan harga per lisensi yang disepakati untuk setiap add-on yang dipilih dan diskon bulanan; keduanya dikirimkan sebagai addonUnitPrices / recurringDiscount dan dibilkan pada setiap invoice.
· kamo-signer-monorepo
Bayar dengan kartu di halaman invoice
Ketika server menawarkannya (platform-dijual invoice dengan saldo), invoice halaman menunjukkan bayar dengan kartu. Ia mengirimkan ke /<locale>/i/<token>/pay, yang mengirimkan pelanggan ke halaman pembayaran yang dihost Stripe (konfirmasi bank terjadi di sana) dan Seorang pelanggan yang kembali melihat pembayaran yang diakui.
· SecurityService
Pelanggan membayar invoice dengan kartu online; permintaan SCA dari bank mencapai pelanggan
Pada invoice yang dijual oleh platform org (satu-satunya penjual yang Stripe akunnya): - invoice publik menawarkan bayar dengan kartu: POST **************** membuka halaman yang dihost Stripe yang kembali ke tautan invoice yang sama (dibangun server-side, tidak pernah dari permintaan); - pembayaran direkam ketika pelanggan kembali dan oleh pekerjaan per jam, Tepat sekali. Ketika biaya otomatis membutuhkan pelanggan untuk mengkonfirmasi dengan bank mereka, mereka dikirimkan invoice dengan permintaan itu, dan pemiliknya diberitahu seperti sebelumnya.
· BillingService
Bayar tagihan langganan dengan kartu pada halaman yang dihost Stripe
Internal POST **************** menciptakan mode pembayaran Sesi checkout untuk jumlah yang harus dibayar. Ini menyimpan kartu untuk masa depan secara otomatis biaya ketika pelanggan memiliki akun, dan bank SCA konfirmasi terjadi di sana. GET /checkout/{id} melaporkan apakah itu dibayar dan dengan yang Konsumen checkout mengabaikan sesi ini.
· kamo-shared-library
Melacak pembayaran kartu daring yang menunggu invoice
Kolom nul baru **************** plus pembantu untuk daftar dan menyelesaikan sesi menunggu idempotently (pembayaran membawa referensi prosesor yang sama tidak pernah direkam dua kali).
· kamo-shared-library
Harga tambahan yang dinegosiasikan dan diskon penawaran masuk ke dalam langganan
Konversi kutipan sekarang membawa: - harga per-lisensi yang disepakati setiap add-on (ketika berbeda dari katalog) - penawaran atau diskon opsi yang diterima, sebagai jumlah bulanan berulang ( diskon periode opsi tersebar di seluruh bulannya) Pesanan mencatat keduanya dalam custom_pricing, sehingga draft reprice menyimpannya. Aktivasi menaruh harga yang disepakati pada lisensi tambahan dan diskon pada langganan (kolom nol baru **************** jadi setiap invoice MRR mencerminkannya (addonUnitPrices, recurringDiscount).
· kamo-internal
Auto-perbarui dan catatan bekerja pada langganan hidup; kartu pada berkas dan membayar kartu sekarang
- Auto-renew switch menetapkan pembaharuan langganan sendiri (itu mengirimkan sebuah bidang draft-only order update ignored) dan mengatakan kapan non-renewing satu berakhir. - Catatan menyimpan pada sebuah perintah dalam status apa pun. - Kartu-membayar langganan menunjukkan kartu pada berkas. - Akun terbukanya menawarkan Charge card sekarang dan menunjukkan mengapa kartu terakhir mencoba gagal.
· kamo-internal
Tampilkan lisensi yang dimiliki dan digunakan dimana kotak surat dan ekstensi ditugaskan
Peraturan pemilik 2026-10-22: per-pengguna add-ons bill lisensi yang dibeli, dan lisensi adalah satu-satunya batasan pada apa yang dapat digunakan. A LicenseUsageMeter ("4 dari 10 lisensi dalam penggunaan", bar animasi dalam warna merek org, sudut pita, chip peringatan dan catatan ketika sudah berakhir, link ke Rencana & Billing) membaca GET /api/billing/licenses/usage dan muncul pada: - Pengaturan > Manajemen kotak surat surel (KamoMail atau lisensi pihak ketiga) - pemilih sambungan pengaturan telepon anggota (KamoPBX atau pihak ketiga) - Rencana & Billing add-on baris Penolakan (409, kalimat bahasa sederhana server) sekarang mencapai orang: kotak-mel assignment, share-mailbox grant, kotak masuk personal assignment/IMAP save/OAuth koneksi dan callback semua menunjukkannya di panel kotak surat itu (beberapa digunakan untuk throw unhandled or say a generic failure); setiap aksi seperti itu memperbarui meter. string baru: settings.billing.licenses (kamo-translation-dictionary).
· kamo-internal
Kutipan mulai langganan; penerimaan offline; pesanan penyewa; billing bahasa sederhana
- Quotes: "Tambah dari katalog langganan" mengisi baris dari rencana hidup / add-ons (nama, bulanan harga, "per pengguna / bulan" / "per blok 10 GB / bulan") dan menyimpan referensi katalog; kutipan langganan yang diterima dikonversi melalui sebuah dialog (metode pembayaran; organisasi sasaran untuk platform saja) ke dalam pesanan langganan; "Rekor penerimaan" untuk kertas/e-mail/PO penerimaan; pratinjau dari DRAFT membawa tanda air dan setiap cetak dicatat; isian istilah {orgName} dengan nama singkat penjual. - Order wizard: target organization only for the platform org; staff-only negotiated harga per kursi dan setup-fee override. - Daftar pendaftaran: tanggal pembayaran berikutnya, saldo yang harus dibayar, lencana terlambat; satu metode pembayaran bersama label helper untuk semua enam metode. - Halaman langganan: peristiwa dalam kalimat sederhana (Aktif → Terlalu lama), nomor urutan bukan id rekamannya. - Kontak penjualan: nama, email dan telepon dibaca dari platform org melalui titik akhir sempit.
· SecurityService
Tolak departemen atau kotak surat kontak melebihi lisensi surel
Aturan pemilik 2026-10-22: per-user add-ons bill the licenses bought; berapa banyak Kotak surat yang dapat digunakan hanya dibatasi oleh mereka. Di bawah penyedia pihak ketiga, departemen yang dicapai pada kotak surat, atau informasi kontak organisasi menunjuk ke satu, memetakan ke Kamo (OrgMailboxBillingAggregator), jadi ini dua menyimpan dapat menempatkan kotak surat dalam penggunaan yang pasti sebagai menetapkannya kepada seorang anggota. - MailboxLicenseCapGuard meminta periksa lisensi internal BillingService (X-Internal-Auth) sebelum POST/PUT /api/security/departments dan PUT /org/{id} mengubah kotak surat; penolakan adalah 409 dengan kalimat di kesalahan/pesan dan alasan LICENSE_LIMIT. Menyimpan atau mengosongkan kotak surat adalah tidak pernah dicek; gangguan BillingService gagal OPEN dengan peringatan. - Pintu relay billing juga melewati GET / lisensi / penggunaan (hak yang sama dengan bacaan penggunaan lainnya).
· SecurityService
Rekam penerimaan offline, log cetak, tukar kutipan menjadi langganan
- POST **************** (SEND_QUOTES atau MANAGE_QUOTES) - POST **************** (VIEW_QUOTES atau MANAGE_QUOTES) - POST .../{uid}/convert mengambil tubuh pilihan (organisasi target, metode pembayaran); mengkonversi sebagai COMP juga membutuhkan CREATE_SUBSCRIPTION_ORDERS - POSController menolak negotiatedUnitPrice / setupFeeOverride dari pemanggil OWN-only - GET **************** nama yang dipublikasikan platform org, email kontak dan telepon, untuk dialog penjualan Kontak, bukan konstanta terkode keras
· kamo-shared-library
Kutipan diubah menjadi langganan; pesanan penyewa tidak pernah membayar penjual
- Sebuah kutipan dalam pasar SUBSCRIPTION, atau yang baris yang diterima diisi dari subskripsi katalog, diubah menjadi SubscriptionOrder (rencana, kursi dari kuantitas kutipan, tambahan dengan lisensi mereka, tarif per kursi yang diterima sebagai harga yang dinegosiasikan, biaya pemasangan pelanggan lihat, komitmen pilihan yang diterima sebagai siklus, metode pembayaran yang dipilih pada konversi). Pesanan membawa quote_uid; konversi kedua ditolak; sebuah peristiwa CONVERTED tercatat. Konversi eceran tidak berubah. - QuoteService.acceptOffline: staf mencatat penerimaan yang diberikan pada kertas/e-mail/PO — draf, dikirim, kutipan yang dilihat atau berakhir; total melalui applyOptionHeadlineTotals; nama peristiwa siapa dan mengapa. - recordPrinted mencatat peristiwa PRINTED (cetak draf mengatakan demikian). - Per-seat baris menyimpan jumlah kursi kutipan pada setiap menyimpan dan revisi; tampilan baris mengirim kuantitas baris yang dihargai. - Baris kutipan membawa catalog_ref_code / catalog_ref_uid. - Terms support {orgName}, diisi dengan nama singkat penjual di halaman pelanggan. - provisionOnApproval dan activateCompOrder memerlukan organisasi target — sebuah perintah tanpa yang digunakan untuk menyediakan langganan PELIHAN sendiri. - **************** / setupFeeOverride, diterapkan setelah calculatePrice dan diingat dalam custom_pricing sehingga draft reprice mempertahankan kesepakatan. - Pesanan dan langganan DTO membawa tanggal penerimaan berikutnya, saldo yang belum dibayar dan bendera terlambat, baca dalam dua pertanyaan per daftar.
· EmailService
Tolak kotak surat melebihi lisensi surat elektronik organisasi
Aturan pemilik 2026-10-22: per-user add-ons bill lisensi yang dibeli; berapa banyak Kotak surat yang dapat digunakan hanya dibatasi oleh mereka. Sebelum sebuah kotak surat dimasukkan ke Gunakan, BillingService's **************** diminta (X-Internal-Auth); penolakan adalah 409 membawa kalimat bahasa sederhananya (StatusReasonAdvice), misalnya "Semua 10 lisensi email pihak ketiga Anda sedang digunakan. Tambahkan lisensi di Billing untuk menghubungkan kotak surat lain." Dipaksakan, sebelum apapun ditulis: - menciptakan kotak surat (KamoMail menghitungnya sekali; pihak ketiga hanya sekali memetakan) - mengalokasikan kotak surat ke anggota - membuat kotak surat bersama, memberikan akses ke satu, menyalakan satu lagi - menghubungkan kotak masuk pribadi (simpan IMAP, persetujuan OAuth dan callback) dan mengalokasikan satu yang sudah terhubung - AI member mailbox provisioning (NOT_READY / LICENSE_LIMIT) Sebuah alamat yang sudah dihitung tidak pernah ditolak, tidak ada yang ada tidak ditugaskan, dan layanan billing gagal membuka dengan peringatan. kotak surat-tanggung jawab, shared-access dan personal-mailbox endpoints sekarang melewati status penolakan dan hukuman melalui alih-alih 500.
· VOIPService
Tolak sambungan telepon melebihi lisensi organisasi
Aturan pemilik 2026-10-22: per-user add-ons bill the licenses bought; berapa banyak ekstensi yang mungkin digunakan hanya dibatasi oleh mereka. Sebelum sebuah ekstensi ditempatkan Dalam penggunaan, BillingService's **************** adalah diminta (X-Internal-Auth); penolakan adalah 409 yang membawa bahasa biasa kalimat (LicenseCapAdvice), misalnya "Semua 10 lisensi telepon pihak ketiga Anda adalah sedang digunakan. Tambahkan lisensi di Billing untuk menetapkan ekstensi lain." Dipaksakan, sebelum apapun ditulis: - PUT /api/voip/member/{id}/config (setting telepon anggota), menamai ekstensi anggota memegang sekarang sehingga sebuah gerakan pada sistem pihak ketiga adalah gratis - POST **************** (extension baru; KamoPBX counts setiap yang aktif, pihak ketiga hanya satu yang ditugaskan) - PUT **************** ketika hasilnya adalah AKTIV - AI penyediaan jalur suara (NOT_READY / LICENSE_LIMIT) Sebuah ekstensi yang sudah dihitung tidak pernah ditolak, tidak ada yang ada tidak ditugaskan, dan gangguan BillingService gagal OPEN dengan peringatan.
· BillingService
Pemeriksaan penggunaan lisensi dan lisensi per-unit untuk tambahan per-pengguna
Aturan pemilik 2026-10-22: setiap per-pengguna add-on bills lisensi yang dibeli, seperti kursi; berapa banyak kotak surat atau ekstensi yang dapat digunakan dibatasi hanya oleh mereka. - GET /api/billing/licenses/usage (session, X-Org-Id): per add-on code (EMAIL_3P_INTEGRATION, EMAIL_HOSTING, PBX_3P_INTEGRATION, PBX_HOSTING) the lisensi yang dimiliki, dalam penggunaan, tersedia, over-by, dan apakah org dibebaskan. - Dapatkan **************** dijaga oleh X-Internal-Auth (waktu konstan dibandingkan dengan billing.internal-auth-secret), untuk EmailService dan VOIPService untuk bertanya sebelum menempatkan satu unit lagi dalam penggunaan. - Lisensi = AddOnLicenses.licensed di atas langganan utama active_addon_codes / addon_quantities (atau rencana yang termasuk add-on); kunci __mailboxes:/__extensions: yang disediakan tidak pernah dibaca sebagai lisensi. Dalam penggunaan = OrgMailboxBillingAggregator / OrgPbxBillingAggregator, menghitung setiap malam Bill menggunakannya. - Platform org dan OWNER_UNLIMITED dibebaskan; PAID dan COMP dibatasi; TRIAL, GRATIS dan tidak ada langganan yang tersisa untuk gerbang hak yang ada. - Hanya perubahan yang ADDS satu unit melewati lisensi ditolak; satu unit sudah Dihitung, atau gerakan tambahan pihak ketiga yang membebaskan satu, selalu berjalan.
· SecurityService
Titik akhir untuk mengatur pembaharuan otomatis langganan dan catatan pesanan pada status apapun
· kamo-shared-library
Hidupkan atau matikan pembaharuan untuk langganan aktif; catatan pada setiap pesanan
Switch auto-renew konsol mengirimkan sebuah medan yang tidak dilakukan pembaruan pesanan draft-only tidak pernah, jadi tidak pernah disimpan; dan catatan gagal pada urutan manapun setelah draf.
· SecurityService
Pelanggan kartu dikenakan biaya secara otomatis pada hari penghitungan
Untuk langganan AUTO_BILL pekerjaan billing membayar setiap invoice yang disetujui ke kartu yang disimpan pelanggan pada hari billing melalui kartu internal BillingService titik akhir, rekaman pembayaran (metode CARD, referensi = PaymentIntent) dan coba lagi jika gagal mengisi setiap tiga hari hingga empat kali menyetujui dan mengirimkan invoice yang hari penerimaan telah tiba Pertama, jadi email pelanggan adalah tanda terima. Titik akhir baru: - POST **************** - Dapatkan ****************

Alam semestamu menunggu.
Mulai gratis dalam beberapa menit. Tambahkan produk kapanpun Anda siap — tidak ada migrasi, tidak ada login baru.
Gratis selamanya — tidak diperlukan kartu kredit