отмена и возврат

Mini web-сервер для печати чеков на фискальных регистраторах из мобильных приложений через HTTP запрос JSON.
Ответить
niichavo
Сообщения: 20
Зарегистрирован: 25 апр 2018, 13:55

отмена и возврат

Сообщение niichavo » 10 май 2018, 17:51

здравствуйте!

такие вот вопросы.

1. отмена и возврат доступны только если был задействован эквайринг?

2. откуда брать параметры: ReceiptNumber, Old_RRNCode, Old_AuthorizationCode для ф-ций: CancelPaymentByPaymentCard и ReturnPaymentByPaymentCard? из json-ответа предыдущего запроса?

например, я выполнил запрос. а именно печать чека продажи, где задействовал эквайринг через указанные один или несколько параметров: "Эквайринг будет задействован если: 1. чек фискальный, 2. оплата по "ElectronicPayment" не равна 0, 3. PayByProcessing = true". мне должны прийти в ответе эти параметры (ReceiptNumber, RRNCode, AuthorizationCode)?

на эмуляторе не приходят. и в примерах нигде не встретил их сохранения. например в коде примеров, параметры Old_RRNCode, Old_AuthorizationCode объявлены, но нигде не определены (не заполняются).

3. при выполнении возврата я должен оставлять параметры Old_RRNCode, Old_AuthorizationCode пустыми? по крайней мере так говориться в комментарии "Только для отмены оплаты! Для Оплаты или возврата оплаты не заполнять!"

4. CancelPaymentByPaymentCard и ReturnPaymentByPaymentCard - единственные доступные способы отмены и возврата?

спасибо.

Audim
Администратор
Сообщения: 2395
Зарегистрирован: 17 мар 2015, 18:36

Re: отмена и возврат

Сообщение Audim » 11 май 2018, 20:53

1. Если вы про эквайринг то да.

2. Из команды оплаты эквайринга.
Если эти параметры не указать то будет не отмена а возврат.
И отмена возможна только в течении короткого промежутка времени.

3. Да.

4. Да. Хотя вопрос странный, может я чего не понял.

niichavo
Сообщения: 20
Зарегистрирован: 25 апр 2018, 13:55

Re: отмена и возврат

Сообщение niichavo » 14 май 2018, 12:16

2. Из команды оплаты эквайринга.
приведённый ниже код является оплатой эквайринга? судя по параметрам ("IsFiscalCheck": true, "ElectronicPayment": "924.90") да. т.к. в комментариях у вас написано "Эквайринг будет задействован если: 1. чек фискальный, 2. оплата по "ElectronicPayment" не равна 0, 3. PayByProcessing = true". или я неверно это понял и эквайринг будет задействован когда ВСЕ эти параметры заданы, а не как минимум один из них? но если я задействую все - то возникает ошибка: "Не выполнена транзакция по оплате: Устройство (с параметрами) не найдено: не настроено или отключено." при тестировании на эмуляторе.

Код: Выделить всё

