Esempio n. 1
0
 /**
  * Add Package to the stack
  * @param USPSRatePackage object $data
  * @param string $id the address unique id
  * @return void
  */
 public function addPackage(USPSRatePackage $data, $id = null)
 {
     $packageId = $id !== null ? $id : count($this->packages) + 1;
     $this->packages['Package'][] = array_merge(array('@attributes' => array('ID' => $packageId)), $data->getPackageInfo());
 }
<?php

// Load the class
require_once '../USPSRate.php';
// Initiate and set the username provided from usps
$rate = new USPSRate('xxxx');
// During test mode this seems not to always work as expected
//$rate->setTestMode(true);
// Create new package object and assign the properties
// apartently the order you assign them is important so make sure
// to set them as the example below
// set the USPSRatePackage for more info about the constants
$package = new USPSRatePackage();
$package->setService(USPSRatePackage::SERVICE_FIRST_CLASS);
$package->setFirstClassMailType(USPSRatePackage::MAIL_TYPE_LETTER);
$package->setZipOrigination(91601);
$package->setZipDestination(91730);
$package->setPounds(0);
$package->setOunces(3.5);
$package->setContainer('');
$package->setSize(USPSRatePackage::SIZE_REGULAR);
$package->setField('Machinable', true);
// add the package to the rate stack
$rate->addPackage($package);
// Perform the request and print out the result
print_r($rate->getRate());
print_r($rate->getArrayResponse());
// Was the call successful
if ($rate->isSuccess()) {
    echo 'Done';
} else {