0

根据文档,我可以提交这样的表格(示例);

<form method="post" action="https://test.ipg-online.com/connect/gateway/processing">
    <input type="hidden" name="txntype" value="sale">
    <input type="hidden" name="timezone" value="CET"/>
    <input type="hidden" name="txndatetime" value="2015:12:11-09:12:47"/>
    <input type="hidden" name="hash" value="7a17dcc15df2819649ca80b7921"/>
    <input type="hidden" name="storename" value="12345678"/>
    <input type="hidden" name="mode" value="fullpay"/>
    <input type="text"   name="chargetotal" value="13.00"/>
    <input type="hidden" name="currency" value="826"/>
    <input type="hidden" name="responseSuccessURL" value="http://example.co.uk/thanks" />
    <input type="hidden" name="responseFailURL" value="http://example.co.uk/failure" />
    <input type="submit" value="Submit">
</form>

这将使用 Postman 之类的东西(但我在storename这里没有提供正确的)。我所说的“工作”是指您进入他们的网关并可以输入您的卡详细信息和送货地址等。

为了获得正确的信息hashtxndatetime我可以使用FirstData_ConnectOmnipay 库。

我以为我可以只使用public function getData但实际上,这需要有关用户卡、cvv 代码、到期等的详细信息。我不想在我的网站上有这样的界面,我只希望用户能够点击到https://test.ipg-online.com/connect/gateway/processing - 就像上面的表单示例一样。

那么如何构建 PHP 端以使用 Omnipay 库呢?到目前为止,我有;

$gateway = Omnipay::create('FirstData_Connect');
$gateway->setStoreId($storeId);
$gateway->setSharedSecret($sharedSecret);

$response = $gateway->purchase(array(
    'returnUrl' => $returnUrl . '?' . http_build_query($arguments),
    'cancelUrl' => $cancelUrl,
    'amount' => $payment->getAmount(),
    'transactionId' => $paymentId,
))->send();

$result = $response->getData();
return $result;

但是,正如我上面所说,我还需要提交用户卡的详细信息。所以我得到了错误;

"message":"The card parameter is required",
"class":"Omnipay\\Common\\Exception\\InvalidRequestException
4

1 回答 1

0

好的,听起来您需要一个与当前 FirstData_Connect 和 FirstData_Global 网关工作方式不同的网关。这两个都是直接的信用卡网关,属于您提交完整购买请求(包括卡数据)的类型。您似乎正在与之交谈的是重定向网关(很像 PayPal 网关)。

当您说根据文档时,我可以提交这样的表格-您在说什么文档?我对 FirstData 及其各种选项不太熟悉。

听起来您需要为 FirstData 开发或已经开发了一个新网关,它将返回一个 RedirectResponse 对象,其中包含您发送客户输入他们的卡数据并使用其中一个响应返回到您的应用程序的 URL [成功|失败] 您在初始调用中传递的 URL。这基本上就是 PayPal 和其他重定向网关的工作方式,因此您可能希望从那里开始寻找,而不是在现有的 FirstData 网关中。

于 2015-12-12T03:47:10.520 回答