All posts
Index
All posts

How Checkout Works: Add Pickup Points to Your Ecommerce Checkout

Here's how our Checkout tool can make shipping experience easier.

Letting your customers choose the Shipping Method they prefer may improve their shopping experience and encourage them to purchase again from your Sales Channels. ShippyPro Checkout is the perfect tool to increase your ecommerce conversions! Showing our drop–off point map offers your customers much more flexibility.

Below you'll find how ShippyPro Checkout lets your customers pick a pickup point directly at your ecommerce checkout, what it costs, which carriers and marketplaces are supported, and how to set it up with the ShippyPro API.

Pickup points at checkout with ShippyPro Checkout
Pickup points at checkout with ShippyPro Checkout

1. Before you start: what is ShippyPro Checkout?

Checkout is a suite of APIs that allows your customers to choose a collection point themselves by selecting it directly at the checkout in your shop.

2. Benefits of using Checkout: pickup points and a better checkout experience

Integrating drop–off points (PUDO and lockers) into the checkout process via module or API will help you:

  • Reduce storage costs: With nearly a 100% first delivery attempt, you erase extra costs applied by Carriers for on–hold shipments.
  • Save on integration costs: The IT Team won't need to integrate the pickup service APIs for each Carrier separately.
  • Increase the conversion rate: Offering 24/7 availability, proximity to the workplace, and storage time up to 5+ days. All these benefits reduce shopping cart abandonment rates.

If applied to the return process, it means more convenient return labels and, once again, increased flexibility for your customers.

3. Pricing: how much do pickup point maps cost at checkout?

All plans (Professional and Enterprise) include 500 checkout sessions per month for free, reset on the first day of each month. A checkout session is counted each time an API call is executed to update the pickup points information at checkout.

For example:

  • when a customer enters their address and the map loads with nearby pickup points, that counts as one session;
  • if the customer then changes the address or moves the pin on the map and the pickup points are updated, that counts as an additional session.

After 500 sessions, the following cost structure applies:

Checkout sessions / month Monthly Maps cost
Up to 500 Free
501–1,000 €29
1,001–3,000 €79
3,001–6,000 €129
6,001+ €0.03 per additional load

4. Supported Marketplaces and Carriers for pickup points

Carriers supported

You can find the full list of carriers that support PUDO delivery by clicking the "Drop off points" feature on this page: Comparison carrier map

Here is a partial list:

  • BRT API: FermoPoint
  • Colis Privé: Point Relais
  • Colissimo: Point Retrait
  • Correos: Citypaq
  • Correos Express
  • Chronopost: Points Relais Pickup
  • Chronopost Portugal: DPD PT Pickup
  • DHL EXPRESS: DHL Service Point
  • DHL Parcel: DHL Service Point
  • FedEx: Ship Center
  • InPost: Locker Inpost 24
  • Lietuvos Pastas v2
  • Mondial Relay: Point Relais
  • MRW: Point Corner / Point Office
  • Nexive: Nexive inZona
  • Poste Italiane: Rete Punto Poste
  • Relais Colis: Point Relais Colis
  • San Marino Mail: Drop Off Points
  • Seur: Pickup Points
  • TNT Italy: TNT Point
  • UPS: Access Point

Marketplaces supported

All marketplaces and custom websites are compatible, but you'll need a bespoke module developed by your IT team.

Shopify

If you use Shopify, you'll need to download the Atlas app to manage the PUDO map at checkout.

To integrate PUDO points into your Shopify Checkout, refer to our dedicated guide on Atlas Pickup Points: How to use Atlas Pickup Points with ShippyPro. For a step-by-step walkthrough, read How to Add Pickup Point Delivery to Shopify.

Show pickup points at your checkout

Try ShippyPro free for 14 days and see how a drop-off point map fits your checkout.

5. Setup: how to add pickup points to your ecommerce checkout

⚠️ High effort setup

The setup process outlined below requires a high effort. Therefore, it is recommended only for those with access to a development team capable of creating a custom module.

