<?xml version="1.0"?>
<rss version="2.0"><channel><title>FAQ: FAQ</title><link>https://opencartforum.com/faq/developers/?d=6</link><description>FAQ: FAQ</description><language>uk</language><item><title>&#x420;&#x435;&#x433;&#x43B;&#x430;&#x43C;&#x435;&#x43D;&#x442; &#x440;&#x43E;&#x437;&#x43C;&#x456;&#x449;&#x435;&#x43D;&#x43D;&#x44F; &#x440;&#x43E;&#x437;&#x448;&#x438;&#x440;&#x435;&#x43D;&#x44C;</title><link>https://opencartforum.com/faq/developers/rules/</link><description><![CDATA[<p>
	У зв'язку з продовженням агресії росії та білорусі  проти України, ми не допускаємо до розміщення в нашому каталозі розширень резидентами РФ, РБ та Ірану.
</p>

<p>
	<br>
	Для отримання виплат ви маєте надати підтверджуючі документ, що ви не сплачуєте податки в країни агресорів(РФ, РБ) і є громадянами інших країн, або маєте право на проживання(резиденство) в інших країнах. 
</p>

<p>
	 
</p>

<div data-message-author-role="assistant" data-message-id="5a9f28f8-a60c-45d9-bc88-c21cf709c480">
	<div>
		<ul>
			<li>
				До розміщення приймаються будь-які розширення, які розширюють функціонал магазину, модулі,  шаблони, утиліти та інші розробки, що не порушують авторського права.
			</li>
		</ul>
	</div>
</div>

<div data-message-author-role="assistant" data-message-id="21052e10-0d9c-46a4-a206-fb7de111d6a8">
	<ul>
		<li>
			Після розміщення розширень на нашому сайті, всі авторські права залишаються у автора розширення.
		</li>
		<li>
			Будь-яке розміщене розширення повинно мати опис та інструкцію з установки українською мовою. Інструкцію потрібно додавати до архіву з самим розширенням (зазвичай назва файлу: readme.txt).
		</li>
		<li>
			Розширення обовʼязково має містити українську локалізацію, без української локалізації розширення не допускаються до публыкації
		</li>
		<li>
			Всі розширення повинні бути упаковані у ZIP-архів.
		</li>
		<li>
			Усі розміщені модулі проходять передмодерацію протягом 30 календарних днів. І в разі виявлення порушень, вони будуть зняті з розміщення.
		</li>
		<li>
			Після розміщення розширення, автоматично створюється тема обговорення на форумі, присвячена даному розширенню. Рекомендується вести всі обговорення щодо цього розширення саме в цій темі. Це полегшує комунікацію розробника з користувачами.
		</li>
		<li>
			У описі розширення обов'язково вказувати версії <abbr title="Бесплатная платформа для электронной коммерции с открытым исходным кодом"><abbr title="Бесплатная платформа для электронной коммерции с открытым исходным кодом">Opencart</abbr></abbr>/<a href="https://opencartforum.com/opencart/" rel="">ocStore</a>, на яких працює ваше розширення, наявні локалізації та мови на яких виконується підтримка. У випадку відсутності цієї інформації, розширення буде відзначено як пошкоджене, і позначка не буде знята, доки ви не вкажете версію <abbr title="Бесплатная платформа для электронной коммерции с открытым исходным кодом"><abbr title="Бесплатная платформа для электронной коммерции с открытым исходным кодом">Opencart</abbr></abbr>/<a href="https://opencartforum.com/opencart/" rel="">ocStore</a>. Після вказання версії зверніться в підтримку за адресою <a href="https://opencartforum.com/support" rel="" target="_new">https://opencartforum.com/support</a> для зняття позначки про пошкодження.
		</li>
		<li>
			Вартість розміщення розширення встановлюється автором і не повинна бути менше 5 доларів США. Верхній поріг ціни необмежений. П.9.1.5 публічної оферти.
		</li>
		<li>
			Розробник зобов'язується не встановлювати вартість ліцензії завантажуваного програмного забезпечення на Платформі вище, ніж на інших веб-сайтах. П. 13.3 публічної оферти.
		</li>
		<li>
			Адміністрація в будь-який момент може запросити в автора початковий код закодованого розширення для перевірки і розмістити закодований модуль власними силами. У випадку відмови надати вихідний код, розширення не буде розміщено в нашому каталозі.
		</li>
		<li>
			При виявленні в розширенні авторського плагіату від іншого автора, розширення з плагіатом вилучається з продажу, а також застосовуються обмеження до облікового запису до визначення обставин. Якщо ви виявили, що інший Користувач порушує ваші авторські права, будь ласка, повідомте нам про це, заповнивши форму в п.11.10 публічної оферти.
		</li>
	</ul>