{
    "Command": "RegisterCheck",
    "NumDevice": "0",
    "IdCommand": "f2e177c2-058c-70a6-dba0-7cf02cfd5159",
    "VerFFD": "1.0",
    "InnKkm": "",
    "KktNumber": "",
    "IsFiscalCheck": true,
    "NotPrint": false,
    "NumberCopies": 0,
    "CashierName": "Иванов И.",
    "CashierVATIN": "123456789",
    "ClientAddress": "",
    "SenderEmail": "",
    "TaxVariant": "",
    "AdditionalProps": [{
        "Print": true,
        "PrintInHeader": true,
        "NameProp": "Дата транзакции",
        "Prop": "14.05.2018 8:49:05"
    }],
    "KPP": "",
    "ClientId": "",
    "KeySubLicensing": "",
    "CheckStrings": [{
        "PrintText": {
            "Text": ">#2#<ООО \"Рога и Копыта\""
        }
    }, {
        "PrintText": {
            "Text": "<<->>"
        }
    }, {
        "PrintText": {
            "Text": "Плательщик: Нет данных"
        }
    }, {
        "PrintText": {
            "Text": "Лицевой счет: 111"
        }
    }, {
        "PrintText": {
            "Text": "Адрес: 301470 Тульская обл. Плавский р-н г.Плавск пер.Маяковского д.1, 91"
        }
    }, {
        "PrintText": {
            "Text": "<<->>"
        }
    }, {
        "PrintText": {
            "Text": "Поставщик ХВ<#0#>1 X 4.64"
        }
    }, {
        "PrintText": {
            "Text": "<#10#>>= 4.64"
        }
    }, {
        "Register": {
            "Name": "Водоснабжение ОДН",
            "Quantity": 1,
            "Price": "4.64",
            "Amount": "4.64",
            "Tax": "-1",
            "EGAIS": null,
            "MeasurementUnit": "",
            "NomenclatureCode": "",
            "AgentSign": null,
            "AgentData": null,
            "PurveyorData": null
        }
    }, {
        "PrintText": {
            "Text": "<<->>"
        }
    }, {
        "PrintText": {
            "Text": "Поставщик ГВ<#0#>1 X 4.10"
        }
    }, {
        "PrintText": {
            "Text": "<#10#>>= 4.10"
        }
    }, {
        "Register": {
            "Name": "Теплоноситель ГВС ОДН",
            "Quantity": 1,
            "Price": "4.10",
            "Amount": "4.10",
            "Tax": "-1",
            "EGAIS": null,
            "MeasurementUnit": "",
            "NomenclatureCode": "",
            "AgentSign": null,
            "AgentData": null,
            "PurveyorData": null
        }
    }, {
        "PrintText": {
            "Text": "<<->>"
        }
    }, {
        "PrintText": {
            "Text": "ФКР<#0#>1 X 916.16"
        }
    }, {
        "PrintText": {
            "Text": "<#10#>>= 916.16"
        }
    }, {
        "Register": {
            "Name": "Капитальный ремонт",
            "Quantity": 1,
            "Price": "916.16",
            "Amount": "916.16",
            "Tax": "-1",
            "EGAIS": null,
            "MeasurementUnit": "",
            "NomenclatureCode": "",
            "AgentSign": null,
            "AgentData": null,
            "PurveyorData": null
        }
    }],
    "Cash": 0,
    "ElectronicPayment": "924.90",
    "AdvancePayment": 0,
    "Credit": 0,
    "CashProvision": 0,
    "PayByProcessing": false,
    "ReceiptNumber": "",
    "PrintSlipForCashier": false,
    "RRNCode": "",
    "AuthorizationCode": "",
    "CheckProps": [],
    "CashLessType1": 0,
    "CashLessType2": 0,
    "CashLessType3": 0,
    "CancelOpenedCheck": true,
    "Timeout": 30
}
параметры ReceiptNumber, RRNCode, AuthorizationCode в ответе не приходят. ответ такой:

Код: Выделить всё

{
    CheckNumber: 2
    Command: "RegisterCheck"
    Error: ""
    IdCommand: "f2e177c2-058c-70a6-dba0-7cf02cfd5159"
    NumDevice: 1
    QRCode: "t=20180514T084906&s=924.90&fn=0149060506089651&i=2&fp=689765326&n=1"
    SessionCheckNumber: 2
    SessionNumber: 2
    Status: 0
}

Audim
Администратор
Сообщения: 2395
Зарегистрирован: 17 мар 2015, 18:36

Re: отмена и возврат

Сообщение Audim » 15 май 2018, 01:36

Команда которую вы привели - это команда регистрации чека без проведения транзакции по эквайрингу.
Поле "TypeCheck" - не указано - значит чек продажи.

У вас стоит "PayByProcessing": false - значит транзакции по эквайрингу не будет.
Если поставите там true - буде проводится оплата по эквайрингу.

niichavo
Сообщения: 20
Зарегистрирован: 25 апр 2018, 13:55

Re: отмена и возврат

Сообщение niichavo » 15 май 2018, 11:17

У вас стоит "PayByProcessing": false - значит транзакции по эквайрингу не будет.
Если поставите там true - буде проводится оплата по эквайрингу.
Ясно. Спасибо. Но когда я устанавливаю значение true, то возникает ошибка "Не выполнена транзакция по оплате: Устройство (с параметрами) не найдено: не настроено или отключено.". Или это так и должно быть на эмуляторе? И ещё. Я правильно понял, что если ошибки не будет, то вернутся в ответе заполненные параметры: ReceiptNumber, RRNCode, AuthorizationCode, которые я потом смогу использовать для отмены и/или возврата?

Audim
Администратор
Сообщения: 2395
Зарегистрирован: 17 мар 2015, 18:36

Re: отмена и возврат

Сообщение Audim » 15 май 2018, 14:31

Если стоит "PayByProcessing" - истина то у Вас в расширении/сервере должно быть добавлено и настроено устройство эквайринга.
А у Вас его по всей видимости нет.

Ответить