Я работаю над плагином биллинга для oxwall. Отсутствие документации — ад, и мне интересно, почему это не является приоритетом.
Я использовал плагины paypal и ccbill в качестве руководства, и до сих пор все было хорошо, управляемо.
Теперь мне нужно отправить заказ на шлюз. Для paypal и ccbill они ожидают детали в html POST. Тем не менее, для этого шлюза (Paystack) детали заказа должны быть представлены в виде JSON-документа с заголовком Authorization … затем заголовок перенаправить на authorization_url.
Буду признателен за любую помощь.
Хорошо, я понял это
1. Использование библиотеки PHP для шлюза … которая поддерживает guzzle и cURL как запасной вариант.
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();
}
Других решений пока нет …