You are here

function uc_ups_void_shipment_request in Ubercart 6.2

Same name and namespace in other branches
  1. 8.4 shipping/uc_ups/uc_ups.module \uc_ups_void_shipment_request()
  2. 5 shipping/uc_ups/uc_ups.module \uc_ups_void_shipment_request()
  3. 7.3 shipping/uc_ups/uc_ups.module \uc_ups_void_shipment_request()

Constructs a void shipment request.

Parameters

$shipment_number: The UPS shipment tracking number.

$tracking_numbers: Array of tracking numbers for individual packages in the shipment. Optional for shipments of only one package, as they have the same tracking number.

Return value

XML VoidShipmentRequest message.

1 call to uc_ups_void_shipment_request()
uc_ups_void_shipment in shipping/uc_ups/uc_ups.module
Instructs UPS to cancel (in whole or in part) a shipment.

File

shipping/uc_ups/uc_ups.module, line 765
Shipping quote module that interfaces with www.ups.com to get rates for small package shipments.

Code

function uc_ups_void_shipment_request($shipment_number, $tracking_numbers = array()) {
  $schema = uc_ups_access_request();
  $schema .= '<?xml version="1.0"?>';
  $schema .= '<VoidShipmentRequest>';
  $schema .= '<Request>';
  $schema .= '<RequestAction>Void</RequestAction>';
  $schema .= '<TransactionReference>';
  $schema .= '<CustomerContext>';
  $schema .= t('Void shipment @ship_number and tracking numbers @track_list', array(
    '@ship_number' => $shipment_number,
    '@track_list' => implode(', ', $tracking_numbers),
  ));
  $schema .= '</CustomerContext>';
  $schema .= '<XpciVersion>1.0</XpciVersion>';
  $schema .= '</TransactionReference>';
  $schema .= '</Request>';
  $schema .= '<ExpandedVoidShipment>';
  $schema .= '<ShipmentIdentificationNumber>' . $shipment_number . '</ShipmentIdentificationNumber>';
  foreach ($tracking_numbers as $number) {
    $schema .= '<TrackingNumber>' . $number . '</TrackingNumber>';
  }
  $schema .= '</ExpandedVoidShipment>';
  $schema .= '</VoidShipmentRequest>';
  return $schema;
}