Проблема в политике кроссдоменных запросов (CORS).
Вероятно, вы находитесь на www.вашсайт.ру , а скрипт отправляет запрос на вашсайт.ру (либо наоборот) - это не нравится браузеру и он такие запросы блокирует.
Чтобы протестировать в этом ли проблема - достаточно перейти на вашсайт.ру и нажать на кнопку купить сейчас с него. Если скрипт работает нормально и товар в корзину добавляется, то для решения проблемы нужно сделать следующее:
в config.php убрать www в доменном имени. Например, было
<?php
// HTTP
define('HTTP_SERVER', 'https://www.example.ru/');
// HTTPS
define('HTTPS_SERVER', 'https://www.example.ru/');
Стало:
<?php
// HTTP
define('HTTP_SERVER', 'https://example.ru/');
// HTTPS
define('HTTPS_SERVER', 'https://example.ru/');
В файле .htaccess нужно поставить редирект с www.вашсайт.ру на вашсайт.ру. Для этого добавляем
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ https://%1/$1 [R=301,L]
RewriteCond %{ENV:HTTPS} !on
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
У меня в .htaccess рерайты уже были, поэтому я добавил только
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ https://%1/$1 [R=301,L]
На Nginx в файл nginx.conf нужно добавить директиву
if ($host ~ ^www\.(.+)$){ return 301 http://$1$request_uri; }