Skip to content
Integrations

Shippo return labels

WPReturns can buy prepaid return labels from your own Shippo account with your own API token. Buy return label on a request buys the cheapest rate for the customer’s address and emails the label to the customer. Automatic labels buys them on approval instead.

Available in: Pro. You need your own Shippo account and API token. WPReturns does not resell labels or charge per label.

Shippo return labels work with USPS, FedEx and UPS.

  1. Sign in to Shippo and copy an API token from goshippo.com > Settings > API.
  2. In WordPress, go to DevDiggers Plugins > WPReturns > Configuration > Shipping Labels.
  3. Set Label provider to Shippo.
  4. Paste the token into Shippo API token.
  5. Under Return address and package, fill in Recipient name and Phone. Packages go to your store address from WooCommerce > Settings > General.
  6. Set the default box: Default weight (oz), Length (in), Width (in) and Height (in).
  7. Select Save Changes.

Shipping Labels tab with label provider API fields and return package

The screen above shows the tab before setup, with I upload labels myself selected. The Shippo API token field shows on the tab whichever provider is picked.

Turn on Automatic labels to buy and email the label as soon as a request is approved. A failed purchase leaves an internal note starting “Automatic label failed:”. See Shipping labels settings.

  1. Open the request and approve it.
  2. In the sidebar under Return shipping, select Buy return label.
  3. WPReturns buys one label that covers every item in the request.

The request moves to Awaiting return. The customer gets the Return label ready email and a Download return label button on their request page. The tracking number and carrier fill in on their own.

The sidebar shows the label cost. The cost is not deducted from the refund. Set a return shipping fee on the Resolutions tab to charge customers.

StepDetail
ShipmentWPReturns creates a shipment at api.goshippo.com marked as a return (extra.is_return)
RateIt picks the lowest rate Shippo returns
PurchaseIt buys that rate as a Shippo transaction
StorageIt downloads the label file and stores it in the private uploads folder

Each call times out after 30 seconds. Shippo errors show on the request screen, for example “Shippo returned no rates for this address.”

Shippo receives this data only when a label is bought, by hand or on approval.

DataSource
Customer name, address, phone and emailThe order’s shipping address, or billing address when there is no shipping address
Your return addressStore name, address, the return phone and the store email
Package size and weightThe defaults on the Shipping Labels tab

Nothing goes to Shippo while the provider is set to “I upload labels myself”. Mention Shippo in your privacy policy if you use it. See the Shippo terms and privacy policy.

Developers can register their own label provider with the ddwcwr_label_providers filter. The class follows DDWCWR_Label_Provider_Interface. See Hooks.