VibeFox 2C2P for PrestaShop — Допомога
Вимоги
PrestaShop: 8.0–9.x.
PHP: 8.0 або новіша версія. Модуль не встановлюється на старіших версіях PHP.
Обліковий запис 2C2P: вам потрібні Merchant ID та Secret Key вашого облікового запису мерчанта 2C2P. Їх видає 2C2P під час відкриття облікового запису мерчанта. Тестові (sandbox) та робочі облікові записи мають різні ключі. Документація для розробників і тестові картки sandbox доступні на developer.2c2p.com.
Валюта: валюта кошика має підтримуватися модулем і бути увімкненою у вашому обліковому записі 2C2P. Серед підтримуваних, зокрема, THB, SGD, MYR, PHP, IDR, VND, MMK, KHR, LAK, CNY, HKD, TWD, JPY, KRW, INR, AUD, NZD, USD, EUR та GBP. Якщо валюта кошика не підтримується, спосіб оплати не відображається на етапі оформлення замовлення.
Ліцензійний ключ VibeFox: купується на vibefox.net. Один ключ працює на одному домені.
Встановлення
1. У бек-офісі перейдіть до Modules > Module Manager і натисніть Upload a module. Виберіть ZIP-файл модуля.
2. Коли завантаження завершиться, натисніть Configure або пізніше знайдіть VibeFox 2C2P Payment у списку модулів і натисніть Configure.
3. Введіть ваш ліцензійний ключ VibeFox у поле License key у блоці ліцензії вгорі сторінки Configure і натисніть Activate (див. «Ліцензійний ключ»).
4. Введіть Merchant ID та Secret Key з sandbox, увімкніть Enable/Disable, натисніть Save і зробіть тестове замовлення.
5. Коли будете готові, введіть робочі дані та вимкніть Sandbox Mode.
Під час встановлення модуль створює два статуси замовлення: Awaiting 2C2P payment та 2C2P payment on hold. PrestaShop вмикає новий платіжний модуль для всіх валют, країн і груп клієнтів. Обмежити це можна в Payment > Preferences. Адреси повернення та сповіщення надсилаються з кожним платежем. У порталі 2C2P нічого налаштовувати не потрібно.
Налаштування
Усі параметри розташовані на сторінці модуля: Modules > Module Manager > VibeFox 2C2P Payment > Configure. Кожен розділ має власну кнопку Save, яка зберігає всю сторінку. Над полями сторінка показує Sandbox mode is active. No real transactions will be processed., поки ввімкнено тестовий режим. Вона попереджає, якщо шлюз увімкнено, але Merchant ID або Secret Key поточного режиму порожні, а також коли валюта магазину за замовчуванням не підтримується. В обох випадках спосіб оплати не відображається на етапі оформлення замовлення. Якщо ви зберігаєте налаштування з вимкненим Sandbox Mode, модуль показує Please enter your live Merchant ID. або Please enter your live Secret Key., якщо робоче поле порожнє. Налаштування все одно зберігаються.
2C2P
Enable/Disable: Enable 2C2P Payment Gateway вмикає або вимикає спосіб оплати. За замовчуванням: вимкнено.
Title: назва способу оплати, яку бачить покупець на етапі оформлення замовлення. Вона також зберігається в замовленні як назва способу оплати. За замовчуванням: 2C2P Payment.
Description: текст під способом оплати на етапі оформлення замовлення. За замовчуванням: Pay securely via credit/debit card, e-wallet, or internet banking through 2C2P. У тестовому режимі до нього додається (TEST MODE).
Тестовий режим (sandbox)
Sandbox Mode: надсилає платежі в тестове середовище 2C2P (demo2.2c2p.com) з тестовими даними, вказаними нижче. За замовчуванням: увімкнено. Вимкніть, щоб приймати реальні платежі.
Sandbox Merchant ID: ваш Merchant ID 2C2P для sandbox.
Sandbox Secret Key: ваш Secret Key 2C2P для sandbox.
Робочі дані API
Використовуються, коли тестовий режим вимкнено.
Merchant ID: ваш робочий Merchant ID 2C2P.
Secret Key: ваш робочий Secret Key 2C2P. Ключ зберігається саме так, як ви його введете, включно з лапками та зворотними скісними рисками.
Збережені Secret Key більше не показуються. Поле залишається порожнім і показує Saved — leave empty to keep it. Вводьте нове значення, лише якщо хочете його змінити.
Очищення збережених секретів: позначте Sandbox Secret Key або Secret Key і натисніть Save, щоб його видалити. Порожнє поле зберігає збережене значення.
Результати завжди перевіряються за Merchant ID та Secret Key того режиму, в якому було здійснено платіж. Платіж, розпочатий у тестовому режимі, після переходу на робочий режим і далі перевіряється тестовим ключем, а результат, підписаний ключем іншого режиму, відхиляється.
Платіжна сторінка
URL результатів: для довідки показує Frontend return URL і Backend notification URL. З дружніми URL вони мають вигляд https://your-shop/module/wcp_2c2p_payment/return та https://your-shop/module/wcp_2c2p_payment/notify, можливо з кодом мови, наприклад /en/. Вони автоматично надсилаються з кожним платежем.
Payment Page Language: мова платіжної сторінки 2C2P. За замовчуванням: English.
Redirect API version: залиште 8.5, якщо 2C2P не повідомив, що ваш обліковий запис досі використовує стару версію 7.0 (підписи SHA-1). Результати платежів, розпочатих до перемикання, усе одно перевіряються.
Order ID prefix: необов'язковий, лише літери та цифри (максимум 10), наприклад SHOP1. 2C2P відхиляє ID замовлення, який уже бачив. Задайте унікальний префікс, якщо кілька магазинів використовують один обліковий запис 2C2P, а також у sandbox, де тестові облікові записи мерчантів спільні. Інші символи видаляються під час збереження, з попередженням.
Додаткові налаштування
Enable Logging: записує події 2C2P у файл logs/tc2p_p_debug.log.php у папці модуля. Файл не можна відкрити через веб. Дані карток, секретні ключі, e-mail клієнтів і платіжні токени не записуються. За замовчуванням: вимкнено. Поки журнал вимкнено, нічого не записується, включно з помилками.
Log: показує розмір і останні записи журналу. Натисніть Clear log, щоб його очистити.
Delete Data on Uninstall: якщо увімкнено, видалення модуля прибирає налаштування шлюзу та журнал. Транзакції 2C2P, замовлення та статуси замовлень модуля завжди зберігаються, тож пізній результат старого платежу обробляється й після повторного встановлення. За замовчуванням: вимкнено.
Оформлення замовлення
На етапі оплати покупець обирає спосіб оплати (за замовчуванням 2C2P Payment) і підтверджує вибір. Наступна сторінка показує Thank you for your order. You will be redirected to 2C2P to complete your payment. і за мить надсилає покупця на платіжну сторінку 2C2P. Якщо цього не відбулося, покупець натискає Pay via 2C2P. На сторінці також є кнопка Back to checkout. На цьому етапі замовлення ще не існує.
На сторінці 2C2P покупець платить будь-яким способом, увімкненим у вашому обліковому записі 2C2P, наприклад картками, електронними гаманцями, QR-платежами, інтернет-банкінгом або готівкою. Модуль передає суму кошика у валюті кошика, e-mail покупця та назви товарів у кошику. Платіж можна завершити протягом 24 годин. Кожна спроба оплати отримує власний ID замовлення в 2C2P (номер кошика і номер спроби, після необов'язкового префікса), оскільки 2C2P ніколи не приймає той самий ID замовлення двічі.
2C2P повідомляє результат двічі: браузер покупця повертається до магазину, і 2C2P надсилає серверне сповіщення. Обидва варіанти обробляються однаково. Замовлення позначається як оплачене лише після того, як 2C2P підтвердить його дійсним підписом. Результат також має належати до платежу: ID замовлення 2C2P має бути виданий вашим магазином, а Merchant ID і випадковий токен спроби перевіряються. Результати без дійсного підпису відхиляються. Сповіщення працює, навіть коли магазин перебуває в режимі обслуговування, і не блокується обмеженням за країнами вашого магазину.
Після успішної оплати замовлення створюється, і покупець бачить стандартну сторінку підтвердження замовлення з повідомленням Your 2C2P payment has been received. Для платежу в очікуванні сторінка показує Your 2C2P payment is pending (for example a cash or bank payment that is not made yet). The order will be processed as soon as 2C2P confirms the payment. Для замовлення в статусі «на утриманні» вона показує Your payment was received and is being reviewed by the shop. Якщо платіж в очікуванні пізніше скасовано, з'являється Your 2C2P payment was not completed. Please contact us about this order.
Якщо платіж не було завершено, замовлення не створюється. Покупець повертається до оформлення замовлення з повідомленням Payment was not completed. Please try again or choose a different payment method. Кошик зберігається, і покупець може оплатити знову або обрати інший спосіб оплати. Якщо результат не вдається підтвердити, покупець бачить We could not confirm the payment result. If your account was charged, please contact us before paying again. Якщо платіж не вдається розпочати, наприклад тому що валюта кошика не підтримується, повідомлення таке: This payment method is currently unavailable for this order. Please contact us or choose another payment method.
Якщо в кошика вже є замовлення (оплачене або таке, що очікує платежу в очікуванні), друга платіжна форма не створюється. Покупець переходить на сторінку підтвердження замовлення.
Модуль не має повернень із PrestaShop, збережених карток, регулярних платежів чи підписок, полів для карток на вашому сайті та не підтримує API 2C2P PGW 4.x.
Замовлення
Статуси замовлень
No order yet: покупця надіслано до 2C2P, результат ще не надійшов, або платіж не пройшов. Існує лише кошик.
Payment accepted: 2C2P повідомив про успішний платіж (статус 000). Платіж фіксується з референсом транзакції 2C2P як ID транзакції. Приватна примітка в замовленні показує транзакцію 2C2P, код авторизації, дату та канал оплати.
Awaiting 2C2P payment: платіж очікує в 2C2P (статус 001), наприклад готівковий платіж, який покупець ще не сплатив. Замовлення переходить у Payment accepted, коли 2C2P повідомляє про оплату.
2C2P payment on hold: 2C2P повідомив суму або валюту, що не збігаються із сумою замовлення. Примітка показує отримані й очікувані значення. Перевірте замовлення та транзакцію в порталі 2C2P.
Canceled: платіж в очікуванні згодом було відхилено, скасовано або він не пройшов (статуси 002, 003, 999). Примітка показує статус і причину. Невдалий результат попередньої спроби не скасовує замовлення, створене іншою спробою.
Оплачене замовлення ніколи не змінюється пізнішим результатом, а повторний старий результат не відкриває повторно скасоване замовлення. Якщо для вже оплаченого замовлення надходить другий платіж, замовлення не змінюється. Примітка просить вас перевірити його та повернути дубль у порталі мерчанта 2C2P.
Блок платежу 2C2P
На сторінці замовлення відображається блок 2C2P payment з ID замовлення 2C2P, транзакцією, статусом платежу, каналом, кодом авторизації, маскованим номером картки, датою, відповіддю каналу та отриманою сумою, а також позначка Sandbox для платежів у sandbox.
Повернення коштів
Повернення з PrestaShop не підтримуються. Поверніть платіж у порталі мерчанта 2C2P, а потім вручну зафіксуйте повернення в PrestaShop.
Ліцензійний ключ
Модуль працює з ліцензійним ключем VibeFox з vibefox.net. Блок ліцензії License — VibeFox 2C2P Payment — це перший блок на сторінці Modules > Module Manager > VibeFox 2C2P Payment > Configure, над налаштуваннями. Введіть ключ у License key і натисніть Activate. Після цього блок показує ключ у прихованому вигляді, статус (наприклад, дату, до якої ліцензія активна, і ваш домен) та кнопки Check now для повторної перевірки статусу, Change key для введення іншого ключа та Remove key для видалення ключа з цього магазину. Нижче розташовані рядок Product: presta-payment-2c2p і посилання Manage licenses and domains in your account, яке відкриває ваш обліковий запис vibefox.net. Змінювати ключ можуть лише співробітники з правом Configure для модуля. Тексти блоку відповідають мові бек-офісу (включено англійську та російську).
Якщо ключ не прийнято, блок пояснює причину, наприклад Key not found, This key belongs to another product, Domain limit reached або License expired on із датою. Після зміни адреси магазину або після звільнення слота домену у вашому обліковому записі натисніть Check now. Якщо сервер ліцензій недоступний, модуль продовжує працювати за останнім відомим статусом.
Один ключ працює на одному домені: домені основного магазину, також у конфігурації з кількома магазинами. Видалення ключа з магазину не звільняє слот домену. Звільніть слот у своєму обліковому записі vibefox.net.
Без активного ключа 2C2P не показується покупцям на етапі оформлення замовлення. Якщо платіж усе ж розпочато, покупець бачить This payment method is not available. Please choose another one. Вітрина PrestaShop не знає, що ви увійшли в бек-офіс, тому спосіб оплати приховується і для вас: модуль можна налаштувати до купівлі ключа, але протестувати його на етапі оформлення замовлення не можна. Нагадування з'являється в Modules > Module Manager на вкладці Alerts. Наявні замовлення не змінюються: платежі, які вже розпочато, як і раніше підтверджуються.
Коли ліцензія закінчується, модуль продовжує працювати, але оновлення та підтримка потребують продовження. Статус автоматично перевіряється знову, поки ви працюєте в бек-офісі: раз на добу протягом перших 14 днів після введення ключа, потім раз на тиждень. Cron-завдання не потрібне. Під час видалення або скидання модуля ліцензійний ключ і статус ліцензії завжди видаляються.
Усунення несправностей
2C2P не з'являється на етапі оформлення замовлення: перевірте, що ліцензія активна, Enable/Disable увімкнено, а в поточному режимі є Merchant ID та Secret Key: поля sandbox у тестовому режимі, робочі поля в робочому режимі. Перевірте, що валюта кошика підтримується. Сторінка налаштувань показує попередження в обох випадках. В Payment > Preferences перевірте, що модуль дозволено для валюти кошика, країни покупця та групи покупця.
Платіж пройшов, але замовлення не створено: жоден дійсний результат не надійшов до вашого магазину. Перевірте, що Merchant ID та Secret Key того режиму, в якому було здійснено платіж, збігаються з обліковим записом 2C2P, і що Redirect API version відповідає вашому обліковому запису. Результат із неправильним підписом або для іншого Merchant ID відхиляється. Увімкніть Enable Logging і шукайте повідомлення про hash або Merchant ID у полі Log. Перевірте також, чи приймає ваш сервер запити від 2C2P на URL backend-сповіщення.
Backend-сповіщення відповідає 400 FAIL: у результаті відсутні поля, неправильний підпис, інший Merchant ID або хибний токен. 404 FAIL означає, що ID замовлення 2C2P не було видано цим магазином. 503 RETRY означає, що замовлення в цей момент підтверджував інший запит, або що замовлення не вдалося створити (наприклад, модуль вимкнено); 2C2P повторить спробу пізніше. Увімкніть Enable Logging, щоб побачити причину.
URL сповіщення показує FAIL у браузері: це нормально. URL приймає лише POST-запити від 2C2P.
2C2P повідомляє, що ID замовлення вже існує: 2C2P не приймає той самий ID замовлення двічі. Це трапляється, коли кілька магазинів використовують один обліковий запис 2C2P або в sandbox, де демонстраційні облікові записи мерчантів спільні для багатьох розробників. Задайте унікальний Order ID prefix.
Платіж здійснено, але замовлення має статус Awaiting 2C2P payment або 2C2P payment on hold: або платіж ще очікує в 2C2P (наприклад, готівковий платіж, який покупець ще не сплатив), або сплачена сума чи валюта не збіглися із замовленням. Перевірте примітки до замовлення та транзакцію в порталі 2C2P.
Покупець бачить This payment method is currently unavailable for this order: валюта кошика не підтримується, Merchant ID або Secret Key поточного режиму порожні, або сума кошика дорівнює нулю.
Please enter your live Merchant ID або Please enter your live Secret Key під час збереження: тестовий режим вимкнено, а робоче поле порожнє. Введіть робочі дані або залиште Sandbox Mode увімкненим.
Видалення
Перейдіть до Modules > Module Manager, відкрийте меню поруч із VibeFox 2C2P Payment і виберіть Uninstall. Ліцензійний ключ і статус ліцензії цього модуля завжди видаляються. Якщо Delete Data on Uninstall увімкнено, налаштування шлюзу та журнал видаляються. Якщо вимкнено, усі налаштування зберігаються для подальшого повторного встановлення. Транзакції 2C2P та статуси замовлень Awaiting 2C2P payment і 2C2P payment on hold завжди зберігаються. Наявні замовлення зберігають свої примітки про оплату та ID транзакцій.
2C2P є торговельною маркою її власника. Цей модуль не пов'язаний із 2C2P і не схвалений компанією 2C2P.