To use Checkout, follow these steps:

  1. Go to Checkout > Settings and:
    1. Select the couriers you want to display at checkout
    2. Assign a courier to a specific country (optional)
  2. Launch the GetDropOffPoints: It returns the nearest collection points for all connected couriers, along with information such as opening hours, etc., so you can display them to the customer at checkout (on a map or as a list). You can search by location using city, postcode and country, or alternatively, latitude and longitude coordinates; you can also limit the search to specific couriers, set a limit on the number of results returned (up to 50, default 20) and define the search radius in kilometres (1–20 km).
  3. You have now 2 options:
    • Shipping via API: pass the Point ID in the corresponding CarrierOption field of the Ship call;
    • Shipping via platform: an additional API call, ChoosePoint, is necessary to accurately link the selected drop-off point with the incoming order. This process guarantees that the PUDO Carrier option is automatically pre-selected when creating the shipment, eliminating the need for manual selection.

    Here is an example of the process:

    1. You can implement a callback that allows you to receive and manage the Point information selected by the end customer at checkout;

    2. Make a first ChoosePoint call with the information of the selected Point - example:

    JSON: first ChoosePoint call
    { "Method": "ChoosePoint", "Params": { "url": "www.........it", "point_id": "IT1234", "point_name": "Example Pickup Point", "point_address": "Via Example 1, 00100, City (XX)", "courier_name": "BRT", "point_type": false, "apikey": "1234" } }

    3. You will receive an ID in the response, example:

    JSON: response
    { "id": "1234", "Result": "OK" }

    4. Make a second ChoosePoint call, with the previously received ID in the 'selected_id' parameter + your 'order_id' (your internal Transaction ID). This is required to correctly associate the given Point ID with the specific Transaction ID:

    JSON: second ChoosePoint call
    { "Method": "ChoosePoint", "Params": { "url": "www.........it", "selected_id": "1234", "order_id": "001522" } }
  4. Generate the shipping label: enter the ID of the collection point chosen by the customer in the 'Carrier Option' field for the courier when calling the Ship method.

6. FAQ about pickup points at checkout

What is a pickup point at checkout?

A pickup point (also called a drop-off point, PUDO or locker) is a collection location your customer selects directly at your ecommerce checkout instead of home delivery. With ShippyPro Checkout, a suite of APIs, your customers choose the collection point themselves from a map or a list.

How do pickup points improve ecommerce checkout conversion rates?

Pickup points offer 24/7 availability, proximity to the workplace and storage time up to 5+ days. All these benefits reduce shopping cart abandonment rates and give customers more flexibility at checkout.

How much does ShippyPro Checkout cost?

All plans (Professional and Enterprise) include 500 checkout sessions per month for free. After that, monthly Maps cost is €29 up to 1,000 sessions, €79 up to 3,000, €129 up to 6,000, then €0.03 per additional load.

Do I need a developer to add pickup points to my checkout?

Yes, for custom websites and most marketplaces you'll need a bespoke module developed by your IT team. If you use Shopify, you can manage the PUDO map at checkout with the Atlas app instead.

Can I use pickup points for returns too?

Yes. Applied to the return process, drop-off points mean more convenient return labels and more flexibility for your customers.

How can I activate Checkout?

The Checkout section is already active in your profile

Can I display the rates entered on ShippyPro in my checkout?

Yes, you can display Live Rates (real-time rates) at checkout by using the GetRates API call, which returns the rates from your carriers. Afterwards, you will need to develop a custom module that allows you to apply surcharges or adjust these rates to match the ones actually applied to your end customers.

I cannot see the PUDO points for any carrier

Check the carrier credentials in the Carriers page. If you have multiple carriers deselect one carrier at a time from Checkout > Settings page to see which one has the wrong credentials

We can't find zip from coordinates

The error indicates that an imprecise entry has been made in the search bar. Please ensure that you input a specific address along with the correct postal code to facilitate the search for drop-off points.

Can I set up dynamic pricing?

No, it is not possible to set up dynamic pricing such as 'free delivery on orders over a certain amount'.

I'm getting the error "Ship and Collect feature is not enabled for this user", why is that?

You've used up your 500 free monthly maps, so you need to activate the pay-as-you-go plan by clicking Activate Plan in the Checkout section.

[ADD ALT TEXT: describe this screenshot, e.g. the Activate Plan option in the ShippyPro Checkout section]

❓ Why do I get "Domain not found", or cannot find domain settings?