</div>
]]></description><guid isPermaLink="false">1</guid><pubDate>Tue, 08 Jun 2021 19:56:45 +0000</pubDate></item><item><title>&#x412;&#x440;&#x435;&#x433;&#x443;&#x43B;&#x44E;&#x432;&#x430;&#x43D;&#x43D;&#x44F; &#x441;&#x43A;&#x430;&#x440;&#x433; &#x437; &#x430;&#x432;&#x442;&#x43E;&#x440;&#x441;&#x44C;&#x43A;&#x438;&#x445; &#x43F;&#x440;&#x430;&#x432; &#x43D;&#x430; &#x440;&#x43E;&#x437;&#x448;&#x438;&#x440;&#x435;&#x43D;&#x43D;&#x44F;</title><link>https://opencartforum.com/faq/developers/abuse/</link><description><![CDATA[<p>
	Шановні Користувачі, у зв'язку зі зверненнями про порушення авторських прав щодо програмного забезпечення, яке розміщено на opencartforum.com, вважаємо за необхідне надати деякі роз'яснення.<br>
	 
</p>

<p>
	При модерації Компанія не має можливості і не перевіряє програмне забезпечення, що завантажується, на предмет непорушення авторських прав.
</p>

<p>
	Якщо інший користувач розмістив на opencartforum.com програмне забезпечення з порушенням ваших авторських прав - <a href="https://drive.google.com/open?id=1w2Gfx6S7fsIP3NDz7tl2SHfFNWEg06GMkRFsFaMx_Mo" rel="external nofollow">повідомте нам про це</a>.<br>
	 
</p>

<p>
	Спочатку переконайтеся, що ваші претензії обґрунтовані.<br>
	 
</p>

<p>
	Ім'я правовласника буде опубліковано на opencartforum.com замість видаленого контенту. Тут не обов'язково вказувати особисто ваші персональні дані – можна використовувати юридично допустиму альтернативу, наприклад, назву компанії. Але в будь-якому випадку ви повинні зазначити достовірні дані. Також необхідно надати докази того, що ви є правовласником. Ми перевіримо надану інформацію.
</p>

<p>
	<br>
	Ці відомості, а також опис програмного забезпечення, права на які, ймовірно, порушені, будуть знаходитися у відкритому доступі. Інші дані зі скарги, включаючи ваше повне ім'я та адресу електронної пошти, можуть бути надіслані користувачеві, який завантажив суперечливий контент.
</p>

<p>
	<br>
	Будь ласка, пам'ятайте, що, надіславши подібний запит на видалення контенту, ви переносите проблему в правове поле.
</p>

<p>
	Уникайте подання помилкових скарг. Це може призвести до блокування вашого облікового запису або інших юридичних наслідків.<br>
	 
</p>

<p>
	Також повідомляємо, що компанія не має ні технічної можливості, ні повноважень для боротьби з порушенням ваших авторських прав на інших веб-сайтах.
</p>
]]></description><guid isPermaLink="false">2</guid><pubDate>Tue, 08 Jun 2021 20:49:30 +0000</pubDate></item><item><title>&#x412;&#x456;&#x440;&#x442;&#x443;&#x430;&#x43B;&#x44C;&#x43D;&#x438;&#x439; &#x430;&#x43A;&#x430;&#x443;&#x43D;&#x442; &#x430;&#x432;&#x442;&#x43E;&#x440;&#x430;</title><link>https://opencartforum.com/faq/developers/sales/</link><description><![CDATA[<p>
	Автор має діючий віртуальний рахунок на opencartforum.com в USD.<br>
	 
</p>

<p>
	Автор може продавати свої доповнення у валюті USD.<br>
	 
</p>

<p>
	Після здійснення оплати за розширення, кошти на рахунку автора відображаються миттєво та автоматично.<br>
	 
</p>

<p>
	Оплачені кошти відображаються на віртуальному рахунку автора за вирахуванням комісії форуму. (див п.2.5 <a href="https://opencartforum.com/articles/docs/platizhna-politika-r173/" rel="">платіжної політики</a>).
