【问题标题】:Defining shipping method or rate in EasyPost在 EasyPost 中定义运输方式或费率
【发布时间】:2014-02-17 08:35:27
【问题描述】:

好的,我在一个文件中有以下代码。这只是 EasyPost 简单运输 api 的部分代码

$created_rates = \EasyPost\Rate::create($shipment);

$availableRates = array();

foreach($created_rates as $rate){

    $fedexR = str_replace("FEDEX_", " ", $rate->service);

    $displayS = str_replace("_", " ", $fedexR);

    $displayP = $rate->rate;

    $availableRates[] = $displayS;

}

$_SESSION['displayRates'] = $availableRates;

然后这会将用户引导到选择运输方式的下一步,它们的显示如下:

<?php foreach($_SESSION['displayRates'] as $rate): ?>
     <option value="<?php echo $rate; ?>"><?php echo $rate; ?></option>
<?php endforeach; ?>

这会提交到以下页面:

$_SESSION['shipping_method'] = $_POST['shippingRate'];

$shipment = \EasyPost\Shipment::retrieve(array('id' => $_SESSION['shipment_id']));

$shipment->buy($shipment->rates[1]);

$_SESSION['shipment_label_url'] = $shipment->postage_label->label_url;

echo $_SESSION['shipment_label_url'];

如何使用 EasyPost API 发送选定的运费以告诉它为该运输方式购买邮资?我看到了

$shipment-&gt;buy($shipment-&gt;rates[1]);

我尝试这样做:

$shipment-&gt;buy($shipment-&gt;rates[$_SESSION['shipping_method']]); 但是导致速率根本没有发送。

顺便说一句,会话是像“GROUND”这样的实际单词,而不是数字。不知道如何实现这一点,但如果我想要它工作,我必须这样做!

【问题讨论】:

    标签: php api session archive easypost


    【解决方案1】:

    首先你需要改变你输出&lt;option value="&lt;?php echo $rate; ?&gt;"&gt;&lt;?php echo $rate; ?&gt;&lt;/option&gt;的方式

    应该更像&lt;option value="&lt;?php echo $rate[id]; ?&gt;"&gt;&lt;?php echo $rate[rate].' '.$displayS; ?&gt;&lt;/option&gt;

    您将需要此费率 [id] 来购买这样的运输标签

    $shipment-&gt;buy(array('rate'=&gt;array('id'=&gt;$_POST[rate_id])));

    然后你可以这样做:

    &lt;img src="&lt;?php echo $shipment-&gt;postage_label-&gt;label_url; ?&gt;"&gt;

    【讨论】:

      【解决方案2】:

      货件上有一个名为lowest_rate 的费率过滤器。您可以将参数传递给它,例如运营商名称和服务名称。比如:

      $shipment->buy($shipment->lowest_rate(array('Fedex'), array($_SESSION['shipping_method'])));
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-08-04
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多