Can't find where to add your store domains in the new interface? You can still access the domain configuration directly.

  1. Sign in to your ShippyPro account.
  2. Open the domain configuration page in another browser tab.
  3. Click Add domain to add your store domain.
  4. In Associated ShippyPro Marketplace, select the connection that imports that store's orders.
  5. Save your configuration.

Add every store domain separately and associate each one with the relevant marketplace connection before retrying ChoosePoint.

📌 Note: The url sent in both ChoosePoint calls must belong to the store associated with that order. If you manage several stores, do not send another store's domain.

❓ How can I access the legacy widget?

Our Support Team can enable the legacy widget, which provides access to the old functions within Checkout. To request activation, write to our Support Team through the HELP button in your account.

If saving domains returns "Operation not permitted", report the error even if the interface displays "SAVED". Include the domains, the steps you followed, screenshots or error details, and whether the error appears in an API response. Opening the configuration page or enabling the legacy widget is not a confirmed solution to permission errors.

❓ How do I associate a PrestaShop pickup point with a CTT v2 order?

CTT v2 supports pickup-point shipments. Automatically associating the point selected in PrestaShop requires custom development; it is not available natively. There is no ready-made script for this integration. Your developers can use GetDropOffPoints to build the pickup-point selection interface.

For connection instructions, see How to connect CTT v2 and How to connect PrestaShop. For manual selection, see How to add a Drop Off Point to your shipments.

⚠️ Important: Pickup-point details in the recipient company or address do not replace the required PUDO carrier option. Retrieve the PointID through GetDropOffPoints and use it unchanged. Do not construct it by adding a country-code prefix.

For labels created through the platform, your developer should use this CTT v2/PrestaShop workflow:

  1. Import a new PrestaShop order into ShippyPro.
  2. Make the first ChoosePoint call with the selected point's details.
  3. Use the returned confirmation id in a second ChoosePoint call immediately afterwards to associate the selection with the order.
  4. Check the carrier options for the order in Ready to Ship: the selected pickup point should be preselected.

First ChoosePoint call: parameters

  • url: the configured domain of the store belonging to this order.
  • point_id: the PointID returned by GetDropOffPoints, unchanged.
  • point_name: the selected point's name.
  • point_address: the selected point's address.
  • courier_name: CTTv2, not CTT.
  • point_type: the point type.
  • apikey: your API key.

The first call returns a confirmation id. This is the value to send as selected_id, not the pickup point's PointID.

Second ChoosePoint call: parameters

  • url: the same store domain used in the first call.
  • selected_id: the confirmation id returned by the first call.
  • order_id: the PrestaShop order's internal Transaction ID.

📌 Note: For this workflow, make the second call within 30 minutes of the first. The order must have been created in PrestaShop less than three hours earlier. Import a new order first, then make both calls back to back. These timing requirements do not, by themselves, establish why an earlier attempt failed.

❓ Do I need ChoosePoint when creating CTT v2 labels through Ship API?

No. In the Ship request, include a CarrierOptions entry with name cttv2pointid and the unchanged PointID as its value.

❓ What should I check if the point is still missing?

  • Check that every store domain is registered and associated with the connection importing its orders.
  • Check that both calls send the domain belonging to the affected order.
  • Check that courier_name is CTTv2, selected_id contains the returned confirmation id, and order_id contains the internal Transaction ID.
  • Check that both calls follow the sequence and timing above.
  • Avoid duplicate PrestaShop connections pointing to the same site and managing the same orders, as these can cause import anomalies.

If the association still fails, leave a recent imported order in Ready to Ship without generating a label or modifying it. Write to our Support Team through the HELP button in your account and provide the order reference, both ChoosePoint calls and their responses, and confirmation of the domain-to-marketplace configuration.

Give your customers more delivery choice

Start your free 14-day ShippyPro trial and add a drop-off point map to your ecommerce checkout.

ShippyPro Team

ShippyPro is the complete shipping software for online and offline retail. With Label Creator, Track & Trace, Easy Return and Analytics features, our software simplifies your shipping operations. ShippyPro integrates with over 180 carriers and 80 sales channels, making it compatible with a wide range of products and use cases.

🔥 Peak Season is coming

Save up to 50% on annual plans - including our new Pro250 plan for only €49/month. New customers only, until 31/10.