Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

UPS return service issue

Tags:

php

ups

  1. I am receiving the below error message after the implementation return service.

Failure: Invalid merchandise description of package (120623)

Code what we used.

if (isset($return_order) && $return_order==1) {
  $returnService = new \Ups\Entity\ReturnService;
  $returnService->setCode(\Ups\Entity\ReturnService::PRINT_RETURN_LABEL_PRL);
  $shipment->setReturnService($returnService);
}
  1. If I also use the below code then it gives as mention error

Failure: Shipment/ReferenceNumber is not allowed for this shipment (120541)

Code what we used.

if (isset($return_order) && $return_order==1) {
  $referenceNumber->setCode(\Ups\Entity\ReferenceNumber::CODE_RETURN_AUTHORIZATION_NUMBER);
  $referenceNumber->setValue($shipping_reference_number);
} else {
  $referenceNumber->setCode(\Ups\Entity\ReferenceNumber::CODE_INVOICE_NUMBER);
  $referenceNumber->setValue($shipping_reference_number);
}
$shipment->setReferenceNumber($referenceNumber);
  1. If I also use the below code then it gives as mention error

Failure: Invalid merchandise description of package (120623)

Code what we used.

if (isset($return_order) && $return_order==1) {
    $referenceNumber->setCode(\Ups\Entity\ReferenceNumber::CODE_RETURN_AUTHORIZATION_NUMBER);
    $referenceNumber->setValue($shipping_reference_number);
} else {
    $referenceNumber->setCode(\Ups\Entity\ReferenceNumber::CODE_INVOICE_NUMBER);
    $referenceNumber->setValue($shipping_reference_number);
}
$shipment->getPackages()[0]->setReferenceNumber($referenceNumber);

I'm using the following package, https://github.com/gabrielbull/php-ups-api

like image 879
Joy Zalte Avatar asked Sep 11 '25 17:09

Joy Zalte


2 Answers

The initial and last issue:

"Failure: Invalid merchandise description of package (120623)"

Can be fixed by ensuring package properties are all correctly set, for example, if $referenceNumber is bar-code, try:

use Ups\Entity\ReferenceNumber as RefNum;

// ...

foreach ($shipment->getPackages() as $package) {
    $refNum = new RefNum();
    $refNum->setBarCodeIndicator(true);
    $refNum->setValue("MY_PACKAGE_BAR_CODE");

    $refNum->setCode(RefNum::CODE_SERIAL_NUMBER);

    // Alias (to match OP's naming).
    $referenceNumber = $refNum;

    $package->setReferenceNumber($referenceNumber);
} // foreach $package

WARNING: I am not sure if CODE_SERIAL_NUMBER means bar-code, hence if that does not work, try other codes visible in ReferenceNumber.php file.

The second issue:

"Failure: Shipment/ReferenceNumber is not allowed for this shipment (120541)"

Means "$shipment->setReferenceNumber(...);" is not allowed for your request's type, hence don't do that (unless you are sure you need it).

like image 143
Top-Master Avatar answered Sep 14 '25 09:09

Top-Master


I am passing the description on the package below. I just removed "box type" and it works like boom.

$package->setDescription("box type : ".$box_type)

like image 29
Joy Zalte Avatar answered Sep 14 '25 11:09

Joy Zalte