Разработка платёжного модуля для OpenCart
3 000 руб. за проект
В админке CMS, в форме настройки модуля вводится 2 параметра:
Формат адреса страницы оплаты (пример):
https://url.shop.com/p/[ShopID]/[OrderID]/[Amount]/[Hash]
Где:
Скрипт для приема/обработки информации с системы-эвайринга (webhook).
Система передаёт следующую информацию в формате JSON:
`
{
"order_id": "fd-1240",
"status": "executed",
"hash" : "....."
}
`
Где:
При отмене ордера в интернет-магазине должно срабатывать событие для отмены ордера в системе-эвайринга (/api/v1/cancelorder).
В админке интернет-магазина у ордера(заказа) должна быть кнопка ручной проверки статуса ордера в системе-эвайринга (/api/v1/checkorder).
API системы-эвайринга:
- Строка ID магазина из системы-эвайринга (строка до 32 символов)
- Строка приватного ключа из системы-эвайринга (строка до 128 символов)
Формат адреса страницы оплаты (пример):
https://url.shop.com/p/[ShopID]/[OrderID]/[Amount]/[Hash]
Где:
- ShopID – id магазина из системы-эвайринга (регистронезависимое)
- OrderID – номер ордера из интернет-магазина/CMS (латиница без спец.символов и пробелов, регистронезависимое)
- Amount – число, сумма по ордера (дробная часть через символ "." точка)
- Hash – подпись ордера(регистронезависимое), формируется на стороне интернет-магазина (CMS). Пример на php: `$Hash = md5($PrivKey.";".$OrderID.";".$Amount);`
Скрипт для приема/обработки информации с системы-эвайринга (webhook).
Система передаёт следующую информацию в формате JSON:
`
{
"order_id": "fd-1240",
"status": "executed",
"hash" : "....."
}
`
Где:
- order_id – номер ордера из интернет-магазина
- hash - подпись, php: $Hash = md5($PrivKey.";".$OrderID.";executed");
- status – может быть:
- * "executed" – выполнен
- * "opened" – открыт, не исполнен, в ожидание
- * "canceled" – отменен
- * "error#1023" – ошибка, через # номер ошибки
При отмене ордера в интернет-магазине должно срабатывать событие для отмены ордера в системе-эвайринга (/api/v1/cancelorder).
В админке интернет-магазина у ордера(заказа) должна быть кнопка ручной проверки статуса ордера в системе-эвайринга (/api/v1/checkorder).
API системы-эвайринга:
- /api/v1/checkorder/[ShopID]/[OrderID] – проверка состояние ордера, ручная проверка для CMS
- * Возвращаемые данные в JSON:
- * {"status": "opened"}
- * значения 'status' смотрите выше.
- /api/v1/cancelorder/[ShopID]/[OrderID]/[Hash] – отменить Ордер (из *.CMS)
- * Возвращаемые данные в JSON:
- * {"status": "canceled"}
- * значения 'status' может быть: закрыт->"canceled" или ошибка с номером её->"error#1234"
Отзывы
В заказе есть исполнитель
При переводе заказа из архивного в актуальный, текущий исполнитель будет снят с задачи.
Выберите тип сделки
С безопасной сделкой вы всегда сможете вернуть средства, если что-то пойдет не так. С простой сделкой вы самостоятельно договариваетесь с исполнителем об оплате и берете на себя решение конфликтов.