پرش به محتویات

رزرو پین کد شارژ

آدرس سرویس: POST https:/carbon/v2.1/charge_service/voucher_reserve


شرح

این سرویس جهت رزرو پین کد شارژ همراه مورد استفاده قرار می گیرد.


نکات بسیار مهّم :

1) شرط موفق بودن تراکنش دریافت کد 0 در فیلد Status و موجود بودن مقدار عددی صحیح در فیلد tracking_number و خالی بودن فیلد errors می‌باشد.

2) در صورتی که کد پاسخ دریافت شده در فیلد Status غیر 0 باشد و فیلد error_code داخل شی errors عدم قطعیت در خصوص وضعیت تراکنش را اعلام کند لازم است با استفاده از سرویس‌های استعلام وضعیت درخواست مقدار صحیح تراکنش استعلام گردد. مانند کد خطای 5000 و 3000 و ... (کدهای خطایی که نیازمند استعلام وضعیت تراکنش می‌باشند در جدول شماره 2 مشخص شده‌اند. «ستون فراخوانی سرویس استعلام»)

3) باید توجه داشته باشیم که در صورت هر پاسخی غیر از 0 در فیلد Status حتماً فیلد errors و فیلد error_code داخل آن دارای مقدار صحیح خواهد بود.

نمونه مقدار فیلد errors به شکل ذیل است:


"errors": {
    "error_code": "8002",
    "error_description": "Transaction failed : Provider Error",
    "reference_name": "Mobile no is inactive or not registered.",
    "original_value": "charge error"
}

لذا در صورت دریافت هرگونه پاسخ غیر از 0 در فیلد Status که مقدار فیلد errors شامل مقدار نباشد و یا فیلد error_code داخل شی errors مقدار نداشته باشد باید به عنوان پاسخ غیر قطعی در نظر گرفته شود و برای مشخص شدن وضعیت صحیح تراکنش می‌بایست سرویس استعلام وضعیت تراکنش فراخوانی گردد.

Headers

مقادیر زیر باید در هدر قرار بگیرد

  Authorization : Bearer {Token}
  clientAddress : client IP
  

توجه : برای دریافت توکن مربوطه به بخش توکن مراجعه فرمایید

