gabrielbull / gabrielbull/php-ups-api

The selected packaging is not valid with the requested accessory option. (121501)

Open
#324 0 comments 0 reactions 0 assignees View on GitHub
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.