</p>

<p>
	<strong>Регламент виведення коштів.</strong><br>
	 
</p>

<ul>
	<li>
		Виведення коштів відбувається за запитом від автора розширення через особистий кабінет (<a href="https://opencartforum.com/clients/credit/" rel="">https://opencartforum.com/clients/credit/</a>).<br>
		Кнопка на виведення коштів з'являється одразу після першого продажу модуля.
	</li>
	<li>
		Поріг виведення: платіжна політика пункту п. 3.6.<br>
		 
	</li>
</ul>

<p>
	Мінімальна сума виведення коштів 100 USD.
</p>

<p>
	Виведення коштів ви можете замовляти по обліковому запису не більше 2 разів на місяць.<br>
	 
</p>

<p>
	Надалі система обробки таких запитів буде автоматизована, на сьогоднішній день проводитиметься розрахунок на запит.<br>
	 
</p>

<ul>
	<li>
		Виведення коштів здійснюється на гаманець користувача в системі PayPal або на платіжну картку Visa/MasterCard.
	</li>
</ul>

<p>
	<br>
	<strong>Комісії</strong><br>
	 
</p>

<p>
	Webrov Group OU завжди бере всю комісію за виведення коштів із віртуального облікового запису автора в USD на себе.
</p>

<p>
	Ви повинні враховувати, що під час зарахування Ваш банк може списувати комісію додатково "за зарахування на картковий рахунок", уточнюйте тарифікацію за Вашою карткою у Вашому банку.
</p>
]]></description><guid isPermaLink="false">4</guid><pubDate>Tue, 08 Jun 2021 21:11:25 +0000</pubDate></item><item><title>API &#x43A;&#x430;&#x442;&#x430;&#x43B;&#x43E;&#x433;&#x430; &#x440;&#x43E;&#x437;&#x448;&#x438;&#x440;&#x435;&#x43D;&#x44C;</title><link>https://opencartforum.com/faq/developers/api/</link><description><![CDATA[<p>
	Для отримання сповіщень про покупки на форумі Вам необхідно в розділі <a href="https://opencartforum.com/clients/info/" rel="">https://opencartforum.com/clients/info/</a><br>
	додати  <strong>Callback URL</strong> та<strong> Secret Key</strong>. На стороні Вашого сервера зробіть прийом даних, відтестувати роботу можна в розділі <a href="https://opencartforum.com/clients/info/" rel="">персональні дані</a><br>
	<br>
	Приклад:
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted" id="ips_uid_8851_7" style=""><span class="pun">&lt;?</span><span class="pln">php 
</span><span class="kwd">namespace</span><span class="pln"> </span><span class="typ">OpenCartForum</span><span class="pln">\API</span><span class="pun">;</span><span class="pln">

