Получение oxwall для отправки документа JSON

Я работаю над биллинговым плагином для oxwall. Отсутствие документации-это ад, и я удивляюсь, почему это не является приоритетом.

Я использовал Плагины paypal и ccbill в качестве руководства, и до сих пор все было хорошо, управляемо.

Теперь мне нужно отправить заказ на шлюз. Для paypal и ccbill они ожидают сведения в HTML-сообщении. Однако для этого шлюза ( Paystack ) детали заказа должны быть представлены в виде документа JSON с заголовком авторизации…затем перенаправление заголовка на authorization_url.

Буду признателен за помощь.

1 ответ

  1. Хорошо, я понял это
    1. Использование библиотеки PHP для шлюза…который поддерживает обжорство и скручиваемость как запасной вариант.
    2. вызов транзакции инициализировать внутри формы()
    См. фрагмент ниже…

    if ( $billingService->prepareSale($adapter, $sale) )
        {
            $totalAmount = floatval($sale->totalAmount * 100); //convert to kobo
            $saleHash = $sale->hash;
            $userEmail = $userService->findUserById($sale->userId)->getEmail();
            $metadata = array(
                    'itemName' => $sale->entityDescription,
                    'itemID' => $sale->entityKey,
            );
    
            $response = $paystack->transaction->initialize([
                    'reference' => $saleHash,
                    'amount' => $totalAmount, // in kobo
                    'email' => $userEmail,
                    'callback_url' => $fields['notify_url'],
                    'metadata' => json_encode($metadata),
            ]);
    
            $url = $response->data->authorization_url;
    
            $masterPageFileDir = OW::getThemeManager()->getMasterPageTemplate('blank');
            OW::getDocument()->getMasterPage()->setTemplate($masterPageFileDir);
    
            header('Location: '.$url);
    
            $billingService->unsetSessionSale();
    
        }