【发布时间】: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->buy($shipment->rates[1]);
我尝试这样做:
$shipment->buy($shipment->rates[$_SESSION['shipping_method']]); 但是导致速率根本没有发送。
顺便说一句,会话是像“GROUND”这样的实际单词,而不是数字。不知道如何实现这一点,但如果我想要它工作,我必须这样做!
【问题讨论】:
标签: php api session archive easypost