</span><span class="kwd">class</span><span class="pln"> </span><span class="typ">Purchases</span><span class="pln"> 
</span><span class="pun">{</span><span class="pln">
	</span><span class="kwd">private</span><span class="pln"> $private_key</span><span class="pun">;</span><span class="pln">

	</span><span class="kwd">private</span><span class="pln"> </span><span class="kwd">static</span><span class="pln"> $instance </span><span class="pun">=</span><span class="pln"> </span><span class="kwd">null</span><span class="pun">;</span><span class="pln">
	</span><span class="kwd">private</span><span class="pln"> $headers </span><span class="pun">=</span><span class="pln"> </span><span class="pun">[];</span><span class="pln">

	</span><span class="kwd">public</span><span class="pln"> </span><span class="kwd">static</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> getInstance</span><span class="pun">(</span><span class="pln">$private_key</span><span class="pun">)</span><span class="pln">
	</span><span class="pun">{</span><span class="pln">
		</span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="kwd">self</span><span class="pun">::</span><span class="pln">$instance </span><span class="pun">!==</span><span class="pln"> </span><span class="kwd">null</span><span class="pun">)</span><span class="pln"> 
		</span><span class="pun">{</span><span class="pln">
			</span><span class="kwd">return</span><span class="pln"> </span><span class="kwd">self</span><span class="pun">::</span><span class="pln">$instance</span><span class="pun">;</span><span class="pln">
		</span><span class="pun">}</span><span class="pln">

		</span><span class="kwd">self</span><span class="pun">::</span><span class="pln">$instance </span><span class="pun">=</span><span class="pln"> </span><span class="kwd">new</span><span class="pln"> </span><span class="kwd">self</span><span class="pun">(</span><span class="pln">$private_key</span><span class="pun">);</span><span class="pln">

		</span><span class="kwd">return</span><span class="pln"> </span><span class="kwd">self</span><span class="pun">::</span><span class="pln">$instance</span><span class="pun">;</span><span class="pln">
	</span><span class="pun">}</span><span class="pln">

	</span><span class="kwd">public</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> getPurchase</span><span class="pun">()</span><span class="pln"> 
	</span><span class="pun">{</span><span class="pln">
		</span><span class="kwd">return</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">auth</span><span class="pun">()</span><span class="pln"> </span><span class="pun">?</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">getForm</span><span class="pun">()</span><span class="pln"> </span><span class="pun">:</span><span class="pln"> </span><span class="kwd">false</span><span class="pun">;</span><span class="pln">
	</span><span class="pun">}</span><span class="pln">

	</span><span class="kwd">private</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> __construct</span><span class="pun">(</span><span class="pln">$private_key</span><span class="pun">)</span><span class="pln"> 
	</span><span class="pun">{</span><span class="pln">
		$this</span><span class="pun">-&gt;</span><span class="pln">private_key </span><span class="pun">=</span><span class="pln"> $private_key</span><span class="pun">;</span><span class="pln">
	</span><span class="pun">}</span><span class="pln">

	</span><span class="kwd">private</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> getForm</span><span class="pun">()</span><span class="pln"> 
	</span><span class="pun">{</span><span class="pln">
		</span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">empty</span><span class="pun">(</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">form</span><span class="pun">))</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
			$this</span><span class="pun">-&gt;</span><span class="pln">form </span><span class="pun">=</span><span class="pln"> json_decode</span><span class="pun">(</span><span class="pln">file_get_contents</span><span class="pun">(</span><span class="str">'php://input'</span><span class="pun">),</span><span class="pln"> </span><span class="kwd">true</span><span class="pun">);</span><span class="pln">
		</span><span class="pun">}</span><span class="pln">

		</span><span class="kwd">return</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">form</span><span class="pun">;</span><span class="pln">
	</span><span class="pun">}</span><span class="pln">

	</span><span class="kwd">private</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> auth</span><span class="pun">()</span><span class="pln"> 
	</span><span class="pun">{</span><span class="pln">
		</span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">empty</span><span class="pun">(</span><span class="pln">$form </span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">getForm</span><span class="pun">())</span><span class="pln"> </span><span class="pun">||</span><span class="pln"> empty</span><span class="pun">(</span><span class="pln">$form</span><span class="pun">[</span><span class="str">'hash'</span><span class="pun">])</span><span class="pln"> </span><span class="pun">||</span><span class="pln"> empty</span><span class="pun">(</span><span class="pln">$form</span><span class="pun">[</span><span class="str">'order'</span><span class="pun">])</span><span class="pln"> </span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
			$this</span><span class="pun">-&gt;</span><span class="pln">addHeader</span><span class="pun">(</span><span class="str">"{$_SERVER['SERVER_PROTOCOL']} 400 Bad Request"</span><span class="pun">);</span><span class="pln">
			</span><span class="kwd">return</span><span class="pln"> </span><span class="kwd">false</span><span class="pun">;</span><span class="pln">

		</span><span class="pun">}</span><span class="pln"> 

		</span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln"> </span><span class="pun">!</span><span class="pln"> hash_equals</span><span class="pun">(</span><span class="pln"> hash_hmac</span><span class="pun">(</span><span class="str">'md5'</span><span class="pun">,</span><span class="pln"> </span><span class="pun">(</span><span class="pln">\strlen</span><span class="pun">(</span><span class="pln">$form</span><span class="pun">[</span><span class="str">'order'</span><span class="pun">][</span><span class="str">'id'</span><span class="pun">])</span><span class="pln"> </span><span class="pun">.</span><span class="pln"> $form</span><span class="pun">[</span><span class="str">'order'</span><span class="pun">][</span><span class="str">'id'</span><span class="pun">]</span><span class="pln"> 
			</span><span class="pun">.</span><span class="pln"> \strlen</span><span class="pun">(</span><span class="pln">$form</span><span class="pun">[</span><span class="str">'order'</span><span class="pun">][</span><span class="str">'date'</span><span class="pun">])</span><span class="pln"> </span><span class="pun">.</span><span class="pln"> $form</span><span class="pun">[</span><span class="str">'order'</span><span class="pun">][</span><span class="str">'date'</span><span class="pun">]),</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">private_key</span><span class="pun">),</span><span class="pln"> $form</span><span class="pun">[</span><span class="str">'hash'</span><span class="pun">])</span><span class="pln"> </span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
			
			$this</span><span class="pun">-&gt;</span><span class="pln">addHeader</span><span class="pun">(</span><span class="str">"{$_SERVER['SERVER_PROTOCOL']} 401 Unauthorized"</span><span class="pun">);</span><span class="pln">
			$this</span><span class="pun">-&gt;</span><span class="pln">addHeader</span><span class="pun">(</span><span class="str">'Content-Type: application/json; charset=UTF-8'</span><span class="pun">);</span><span class="pln">
			$this</span><span class="pun">-&gt;</span><span class="pln">addHeader</span><span class="pun">(</span><span class="str">'State: Unauthorized'</span><span class="pun">);</span><span class="pln">
			</span><span class="kwd">return</span><span class="pln"> </span><span class="kwd">false</span><span class="pun">;</span><span class="pln">
		</span><span class="pun">}</span><span class="pln">

		$this</span><span class="pun">-&gt;</span><span class="pln">addHeader</span><span class="pun">(</span><span class="str">"{$_SERVER['SERVER_PROTOCOL']} 200 OK"</span><span class="pun">);</span><span class="pln">
		$this</span><span class="pun">-&gt;</span><span class="pln">addHeader</span><span class="pun">(</span><span class="str">'Content-Type: application/json; charset=UTF-8'</span><span class="pun">);</span><span class="pln">

		</span><span class="kwd">switch</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$form</span><span class="pun">[</span><span class="str">'status'</span><span class="pun">])</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
			</span><span class="kwd">case</span><span class="pln"> </span><span class="str">'auth'</span><span class="pun">:</span><span class="pln">
				$this</span><span class="pun">-&gt;</span><span class="pln">addHeader</span><span class="pun">(</span><span class="str">'State: Authorized'</span><span class="pun">);</span><span class="pln">
				</span><span class="kwd">return</span><span class="pln"> </span><span class="kwd">false</span><span class="pun">;</span><span class="pln">
			
			</span><span class="kwd">case</span><span class="pln"> </span><span class="str">'success'</span><span class="pun">:</span><span class="pln">
				$this</span><span class="pun">-&gt;</span><span class="pln">addHeader</span><span class="pun">(</span><span class="str">'State: Received'</span><span class="pun">);</span><span class="pln">
				</span><span class="kwd">return</span><span class="pln"> </span><span class="kwd">true</span><span class="pun">;</span><span class="pln">
		</span><span class="pun">}</span><span class="pln">
	</span><span class="pun">}</span><span class="pln">

	</span><span class="kwd">private</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> addHeader</span><span class="pun">(</span><span class="pln">$header</span><span class="pun">)</span><span class="pln"> 
	</span><span class="pun">{</span><span class="pln">
		$this</span><span class="pun">-&gt;</span><span class="pln">headers</span><span class="pun">[]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $header</span><span class="pun">;</span><span class="pln">
	</span><span class="pun">}</span><span class="pln">

	</span><span class="kwd">private</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> output</span><span class="pun">(</span><span class="pln">array $data </span><span class="pun">=</span><span class="pln"> </span><span class="pun">[])</span><span class="pln"> 
	</span><span class="pun">{</span><span class="pln">
		</span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(!</span><span class="pln">headers_sent</span><span class="pun">())</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
			</span><span class="kwd">foreach</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">headers </span><span class="kwd">as</span><span class="pln"> $header</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
				header</span><span class="pun">(</span><span class="pln">$header</span><span class="pun">,</span><span class="pln"> </span><span class="kwd">true</span><span class="pun">);</span><span class="pln">
			</span><span class="pun">}</span><span class="pln">
		</span><span class="pun">}</span><span class="pln">

		echo json_decode</span><span class="pun">(</span><span class="pln">$data</span><span class="pun">);</span><span class="pln">
		</span><span class="kwd">die</span><span class="pun">;</span><span class="pln">
	</span><span class="pun">}</span><span class="pln">

	</span><span class="kwd">public</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> __destruct</span><span class="pun">()</span><span class="pln"> 
	</span><span class="pun">{</span><span class="pln">
		$this</span><span class="pun">-&gt;</span><span class="pln">output</span><span class="pun">();</span><span class="pln">
	</span><span class="pun">}</span><span class="pln">
