محمود زیوری
5 سال پیش توسط محمود زیوری مطرح شد
2 پاسخ

ارتباط با pc pos در جاوا اسکریپت

سلام.من از طریق سرویس به پرداخت به pc pos وصل میشم.امکانش هست مستقیم و بدون استفاده سرویس و از طریق جاوا اسکریپت وصل بشم؟


ثبت پرسش جدید
reza ahmadi
تخصص : توسعه دهنده سیتم های تحت وب
@rezahmadi 4 سال پیش آپدیت شد
0

سلام
بله میشه
پورت دستگاه رو روی 1024 تنظیم کن و از کد زیر برای پرداخت استفاده کن


function pay(){
    callOtherDomain();  
}

function createCORSRequest(method, url){
    var xhr = new XMLHttpRequest();
    if ("withCredentials" in xhr){
        xhr.open(method, url, true);
    } else if (typeof XDomainRequest != "undefined"){
        xhr = new XDomainRequest();
        xhr.open(method, url);
    } else {
        xhr = null;
    }
    return xhr;
}

    var invocation = new XMLHttpRequest();
    var url = 'http://localhost:1024/bpmpospc/service';
    var invocationHistoryText;

    //var body = '{"ServiceCode" :"2","Amount":"30000","PayerId":"108","AccountID":"2212342287","PcID":"1234"}';
    var body = '{"ServiceCode" :"4", "TotalAmount":"30000","RequestList": [{ "AccountID":"1", "Amount":"10000","PayerID":"108"},{ "AccountID":"2", "Amount":"10000","PayerID":"108"},{ "AccountID":"3", "Amount":"10000","PayerID":"108"}],"PrintDetail":"3","PcID":"1234"}';

    function callOtherDomain(){
        if(invocation)
        {  invocation.open('POST', url, true);
            invocation.setRequestHeader('X-PINGARUNER', 'pingpong');
            invocation.setRequestHeader('Content-Type', 'application/json');
            invocation.onreadystatechange = handler;
            invocation.send(body); 
        }
        else
        {
            invocationHistoryText = "No Invocation TookPlace At All";
            var textNode = document.createTextNode(invocationHistoryText);
            var textDiv = document.getElementById("textDiv");
            textDiv.appendChild(textNode);
        }

    }
    function handler(evtXHR)
    {
        if (invocation.readyState == 4)
        {
                if (invocation.status == 200)
                {
                    var response = invocation.responseText;
                    invocationHistoryText = document.createTextNode(response);
                    var textDiv = document.getElementById("textDiv");
                    textDiv.appendChild(invocationHistoryText);

                }
                else
                {
                    alert("Invocation Errors Occured " + invocation.readyState + " and the status is " + invocation.status);
                }
        }
        else
        {
            dump("currently the application is at" + invocation.readyState);
        }
    }

کافیه متد pay رو فراخونی کنی
اگر توی دستگاه مبلغ 30000 ریال رو برای پرداخت مشاهده کردی درست کار میکنه
دقت کن این یه تسته و میتونی توی برنامت body دلخواه رو ست کنی و مبلغی که می خوای رو تو دستگاه کال کنی
نکته خیلی مهم اینه که بایست یبا پشتیبان دستگاه تماس بگیری و بخوای تا پرداخت چند حسابی دستگاه رو فعال کنه.


کوثر
تخصص : برنامه نویس وب
@kowsar 1 سال پیش مطرح شد
0

با چی به کارتخوان وصلش میکنیم ؟


برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام