Jump to content

Skrypty typu „.../payment” lub „.../payment.php” realizujące zamówienie poprzez AJAX


Kamil Szmit

Recommended Posts

Chciałbym zrobić skrypty PHP „.../payment” lub „.../payment.php” i „.../status” lub „.../status.php” w module do PrestaShop, do których można wysyłać żądania AJAX POST. Skrypty powinny mieć możliwość użycia skryptu, w którym można by było pobrać informację ze sklepu, głównie o zamówieniu, i zrealizować zamówienie. Skrypty JavaScript konstruujące żądania AJAX są już zrobione w szablonie "views/templates/front/payment.tpl". Moduł tworzy nowy rodzaj płatności, a skrypty działają po jego wybraniu przy składaniu zamówienia. Czy powinienem zrobić kontroler dziedziczący po klasie "OrderController"? Próbuję robić w ten sposób w skrypcie "controllers/payment/index.php":

<?php
//require ...
class PaymentController extends OrderController
{
    /**
     * @var Module
     */
    public $module;
 
    private $shop;
 
    public function __construct()
    {
        $this->controller_type = 'payment';
 
        $this->module = Module::getInstanceByName(Tools::getValue('module'));
         
        // $this->shop = new ...
        // (...)
 
        parent::__construct();
    }
 
    public function initiatePayment()
    {
        $this->shop->paymentInitiation();
    }
 
    public function checkStatus($taskId, $cb)
    {
        $this->shop->paymentStatus($taskId, $cb);
    }
 
}

Jak powinienem zrobić „akcje” typu „.../payment” lub „.../payment.php”, która wywoła "initiatePayment",  i „.../status” lub „.../status.php” wywołującą metodę "checkStatus"? Po jakich pełnych adresach powinienem komunikować się z takimi „akcjami” poprzez AJAX? Moduł będzie korzystał z możliwości PHP 5.3. Proszę o pomoc (rozwiązanie najlepiej jakby było zgodne z PHP 5.3 i starszymi wersjami PrestaShop, ale może wymagać nowszych wersji, jeśli jest to konieczne).
 

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...