首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Omnipay中使用FirstData

在Omnipay中使用FirstData
EN

Stack Overflow用户
提问于 2015-12-11 19:18:17
回答 1查看 427关注 0票数 0

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

代码语言:javascript
复制
<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_Connect Omnipay库。

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

那么,如何构造PHP端以利用Omnipay库呢?到目前为止,我已经做到了;

代码语言:javascript
复制
$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;

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

代码语言:javascript
复制
"message":"The card parameter is required",
"class":"Omnipay\\Common\\Exception\\InvalidRequestException
EN

回答 1

Stack Overflow用户

发布于 2015-12-12 11:47:11

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

当你说根据文档,我可以像这样提交一个表单--你说的是什么文档?我对FirstData和他们的各种选项不是很熟悉。

这听起来像是您需要开发或已经开发了一个新的FirstData网关,它将返回一个RedirectResponse对象,其中包含您将客户发送到的输入他们的卡数据的URL,并使用您在初始调用中传递的responseSuccess|Failure URL之一返回您的应用程序。这基本上就是PayPal和其他重定向网关的工作方式,所以您可能希望开始查看它们,而不是现有的FirstData网关。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34222319

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档