gabrielbull / gabrielbull/php-ups-api
The selected packaging is not valid with the requested accessory option. (121501)
- Dominant language
- PHP
- Stars
- 457
- Forks
- 257
- PR merge metrics
- No merged PRs in 30d
Description
Hi,
I'm facing this issue.
when I use packaging type PT_PACKAGE then ok...but I'm using PT_PALLET then showing this error. Here is my code . please give me any solution
$shipment = new Shipment;
// Set shipper
$shipper = $shipment->getShipper();
$shipper->setShipperNumber('*****');
$shipper->setName('test');
$shipper->setAttentionName('test');
$shipperAddress = $shipper->getAddress();
$shipperAddress->setAddressLine1('4150 Donlon Rd');
$shipperAddress->setPostalCode('93066');
$shipperAddress->setCity('Somis');
$shipperAddress->setStateProvinceCode('CA'); // required in US
$shipperAddress->setCountryCode('US');
$shipper->setAddress($shipperAddress);
$shipper->setEmailAddress('test@test.com');
$shipper->setPhoneNumber('4654644555');
$shipment->setShipper($shipper);
// From address
$address = new \Ups\Entity\Address();
$address->setAddressLine1('4150 Donlon Rd');
$address->setPostalCode('93066');
$address->setCity('Somis');
$address->setStateProvinceCode('CA');
$address->setCountryCode('US');
$shipFrom = new ShipFrom();
$shipFrom->setAddress($address);
$shipFrom->setName('test');
$shipFrom->setAttentionName($shipFrom->getName());
$shipFrom->setCompanyName($shipFrom->getName());
$shipFrom->setEmailAddress('test@test.com');
$shipFrom->setPhoneNumber('4654644555');
$shipment->setShipFrom($shipFrom);
// To address
$address = new \Ups\Entity\Address();
$address->setAddressLine1('54 Journal Square Plaza');
$address->setPostalCode('07306');
$address->setCity('Jersey City');
$address->setStateProvinceCode('NJ'); // Required in US
$address->setCountryCode('US');
$shipTo = new ShipTo();
$shipTo->setAddress($address);
$shipTo->setCompanyName('test');
$shipTo->setAttentionName('test');
$shipTo->setEmailAddress('test@test.com');
$shipTo->setPhoneNumber('5645645645');
$shipment->setShipTo($shipTo);
// Set service
$service = new Service;
$service->setCode(Service::S_GROUND);
$service->setDescription($service->getName());
$shipment->setService($service);
// Set description
$shipment->setDescription('Product shipping');
// Add Package
$package = new Package();
$package->getPackagingType()->setCode(PackagingType::PT_PALLET);
$package->getPackageWeight()->setWeight(155);
$unit = new UnitOfMeasurement;
$unit->setCode(UnitOfMeasurement::UOM_LBS);
$package->getPackageWeight()->setUnitOfMeasurement($unit);
// Set Package Service Options
$packageServiceOptions = new PackageServiceOptions();
$packageServiceOptions->setShipperReleaseIndicator(true);
$package->setPackageServiceOptions($packageServiceOptions);
// Set dimensions
$dimensions = new Dimensions();
$dimensions->setHeight(10);
$dimensions->setWidth(10);
$dimensions->setLength(10);
$unit = new UnitOfMeasurement;
$unit->setCode(UnitOfMeasurement::UOM_IN);
$dimensions->setUnitOfMeasurement($unit);
$package->setDimensions($dimensions);
// Add descriptions because it is a package
$package->setDescription('Product shipping');
// Add this package
$shipment->addPackage($package);
// Set payment information
$shipment->setPaymentInformation(new PaymentInformation('prepaid', (object)array('AccountNumber' => '*****')));
// Ask for negotiated rates (optional)
$rateInformation = new RateInformation;
$rateInformation->setNegotiatedRatesIndicator(1);
$shipment->setRateInformation($rateInformation);
try {
$api = new Shipping(
config('ups.access_key'),
config('ups.user_id'),
config('ups.password'),
);
$confirm = $api->confirm(Shipping::REQ_VALIDATE, $shipment);
if ($confirm) {
$accept = $api->accept($confirm->ShipmentDigest);
dd($accept);
}
catch (\Exception $e) {
Log::error(" :: EXCEPTION :: " . $e->getMessage() . "\n" . $e->getTraceAsString());
abort(500);
}
Contributor guide
Assessment
This issue has not been assessed yet.