</span><span class="pun">}</span><span class="pln">

</span><span class="com">/* Cекретный ключ, указаный на форуме в разделе https://opencartforum.com/clients/info/, там же укажите Callback URL */</span><span class="pln">
$private_key		</span><span class="pun">=</span><span class="pln"> </span><span class="str">"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"</span><span class="pun">;</span><span class="pln">
$opencartforum_api 	</span><span class="pun">=</span><span class="pln"> \OpenCartForum\API\Purchases</span><span class="pun">::</span><span class="pln">getInstance</span><span class="pun">(</span><span class="pln">$private_key</span><span class="pun">);</span><span class="pln">

</span><span class="kwd">if</span><span class="pln"> </span><span class="pun">((</span><span class="pln">$purchase_info </span><span class="pun">=</span><span class="pln"> $opencartforum_api</span><span class="pun">-&gt;</span><span class="pln">getPurchase</span><span class="pun">()))</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
	$file </span><span class="pun">=</span><span class="pln"> $_SERVER</span><span class="pun">[</span><span class="str">'DOCUMENT_ROOT'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">.</span><span class="pln"> </span><span class="str">'/ocf-purchase.log'</span><span class="pun">;</span><span class="pln">
	
	$f </span><span class="pun">=</span><span class="pln"> fopen</span><span class="pun">(</span><span class="pln">$file</span><span class="pun">,</span><span class="pln"> </span><span class="str">'w+'</span><span class="pun">);</span><span class="pln">
	fwrite</span><span class="pun">(</span><span class="pln">$f</span><span class="pun">,</span><span class="pln"> print_r</span><span class="pun">(</span><span class="pln">$purchase_info</span><span class="pun">,</span><span class="pln"> </span><span class="kwd">true</span><span class="pun">));</span><span class="pln">
	fclose</span><span class="pun">(</span><span class="pln">$f</span><span class="pun">);</span><span class="pln">
</span><span class="pun">}</span></pre>

