好的,我在一个文件中有以下代码。这只是 EasyPost 的部分代码,easy shipping 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']]);
但结果导致费率根本没有发送。
顺便说一句,会话是“地面”之类的实际单词,而不是数字。不知道我怎么能做到这一点,但如果我想让它工作,我必须这样做!