在Prestashop支付模块中检索当前地址详细信息

时间:2013-12-25 23:08:51

标签: php payment-gateway prestashop prestashop-1.5

我正在为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文件。我想这会更简单。

更新:: 找到了解决方案。不得不通过Address对象进行调试。 以下代码有效。

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

然后

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

谢谢。

1 个答案:

答案 0 :(得分:2)

试试这个

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

$address = new Address($this->context->cart->id_address_delivery);