4

我正在为 FSSnet(印度支付网关)创建一个 Prestashop 支付集成模块。

我需要将一些用户定义的字段传递给支付网关,其中一些来自当前指定的订单发货地址(如电话号码等)

虽然我在浏览了各种公共类和全局变量之后提取了大部分字段,但我仍然保留了地址详细信息。

仅供参考,我需要来自 AddressCore 类的值(别名为 Address,存在于 /classes/Address.php 中):

/** @var string Firstname */
public $firstname;

/** @var string Address first line */
public $address1;

/** @var string Address second line (optional) */
public $address2;

/** @var string Postal code */
public $postcode;

我认为这很简单(或者可能是),但我无法找到正确的方法来使用成员访问运算符从 Address 类中提取这些公共变量。

此外,我需要在hookPayment函数下从模块的主 php 文件(例如 mymodulename.php)中获取这些值,而不是通过 SMARTY tpl 文件。我想那会更简单。

更新::找到解决方案。必须通过地址对象进行调试。以下代码有效。

$user_address = new Address(intval($params['cart']->id_address_invoice));

接着

$udf3 = "udf3=".$user_address->phone;

谢谢你。

4

1 回答 1

3

尝试这个

通过从当前购物车中检索 id 创建地址对象。

$address = new Address($this->context->cart->id_address_delivery);
于 2018-05-09T06:09:37.613 回答