0

我无法将文档从 eway 映射到 omnipay eway 代码。

阅读 eway 文档Rapid 3.0 透明重定向 API(第 23 页)使用字段InvoiceReference '该交易的商家参考号'。我想在我的网站上使用它作为 UUID。然后我的响应处理程序可以匹配该 UUID 并确认付款。

我遇到的问题是将 eway API 中的文档与omnipay 中的代码相匹配。

在 eway/src/Message/RapidPurchaseRequest.php 中有:

$data['Payment'] = array();
$data['Payment']['TotalAmount'] = $this->getAmountInteger();
$data['Payment']['InvoiceNumber'] = $this->getTransactionId();
$data['Payment']['InvoiceDescription'] = $this->getDescription();
$data['Payment']['CurrencyCode'] = $this->getCurrency();

但没有关于“InvoiceReference”的信息。我知道omnipay 网关有自己的变量名称编辑规则,如果文档不是那么稀疏,我可能会解决它。

那么,我可以将(eway)InvoiceReference(字符串:50)属性与omnipay一起使用吗?还是只是没有在 eway 模块中实现?

4

1 回答 1

3

2015 年 2 月更新:我的拉取请求已被接受,并且发票参考已添加到 OmniPay eWAY 库中。


您是对的 - 该字段尚未在 eWAY 模块中实施,目前只有与 eWAY 字段匹配的标准 OmniPay 字段已实施。

您可以修改RapidPurchaseRequest该类以添加 get/set 函数并将该InvoiceReference字段包含在其他Payment变量中。

或者,如果您不想修改 OmniPay 模块,您可以在发送代码之前更改代码中的数据:

$data = $request->getData();
$data['Payment']['InvoiceReference'] = 'INV-0001';
$response = $request->sendData($data);

如果您需要一个唯一 ID,则对该请求的响应带有AccessCode变量,该变量被记录为“用于识别此交易的唯一访问代码”。这也是您可以用来获取交易结果的代码。

于 2014-05-19T12:53:56.703 回答