09.08.2013, 13:19 | #1 |
MCT
|
Оплата кредитными картами за товар Розница, POS AX 2012R2 CU6
Остался последний "бастион" стандартного функционала - оплата по кредитным картам.
Что есть: работающий терминал по наличной оплате, картам лояльности. А так же настроенная в тестовом режиме служба платежей. 1 Предположение - провести оплату не получится, так как служба настроена в тестовом режиме. Неужто надо проходить адовы круги по регистрации личных учетных данных? 2 Предположение - даже если настроить все работать не будет, так как при регистрации видел только USD и CAD а страшные символы RUR обойдены вендором. Насколько глубоко придется кастомизировать, что бы заработали рубли? И уже из личного опыта - почему (какой такой тайный смысл) кассиры при проведении платежа по кредитке, откладывают чек в отдельное место. Видел не у одного ритейлера. Предполагаю, что ждут проводки из банка. Тогда зачем вся эта возня с вводом пина, получение ответа из банка и так далее?
__________________
Axapta book for developer |
|
09.08.2013, 13:52 | #2 |
Консультант
|
Цитата:
Сообщение от MikeR
И уже из личного опыта - почему (какой такой тайный смысл) кассиры при проведении платежа по кредитке, откладывают чек в отдельное место. Видел не у одного ритейлера. Предполагаю, что ждут проводки из банка. Тогда зачем вся эта возня с вводом пина, получение ответа из банка и так далее?
|
|
09.08.2013, 15:23 | #3 |
MCT
|
Вот как раз и интересует этот момент - какой компонент запрашивает и какой компонент отвечает за отметку оплаты, то есть на сайте выложены выборочные провайдеры оплат, может конечно, для Америки они и актуальны и более ничего не надо . Но система то международная и оплачивать в магазине через PayPal в России вряд ли будут. А банк типа ВТБ даст скорее всего какой-нить API с входом и выходом данных. Как его прикручивать к терминалу пока не понял.
__________________
Axapta book for developer |
|
09.08.2013, 16:22 | #4 |
Участник
|
|
|
|
За это сообщение автора поблагодарили: MikeR (2). |
09.08.2013, 16:35 | #5 |
MCT
|
Правильно ли я понял, что служба платежей идет лесом, остается хардкодинг?
Пошел за поиском туториолов
__________________
Axapta book for developer |
|
09.08.2013, 16:41 | #6 |
Участник
|
надо лишь немного подождать
из планов разработки X++: AX POS . AX POS SDK. - - - III 2013 TFS ID 571925 |
|
09.08.2013, 17:23 | #7 |
Участник
|
|
|
13.08.2013, 18:24 | #8 |
MCT
|
Нашел только под 2009
все бы ничего, только куча ссылок в References не правильная. Есть предположение, что починив ссылки, проект все равно не запустить. Изменилась объектная модель POS терминала. Может у кого есть более свежая информация о процессинге платежей?
__________________
Axapta book for developer |
|
14.08.2013, 11:27 | #9 |
Участник
|
Цитата:
Сообщение от MikeR
Нашел только под 2009
все бы ничего, только куча ссылок в References не правильная. Есть предположение, что починив ссылки, проект все равно не запустить. Изменилась объектная модель POS терминала. Может у кого есть более свежая информация о процессинге платежей? "Update (June 5, 2012): The AX for Retail 2012 version of the EFT sample plug-in will not be hosted via this blog. Please contact Microsoft Dynamics Technical Support for information about obtaining an updated sample compatible with AX for Retail 2012" |
|
15.08.2013, 17:52 | #10 |
MCT
|
Кремень кремнем точится :)
Пока братья по разуму пишут ответ на запрос. Я провел некоторые исследования
по написанию плагина : 1 Плагин пишется по мотивам SDK, который доступен по след адресу Documents\Retail SDK\POS Plug-ins\Services после развертывания соответствующего компонента. Развертывается в C:\Program Files (x86)\Microsoft Dynamics AX\60\Retail POS\Services\Extensions 2 И ведь кто бы мог подумать, что действительно есть проект EFT, содержащий EFT.cs. 3 Представлено несколько методов GenerateCardToken, GetCardInfoAndAmount, ProcessCardPayment, VoidTransaction, IdentifyCard, CapturePayment, GetTransactionToken, GetSignatureCapture, GetPinPad. На msdn есть описание только части этих методов 4 Теперь самое вкусное - при нажатии на кнопку оплата картой - запускается следующая очередность вызовов - первым стартует GetCardInfoAndAmount() с информацией по карте CardType, CardNumber, ExpDate, в принципе на этот моменте можно сделать вызов API банка и отправить информацию о карте и возможности платежа и вывести сообщение, если что не так. Далее идет вызов ProcessCardPayment. Все бы хорошо, только поскольку не запускается теперь форма ввода карты, не будет возможности оплачивать другими картами, например, стандартный механизм по картам лояльности. Что хочется - оставить вывод формы ввода параметров карты, а сам механизм запускать после нажатия кнопки OK. Комментарии креативных практиков (внедренцев терминалов с оплатой по кредитным картам), если таковые имеются, приветствуются....
__________________
Axapta book for developer |
|
15.08.2013, 18:08 | #11 |
Участник
|
Вероятно, при такой постановке задачи стоит посмотреть в сторону триггеров, в частности, Retail SDK\POS Plug-ins\Triggers\PaymentTriggers\PaymentTriggers.cs
|
|
|
За это сообщение автора поблагодарили: MikeR (10). |
16.08.2013, 19:15 | #12 |
MCT
|
Точим дальше
Не понял, почему при оплате хоть картой лояльности, хоть другим номером, который я предполагаю задействовать как кредитную карту, всегда попадаю в ветку
X++: public void PrePayment(IPreTriggerResult preTriggerResult, IPosTransaction posTransaction, object posOperation, string tenderId) ........ case PosisOperations.PayLoyalty: // оплата картой // Insert code here... break; { ЗЫ то есть какой выбрать метод, что бы разделять оплату по карте лояльности и кредитке? Где и как?
__________________
Axapta book for developer Последний раз редактировалось MikeR; 16.08.2013 в 19:20. |
|
19.08.2013, 12:16 | #13 |
MCT
|
Цитата:
В PrePayCardAuthorization как раз есть вся информация по карте, сумме и так далее. В методе OnPayment можно управлять оплатой, не понятно правда каким параметром, то есть проведением транзакции (действие по умолчанию) или откатом, допустим карта заблокирована. Приходит на ум генерация исключительной ситуации, насколько это допустим?
__________________
Axapta book for developer |
|
19.08.2013, 19:59 | #14 |
Участник
|
Цитата:
Имеет смысл по разным кнопкам развести могут быть разные терминалы, действия кассира при выполнении операции и т.п. |
|
20.08.2013, 09:53 | #15 |
MCT
|
Я уже думал об этом . Но один коллега в одной из предыдущих моих веток обсуждения, утверждал, что стандартный функционал должен работать и по картам лояльности и по кредитным картам на одной кнопке. Да и логично это, не плодить же кнопки для каждого типа карты. Я уже нашел выход, жду ответа от нашего вендора, как более правильно подойти к проблеме, что бы было, что называется по ВР. Хочется побольше сохранить стандартной функциональности, что бы был более без болезненным переход. Думаю, что розницу так не будут перелопачивать в следующей версии. Хотя это может остаться только мечтами.
__________________
Axapta book for developer |
|
20.08.2013, 11:14 | #16 |
Участник
|
В принципе все должно запускаться через одну кнопку.
Здесь вроде как есть некий пример Пример разработки EFT Я сам его еще детально не разбирал. Но может будет полезно. |
|
|
За это сообщение автора поблагодарили: gl00mie (3). |
21.08.2013, 14:23 | #17 |
Читатель
|
Цитата:
Возможно, вам стоит покопать в сторону сделать свой IPaymentProcessor. |
|
21.08.2013, 16:31 | #18 |
Читатель
|
Вдогонку к предыдущему посту. Вот тут немного информации по карточным платежам. Ключевое слово Payment SDK
PCI Implementation Guide for Microsoft Dynamics AX 2012 R2 Changes to credit card processing in Microsoft Dynamics AX 2012 R2 |
|
|
За это сообщение автора поблагодарили: MikeR (2). |
21.08.2013, 17:32 | #19 |
MCT
|
Коллеги, совершенно дурацкий вопрос - как поменять количество при вводе товара на терминале?
Ввожу код товара подставляется товар с 1шт, как изменить на 10 допустим? На демо виртуальной машине такая же вещь..
__________________
Axapta book for developer |
|
21.08.2013, 17:43 | #20 |
Читатель
|
Команда "Указание количества" же =)
|
|
Теги |
ax2012, creditcard, pos, retail, оплата |
|
|