<p>
	 
</p>

<p style="background-color:#ffffff; color:#353c41; font-size:14px; text-align:start">
	<strong>Відповідь має містити обов'язкові заголовки:</strong>
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted" id="ips_uid_7605_7" style=""><span class="pln">Content-Type: application/json; charset=UTF-8

State: Unauthorized - Неуспешная авторизация
State: Authorized - Успешная авторизация, готов получить форму
State: Received	- Форма успешно принята</span></pre>

<p style="background-color:#ffffff; color:#353c41; font-size:14px; text-align:start">
	 
</p>

<p>
	Ми надсилаємо два запити, перший запит авторизації, другий запит із формою. Код стану HTTP має бути 200.
</p>

<p>
	 
</p>

<p>
	<strong>Повідомлення про продаж матимуть структуру:</strong>
</p>

<p>
	 
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted" id="ips_uid_9904_21" style=""><span class="pln">Array
(
    [marketplace] =&gt; (string) opencartforum
    [hash] =&gt; (string) 74e6f7298a9c2XXXXXXXXXXXXX,
    [status] =&gt; (string) success | auth,
    [order] =&gt; Array
        (
            [id] =&gt; (int) 1090XXX
            [date] =&gt; (int) 1614040731
            [domain] =&gt; (strinng) domain.com
            [test_domain] =&gt; (strinng) test.domain.com
            [options]=&gt; array (
                    [1]=&gt; array (
                      ["cost"]=&gt; string(7) 2000.00
                      ["name"]=&gt; string(36) Установка: 2 000.00 руб
                    )
            	)
            [discount]=&gt; array (
                  [amount]=&gt; string(4) 1260 // Price 
                  [name]=&gt;  string(112) (string) File - 10%
                )
            [coupon]=&gt;  array (
                        [code]=&gt; string(14) 1237-promo2021
                        [discount]=&gt; string(4) 1344 // Price 
                        [text]=&gt;  string(16) 1344.00 руб
                      )
            [total] =&gt; Array
                (
                    [currency] =&gt; (string) RUB  // Или USD
                    [amount] =&gt; (float) 300
                )
            [quantity]   =&gt; (int) 1
            [commission] =&gt; (int) 30
        )

    [developer] =&gt; Array
        (
            [id] =&gt; (int) XXXX
            [name] =&gt; (string) developer
            [email] =&gt; (string) developer@gmail.com
            [link] =&gt; (string) https://opencartforum.com/profile/XXXX-developer/
            [credits] =&gt; Array
                (
                    [0] =&gt; Array
                        (
                            [currency] =&gt; (string) RUB
                            [amount] =&gt; (float) 6939.46
                        )

                    [1] =&gt; Array
                        (
                            [currency] =&gt; (string) USD
                            [amount] =&gt; (float) 3701.44
                        )

                )

        )

    [customer] =&gt; Array
        (
            [id] =&gt; (int) XXXX
            [name] =&gt; (string) Customer
            [email] =&gt; (string) customer@gmail.com
            [link] =&gt; (string) https://opencartforum.com/profile/XXXX-customer/
        )

    [file] =&gt; Array
        (
            [id] =&gt; (int) XXXX
            [name] =&gt; (string) File
            [basePrice] = Array 
                         ( 
                                [0] =&gt; Array 
                              ( 
                                [currency] =&gt; (string) RUB 
                                [amount] =&gt; (float) 750.00 
                              ) 
                                [1] =&gt; Array 
                              ( 
                                [currency] =&gt; (string) USD 
                                [amount] =&gt; (float) 10.00
                              ) 
                          )
            [link] =&gt; (string) https://opencartforum.com/files/file/XXXX-file/
        )

)</span></pre>

