0

我正在为 oxwall 开发一个计费插件。缺乏文档是地狱,我想知道为什么这不是优先事项。

我使用了 paypal 和 ccbill 插件作为指南,到目前为止,一切都很好,易于管理。

现在,我需要将订单提交到网关。对于 paypal 和 ccbill,他们希望在 html POST 中提供详细信息。但是,对于此网关 ( Paystack ),订单详细信息必须作为 JSON 文档提交,带有 Authorization 标头...然后标头重定向到 authorization_url。

我会很感激所有的帮助。

4

1 回答 1

0

好的,我通过 1 弄清楚了这一点。利用网关的 PHP 库......它支持 guzzle 和 cURL 作为后备。2. 在 form() 中调用事务初始化参见下面的代码片段...

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();

    }
于 2016-12-29T17:35:42.397 回答