Shippo API - Laravel实现问题获取空对象结果

时间:2017-04-25 20:33:30

标签: php ajax laravel shippo

我正在尝试使用Shippo来估算订单处理过程中的运费。我正在使用Laravel 5.4和shippo-php

这是关于测试环境的,我在"测试模式"中添加了Purolator Carrier。

输入邮政编码后,调用AJAX脚本调用我的ShippingController中的php函数,根据选择购买的项目计算运费。

返回的响应始终为空{}个对象。

例如,以下shippo请求返回{}

$address = \Shippo_Address::
    create(
        array(
             'object_purpose' => 'QUOTE',
             'name' => 'John Smith',
             'company' => 'Initech',
             'street1' => '6512 Greene Rd.',
             'city' => 'Woodridge',
             'state' => 'IL',
             'zip' => '60517',
             'country' => 'US',
             'phone' => '773 353 2345',
             'email' => 'jmercouris@iit.com',
             'metadata' => 'Customer ID 23424'
        ));

return  $address;
一旦AJAX脚本完成执行,

$ address将打印到我的console.log。

我已经测试了打印出几个函数,看看JSON响应数据是什么,一切都只是EMPTY {} - Shippo_Shipment :: create()和Shippo_CarrierAccount也返回{}

这可能是什么问题?它与测试环境有关吗?

我添加到运营商列表中的purolator详细信息是帐户#/ PRODUCTION KEY ...

如何在搜索费率时指定使用哪种运营商?

1 个答案:

答案 0 :(得分:1)

Shippo PHP库使用JSON友好数据填充对象,因此不需要额外的json_encode()来打印数据。

如果没有关于您如何尝试打印$address数据的更多信息,很难确定它为什么会为空。

在我自己的测试中,我唯一一次返回一个空对象就是当我尝试使用json_encode()时。