تبدیلیوں کا ریکارڈ
ستمبر 2026
10 ستمبر
HTML فارم اب دستخط شدہ کنٹینر بھیجتا ہے۔ انوائس کی الگ الگ فیلڈز کے بجائے — data (JSON کا base64url) اور signature (data اسٹرنگ کا HMAC-SHA256)۔ endpoint اب invoices/createFromForm کے بجائے invoices/form ہے۔ پرانے فارم اب کام نہیں کرتے اور انہیں دوبارہ بنانا ضروری ہے: HTML فارم کا دستخط دیکھیں۔
8 ستمبر
Webhook کی باڈی میں عددی فیلڈز اب نمبرز ہیں۔ چھ فیلڈز جو پہلے اسٹرنگز کے طور پر جاتی تھیں، اب نمبرز کے طور پر جاتی ہیں: project.commissionRate، invoice.commissionFiatUSD، invoice.amountFiatUSD، invoice.amountFiat، invoice.calcAmountFiat، payment.amount۔ فیلڈز کا مجموعہ، ان کے نام اور ان کی ترتیب نہیں بدلی۔
یاد رکھیں: آخر کے صفر ختم ہو جاتے ہیں، اس لیے 10.00 کی رقم 10 کے طور پر آتی ہے۔ 0.0001 سے کم رقمیں exponential نوٹیشن میں آتی ہیں، مثال کے طور پر 1.0e-6 — معیاری JSON پارسنگ درست نمبر دیتی ہے؛ صرف اسٹرنگ کی دستی پارسنگ ٹوٹتی ہے۔
رول آؤٹ سے پہلے بنی اور ابھی تک نہ پہنچی اطلاعات پرانے فارمیٹ میں آتی ہیں۔ جب تک قطار خالی نہ ہو جائے، وصول کنندہ کو دونوں صورتیں قبول کرنی چاہییں — اس میں دو دن سے زیادہ نہیں لگتے۔
6 ستمبر
API کے جوابات میں عددی فیلڈز اب نمبرز ہیں۔ اس کا اثر invoices/list، payments/list اور invoices/create پر ہے۔
| فیلڈ | پہلے | اب |
|---|---|---|
commissionFiatUSD | "0.10" | 0.1 |
amountFiatUSD | "10.00" | 10 |
amountFiat | "1000.00" | 1000 |
views | "0" | 0 |
payment.amount | "10.500000000" | 10.5 |
پروجیکٹ تک محدود کلید اب تمام میتھڈز میں پابندی لاگو کرتی ہے۔ پہلے کچھ میتھڈز پروجیکٹ کو نظر انداز کرتے تھے۔ اب فہرست والے میتھڈز میں یہ فلٹر ہے، اور سرور کسی دوسرے پروجیکٹ کی انوائس یا والٹ کی درخواست کو Restricted project کے ساتھ رد کر دیتا ہے۔ جو میتھڈ پروجیکٹ کی پابندی کا لحاظ نہیں رکھ سکتا، وہ ایسی کلید کے لیے بند ہے۔ تفصیلات «کلید کا دائرہ» سیکشن میں ہیں۔
ادائیگیوں کی فہرست اب غیر منسلک ادائیگیاں بھی واپس کرتی ہے۔ پہلے payments/list صرف وہ ادائیگیاں واپس کرتا تھا جو کسی انوائس سے منسلک تھیں۔ اب نتائج میں آپ کے تمام والٹس کی تمام ادائیگیاں شامل ہیں؛ غیر منسلک ادائیگی میں invoice آبجیکٹ نہیں ہوتا۔ یہی وہ ادائیگیاں ہیں جو invoices/bindPayment کے ذریعے دستی طور پر منسلک کرنے کے لیے درکار ہیں۔
انوائس کی منسوخی اب انکار کی وجوہات میں فرق کرتی ہے۔ پہلے انوائس کی عدم موجودگی اور پوری نہ ہونے والی شرائط، دونوں پر عمومی Invoice not found واپس آتا تھا۔ اب Invoice not found کا مطلب صرف یہ ہے کہ انوائس موجود نہیں، جبکہ پوری نہ ہونے والی شرائط پر Invoice cannot be canceled واپس آتا ہے۔
غلط شناخت کنندگان اب رد ہو جاتے ہیں۔ invoices/list میں invoiceId، invoiceUid اور projectId کی جانچ ہوتی ہے؛ payments/list میں — walletId اور invoiceId کی۔ غیر موزوں قدر پر فیلڈ کے نام کے ساتھ Parameter is filled in incorrectly واپس آتا ہے۔ پہلے ایسا پیرامیٹر خاموشی سے نظر انداز ہو جاتا تھا اور نتائج بغیر فلٹر کے واپس آتے تھے۔
مدت کی حدود میں اب پورا مذکورہ دن شامل ہوتا ہے۔ startDate اور endDate کا مطلب 00:00:00 سے 23:59:59 تک ہے۔ پہلے آخری دن مکمل طور پر کٹ جاتا تھا، اور ایک دن کی کوئری صرف وہی ریکارڈ واپس کرتی تھی جو ٹھیک آدھی رات کو بنے تھے۔ اس کا اثر invoices/list، payments/list، statistics/invoices اور statistics/payments پر ہے۔
بیلنس کی ہسٹری میں اب پروجیکٹ کی فیلڈ ہے۔ billing/history میتھڈ میں ہر آپریشن کے ساتھ اب projectId فیلڈ آتی ہے۔ اکاؤنٹ کی سطح کے آپریشنز — ٹاپ اپس اور بونسز — کے لیے یہ null ہوتی ہے۔
4 ستمبر
تفصیل اور سروس ڈیٹا اپنی اصل شکل میں واپس آتے ہیں۔ description اور serviceData فیلڈز پہلے انکوڈ شدہ شکل میں محفوظ ہوتی تھیں، اور API کے جوابات میں کوٹیشن مارک " کی صورت میں اور less-than کا نشان < کی صورت میں آتا تھا۔ اب بالکل وہی واپس آتا ہے جو تاجر نے بھیجا تھا۔ HTML میں دکھاتے وقت قدر کو اپنی طرف escape کریں۔
HTML فارمز صرف POST قبول کرتے ہیں۔ ایڈریس بار میں پیرامیٹرز والے لنک پر جا کر انوائس بنانا اب کام نہیں کرتا — سروس پیرامیٹرز صرف درخواست کی باڈی سے پڑھتی ہے۔ اگر آپ لنکس استعمال کرتے تھے، تو انہیں method="post" والے فارم سے بدل دیں۔
3 ستمبر
Webhook اطلاعات پر اب دستخط ہوتا ہے۔ اب X-Timestamp اور X-Signature ہیڈرز بھی آتے ہیں؛ دستخط کا حساب Webhook کی خفیہ کلید پر HMAC-SHA256 سے ہوتا ہے۔ دستخط کی جانچ سے آپ اصل اطلاع کو جعلی سے الگ پہچان سکتے ہیں۔ طریقہ کار اور مثالیں «Webhook کے دستخط کی جانچ» سیکشن میں ہیں۔
یہ تبدیلی پچھلے ورژن کے ساتھ مطابقت رکھتی ہے: اگر آپ جانچ شامل نہیں کرتے، تو آپ کا ہینڈلر پہلے کی طرح کام کرتا رہتا ہے۔