<p>
	 
</p>

<p>
	Обговорення API форума відбувається в темі:
</p>
<iframe class="ipsEmbed_finishedLoading" data-embedcontent="" data-embedid="embed5057723033" frameborder="0" id="ips_uid_7069_6" scrolling="no" src="https://opencartforum.com/applications/core/interface/index.html" style="overflow: hidden; height: 397px; max-width: 502px;" data-embed-src="https://opencartforum.com/topic/70918-api-kataloga-dopolneniy/?do=embed"></iframe>

<p>
	 
</p>
]]></description><guid isPermaLink="false">5</guid><pubDate>Tue, 08 Jun 2021 21:13:33 +0000</pubDate></item><item><title>&#x420;&#x435;&#x433;&#x43B;&#x430;&#x43C;&#x435;&#x43D;&#x442; &#x43F;&#x440;&#x43E;&#x434;&#x430;&#x436;&#x456;&#x432; &#x442;&#x430; &#x43F;&#x456;&#x434;&#x442;&#x440;&#x438;&#x43C;&#x43A;&#x438; &#x440;&#x43E;&#x437;&#x448;&#x438;&#x440;&#x435;&#x43D;&#x44C;</title><link>https://opencartforum.com/faq/developers/sales-and-support/</link><description><![CDATA[<p>
	<strong>Регламент продажу.</strong>
</p>

<p>
	 
</p>

<ul>
	<li>
		Купувати розширення можуть лише зареєстровані користувачі на форумі.
	</li>
	<li>
		Доступ до модуля покупець отримує тільки після факту надходження грошей на рахунок компанії Webrov Group OU. Як правило це відбувається миттєво.<br>
		 
	</li>
</ul>

<p>
	<strong>Оплата та отримання ліцензії:</strong><br>
	 
</p>

<ul>
	<li>
		При покупці розширень Ви отримуєте право на завантаження розширень та їх оновлення (якщо останнє передбачено автором). Але у разі блокування аккаунта за порушення <a href="https://opencartforum.com/articles/docs/public-offer/" rel="">умов публічної оферти</a>, можливість завантаження та оновлення розширень буде припинена.
	</li>
	<li>
		У разі, якщо Ви оплатили розширення, але за якими-небудь причинами протягом 15 хвилин воно не стало доступним Вам для завантаження - звертайтеся в систему тикетів. <a href="https://opencartforum.com/support" ipsnoembed="true" rel="">https://opencartforum.com/support</a> для перевірки та підтвердження оплати. <br>
		 
	</li>
</ul>

<p>
	<u>Для фізичних осіб:</u>
</p>

