通过 Omnipay(我使用 PxPay 网关)将用户重定向到购买页面时,如何为我自己的系统添加某种参考?
基本上我想根据付款存储订单 ID,所以当用户(或通知)回来时,我可以处理订单。
通过 Omnipay(我使用 PxPay 网关)将用户重定向到购买页面时,如何为我自己的系统添加某种参考?
基本上我想根据付款存储订单 ID,所以当用户(或通知)回来时,我可以处理订单。
PxPay 支持多个参数传入,并再次退出。您应该仔细阅读集成指南,它清楚地定义了哪些字段是必需的/可选的、适用的数据类型或限制以及它们应该用于什么。
您可以将字段TxnData1
, TxnData2
,TxnData3
用于任何自定义属性,也MerchantReference
可以将其用于您的示例中的订单 ID。本质上,一旦交易完成,您在这些字段中传递的任何信息都将传回给您。
这是对 PxPay 2.0 的示例请求:
<GenerateRequest>
<PxPayUserId>your_user_id</PxPayUserId>
<PxPayKey>foobar1234</PxPayKey>
<TxnType>Purchase</TxnType>
<AmountInput>1.23</AmountInput>
<CurrencyInput>NZD</CurrencyInput>
<MerchantReference>YOUR_ORDER_ID_HERE</MerchantReference>
<TxnData1>Custom data field 1</TxnData1>
<TxnData2>Custom data field 2</TxnData2>
<TxnData3>Custom data field 3</TxnData3>
<UrlSuccess>http://stackoverflow.com</UrlSuccess>
<UrlFail>http://facepalm.com</UrlFail>
</GenerateRequest>
我快速浏览了GitHub 上 Omnipay Payment Express 代码的代码,您会在生成对 PxPay 的请求的类中找到这一行:
public function getData()
{
$this->validate('amount', 'returnUrl');
$data = new SimpleXMLElement('<GenerateRequest/>');
$data->PxPayUserId = $this->getUsername();
$data->PxPayKey = $this->getPassword();
$data->TxnType = $this->action;
$data->AmountInput = $this->getAmount();
$data->CurrencyInput = $this->getCurrency();
$data->MerchantReference = $this->getDescription(); // here's your field
$data->UrlSuccess = $this->getReturnUrl();
$data->UrlFail = $this->getReturnUrl();
return $data;
}
所以看起来当前代码只支持该MerchantReference
字段,尽管我相信您可以添加自己对其他字段的支持。Fork 它在 GitHub 上 - 确保其他人也会欣赏它。