توضیحات

  • Authorization: در این قسمت توکن دریافت شده از سرویس توکن را وارد نمایید
  • clientAddress: آی پی مشتری نهایی که سرویس را دریافت کرده است .

    Parameters

    • request_number(نوع داده عددی):(اجباری) این شناسه جهت پیگیری های بعدی مورد استفاده قرار می گیرد و پیشنهاد میگردد یه شناسه یکتا به ازای هر درخواست توسط سامانه مشتری تولید و به این سرویس ارسال گردد. سامانه ابری کربن هیچ کنترلی بر روی عدم تکراری بودن این مقدار انجام نمی دهد.

    • voucher_count (نوع داده عددی):(اجباری) تعداد پین کد

    • merchant_name(نوع داده عددی):(اجباری) نام برند

    • card_number (نوع داده عددی):(اجباری) شماره کارت خرید کننده شارژ

    • channel_type (نوع داده عددی):(اجباری) نوع درگاه در جدول ذیل نمایش داده شده است

    • bank_id (نوع داده عددی):(اجباری) نوع بانک

    • national_code (نوع داده عددی):(اجباری) کد ملی خریدار

    • product_id (نوع داده عددی):(اجباری) کد محصول

    • amount (نوع داده عددی):(اجباری) مبلغ شارژ

    نمونه درخواست:

    curl --location --request POST '/carbon/v2.1/charge_service/voucher_reserve' \
    --header 'Authorization: Bearer ....' \
    --header 'Content-Type: application/json' \
    --data-raw '{
        "merchant_name": "....",
        "card_number": "....",
        "channel_type": "....",
        "request_number": "....",
        "bank_id": "....",
        "national_code": "....",
        "product_id": "....",
        "amount":"....",
        "voucher_count":"...."
    }
    
    
    

    لیست محصولات (کد محصول و مبلغ)

    کد محصول اپراتور نام سرویس
    ۵۵ایرانسلایرانسل ۱۰۰۰۰۰ ریالی
    ۵۶ایرانسلایرانسل ۲۰۰۰۰۰ ریالی
    ۱۱۲ایرانسلایرانسل ۵۰۰۰۰۰ ریالی
    ۱۱۳ایرانسلایرانسل ۱۰۰۰۰۰۰ ریالی
    ۶۹همراه اولهمراه اول ۵۰۰۰۰ ریالی
    ۷۰همراه اولهمراه اول ۱۰۰۰۰۰ ریالی
    ۷۱همراه اولهمراه اول ۲۰۰۰۰۰ ریالی
    ۱۱۰همراه اولهمراه اول ۵۰۰۰۰۰ ریالی
    ۱۱۱همراه اولهمراه اول ۱۰۰۰۰۰۰ ریالی
    ۷۷رایتلرایتل ۲۰۰۰۰ ریالی
    ۷۸رایتلرایتل ۵۰۰۰۰ ریالی
    ۷۹رایتلرایتل ۱۰۰۰۰۰ ریالی
    ۸۰رایتلرایتل ۲۰۰۰۰۰ ریالی
    ۸۱رایتلرایتل ۵۰۰۰۰۰ ریالی
    115تالیاتالیا ۲۰۰۰۰ ریالی
    116تالیاتالیا ۵۰۰۰۰ ریالی
    117تالیاتالیا ۱۰۰۰۰۰ ریالی
    118تالیاتالیا ۲۰۰۰۰۰ ریالی

    لیست درگاه ها

    کد نوع درگاه
    02ATM
    03Branch
    07Telephone Bank / IVR
    13Info Kiosk
    14POS
    59Internet
    05Mobile Application
    06USSD

    لیست بانک ها

    نام بانک کد بانک نام بانک کد بانک
    بانک ملی۱۷ بانک ملت۱۲
    بانک پاسارگاد۵۷ بانک سامان۵۶
    بانک سپه۱۵ بانک کشاورزی۱۶
    بانک رسالت۷۰ بانک تجارت۱۸
    بانک صادرات۱۹ بانک اقتصاد نوین۵۵
    بانک رفاه۱۳ بانک مسکن۱۴
    بانک آینده۶۲ بانک دی۶۶
    بانک سینا۵۹ بانک پارسیان۵۴
    بانک کارآفرین۵۳ موسسه اعتباری ملل۷۵
    بانک ایران زمین۶۹ بانک صنعت و معدن۱۱
    بانک سرمایه۵۸ بانک توسعه صادرات۲۰
    بانک شهر۶۱ موسسه اعتباری نور۸۰
    بانک خاورمیانه۷۸ موسسه اعتباری توسعه۵۱
    بانک پست ایران۲۱ بانک قرض الحسنه مهر ایران۶۰
    بانک ایران ونزوئلا۹۵ بانک گردشگری۶۴
    سایر۹۹ کیف پول۱

    جواب موفق:

    {
        "status": "0",
        "message": "تراکنش با موفقیت انجام شد",
        "timestamp": "....",
        "tracking_number": "....",
        "request_number": "....",
        "result": 
            {
                "reserve_number": "...."   
            },
        "transaction_details": {
            "available_wallet_balance": "49375",
            "provider_name": "....",
            "service_price": "19500",
            "curency": "IRR",
            "remaining_number_of_calls": "999935",
            "remaining_number_of_calls_day": "999982"
        },
        "errors": {}
    }
    
    
    

    جواب ناموفق:

    {
        "status": "1",
        "message": "تراکنش ناموفق",
        "timestamp": "2023-02-08 00:42:21.642",
        "tracking_number": "1215484152",
        "request_number": "123645",
        "result": {},
        "transaction_details": {},
        "errors": {
            "error_code": "8032",
            "error_description": "پین موجود نمی باشد",
            "reference_name": "2_8032",
            "original_value": "انیار پین خالی می باشد"
        }
    }
    
    
    • status: عدد 0 به معنی موفق و عدد 1 به معنی ناموفق می باشد
    • message: پاسخ از طرف سرویس سامانه ابری کربن
    • timestamp: زمان و تاریخ درخواست
    • request_number: شماره پیگیری ارسال شده در زمان فراخوانی
    • tracking_number: شماره پیگیری ایجاد شده توسط سامانه ابری کربن جهت بررسی های بعدی
    • result: آبجکتی از پاسخ سرویس شامل:
    • reserve_number: شماره پین
    • service_price: قیمت سرویس
    • در صورت بروز خطا در درخواست :

    • errors: جزییات خطا
    • error_code: کد مربوط به خطایی که پیش آمده است
    • error_description: متن خطا
    • reference_name: اطلاعات تکمیلی خطا
    • original_value: اطلاعات تکمیلی خطا