<p>
	На даний момент здійснити покупку ви можете через PayPal, Paysera, Volet або оплатити покупку карткою Visa/MasterCard.
</p>

<p>
	 
</p>

<p>
	<u>Для юридичних осіб:</u>
</p>

<p>
	На даний момент здійснити покупку ви можете через PayPal, оплатити корпоративною карткою Visa/MasterCard або запросити інвойс для оплати на розрахунковий рахунок в банку, через тикет-систему. <a href="https://opencartforum.com/support" ipsnoembed="true" rel="">https://opencartforum.com/support</a> 
</p>

<p>
	 
</p>

<p>
	<strong>Оновлення та підтримка розширень:</strong><br>
	 
</p>

<p>
	п. 9.4. Якщо інше не встановлено Розробником в описі Ліцензії на відповідній веб-сторінці конкретного Об'єкта на Платформі, термін Ліцензії становить 365 днів з дня активації Об'єкта. Термін підтримки Об'єктів Розробником не вище терміну Ліцензії.<br>
	 
</p>

<p>
	<strong>Ровернення розширень:</strong><br>
	 
</p>

<p>
	Куплене через Платформу програмне забезпечення, а також доповнення до нього, як і ліцензія на його використання, поверненню не підлягає, крім випадків дефекту або невідповідності опису. Оплата споживачем такого програмного забезпечення свідчить про його попередню та пряму згоду на виконання Компанією своїх обов’язків відповідно до умов цього <a href="https://opencartforum.com/articles/docs/public-offer/" rel="">Публічного Договору</a>.<br>
	 
</p>

<p>
	Політика повернення:
</p>

<p>
	<a href="https://opencartforum.com/articles/docs/refunds/" ipsnoembed="true" rel="">https://opencartforum.com/articles/docs/refunds/</a>
</p>

<p>
	 
</p>
]]></description><guid isPermaLink="false">6</guid><pubDate>Tue, 08 Jun 2021 21:17:06 +0000</pubDate></item><item><title>&#x42F;&#x43A; &#x437;&#x440;&#x43E;&#x431;&#x438;&#x442;&#x438; &#x430;&#x43A;&#x446;&#x456;&#x439;&#x43D;&#x443; &#x446;&#x456;&#x43D;&#x443; (&#x434;&#x435;&#x442;&#x430;&#x43B;&#x44C;&#x43D;&#x430; &#x456;&#x43D;&#x441;&#x442;&#x440;&#x443;&#x43A;&#x446;&#x456;&#x44F;)</title><link>https://opencartforum.com/faq/developers/discount-for-sales/</link><description><![CDATA[<p>
	<span style="background-color: rgb( var(--theme-area_background_reset) ); color: rgb( var(--theme-text_color) );">Заходимо до редагування розширення та спускаємося до розділу редагування ціни.</span><br>
	 
</p>

<p>
	<img class="ipsImage ipsImage_thumbnailed" data-fileid="790647" data-ratio="170.63" data-unique="qstztnntv" width="412" alt="image.png" data-src="https://opencartforum.com/storage/attachment/monthly_2024_05/image.png.1ad195c3e957a960cca7ef5522c151dd.png" src="https://opencartforum.com/applications/core/interface/js/spacer.png">
</p>

<p>
	 
</p>

<p>
	<span style="background-color: rgb( var(--theme-area_background_reset) ); color: rgb( var(--theme-text_color) );">Ставимо нову ціну, потім у полі "Знижка", вибираємо "так"</span>
</p>

<p>
	 
</p>

<p>
	<img class="ipsImage ipsImage_thumbnailed" data-fileid="790648" data-ratio="77.10" data-unique="0aut6txhk" width="572" alt="image.png" data-src="https://opencartforum.com/storage/attachment/monthly_2024_05/image.png.49631ed05ee19d792cb0eed4fedb21a5.png" src="https://opencartforum.com/applications/core/interface/js/spacer.png">
</p>

<p>
	 
</p>

<p>
	<span style="background-color: rgb( var(--theme-area_background_reset) ); color: rgb( var(--theme-text_color) );">Після вказуємо стару ціну у відповідному полі, вона буде виділена червоним кольором і буде перекреслена.</span>
</p>
]]></description><guid isPermaLink="false">25</guid><pubDate>Tue, 08 Jun 2021 22:18:54 +0000</pubDate></item></channel></rss>
