For stores, sellers and e-commerces

Protected delivery for your store, via API.

Offload the logistics: you sell and collect the product's price normally, through your own method. courrier handles only the delivery — the customer picks this freight at checkout, authorizes pickup and pays the protected freight. No cost and no responsibility for the store after pickup.

deliveries.http
POST /v1/store/deliveries HTTP/1.1
Host: api.courrier.app
Content-Type: application/json
Authorization: Courrier-HMAC-SHA256 key_id=store_4f3a9c
x-courrier-timestamp: 1718900000
x-courrier-signature: 9f86d081884c7d659a2feaa0c55ad015

{
  "currency": "BRL",
  "items": [
    { "name": "Running shoes", "quantity": 1, "unitAmount": 29900 }
  ],
  "buyer": {
    "name": "Ana Souza",
    "phone": "+5511998877665",
    "country": "BR",
    "state": "SP"
  },
  "pickup": {
    "address": "Rua Augusta, 1200",
    "city": "Sao Paulo",
    "state": "SP"
  }
}

# sign the HMAC-SHA256 with your secret over:

signature = HMAC_SHA256(secret, `${ts}.${METHOD}.${url}.${rawBody}`)

Why integrate

Sell more, without logistics headaches.

courrier handles last-mile delivery for your store, with protected payment and rated couriers assigned by the system.

Delivery at checkout, no fleet

Offer fast delivery at the point of sale without hiring drivers or running a team of your own.

You sell and collect normally

The product's sale and payment are yours, through your own method — courrier doesn't touch them. Here only the freight is protected, in escrow until confirmation.

You only handle the product

You ship the product separately; courrier handles freight, assignment and tracking. Your responsibility ends at pickup.

Rated couriers

The system assigns a verified, rated courier to every trip — no need for you to choose.

Your store's role

How responsibility.

Full transparency: your store pays nothing and your part ends at pickup. See exactly how far your responsibility goes.

Responsibility timeline

  1. 1

    Order

    sale closed at your checkout

  2. 2

    Customer authorizes pickup

    the customer releases pickup to the carrier

    End of the store's responsibility
  3. 3

    On the way

    transport under the courier's responsibility

  4. 4

    Delivered

    the customer confirms receipt

From here on it's just visibility: you follow along via API if you want, rate the courier and receive feedback — with no new obligation.

1. Your store is charged nothing

There's no monthly fee and no charge for the store. The commission comes out of the freight agreed between buyer and courier — your store pays nothing.

2. Delivery is the carrier's responsibility

The one responsible for the delivery is the courier (the carrier). It's not your store and it's not courrier — it's whoever does the transport.

3. Your customer is who chooses and authorizes

Your store's customer is the one who picks this kind of freight and who authorizes handing the product over to the carrier (the pickup).

4. After authorization, your store has no further tie

Once the pickup is authorized, the store has done its part and has no further tie to the delivery.

5. Following along is just visibility, via API

So you can still follow along, the system exposes the delivery status via API until it's delivered. You can show this in your own system or not — it's just visibility.

6. You can still rate and receive feedback

Even with no tie, the store can rate the courier's behavior at pickup (a score) and receive feedback on how the delivery went.

Integration

How to integrate in 3 steps.

One HMAC-signed server-to-server call and status webhooks. No mandatory SDK, no heavy dependency.

  1. 1

    Create your store account and generate an API key

    In the store dashboard you create the account and generate a key pair (key_id + secret). The secret never travels — it only signs requests on your server.

  2. 2

    Request the delivery when the sale closes

    You've already collected the product's price through your own method. When the sale closes, your server makes a signed POST (HMAC-SHA256) to /v1/store/deliveries with items, buyer and pickup address — just to arrange the delivery.

  3. 3

    Receive status webhooks

    courrier sends signed webhooks on every order status change. Your responsibility ends at pickup — the rest is just visibility.

deliveries.http
POST /v1/store/deliveries HTTP/1.1
Host: api.courrier.app
Content-Type: application/json
Authorization: Courrier-HMAC-SHA256 key_id=store_4f3a9c
x-courrier-timestamp: 1718900000
x-courrier-signature: 9f86d081884c7d659a2feaa0c55ad015

{
  "currency": "BRL",
  "items": [
    { "name": "Running shoes", "quantity": 1, "unitAmount": 29900 }
  ],
  "buyer": {
    "name": "Ana Souza",
    "phone": "+5511998877665",
    "country": "BR",
    "state": "SP"
  },
  "pickup": {
    "address": "Rua Augusta, 1200",
    "city": "Sao Paulo",
    "state": "SP"
  }
}

# sign the HMAC-SHA256 with your secret over:

signature = HMAC_SHA256(secret, `${ts}.${METHOD}.${url}.${rawBody}`)

Signed webhooks, with retry

Each status change (assigned, in escrow, on the way, delivered, released) fires a signed webhook. Failed? courrier resends automatically with backoff.

Protection built in

Freight in escrow, released only on confirmation.

Protection isn't a marketing promise — it's in the protocol. Freight sits in a 2-of-3 vault that no one can withdraw alone.

  • courrier doesn't touch the product payment (which is yours): only the freight sits in non-custodial escrow.
  • Released only when the buyer confirms receipt.
  • A dispute keeps the value protected until it's resolved.
  • Payment integration via PIX/DePix — launching soon.

Your payment stays protected

The amount goes to a vault that requires 2 of 3 signatures (you, the courier and courrier) — no one withdraws alone. It's only released when you confirm the delivery.

  • Non-custodial vault — courrier doesn't hold your money.
  • Release only with your confirmation of receipt.

Cost for the store

For your store, zero cost.

courrier charges the store nothing: no fee, no commission, no subscription. You sell and collect the product's price normally, through your own method — you just outsource the delivery.

$0

cost for the store

no fee, commission or subscription

100%

of the product is yours

you sell and collect through your own method

100%

of freight protected

in escrow until confirmation

The commission (10% of the freight) is charged to the courier, on the delivery amount — never to the store or the product.

Ready to offer protected delivery?

Create your store account, generate an API key and run your first checkout in minutes. Creating an account is free.

HMAC-signed checkout · Status webhooks · Payment via PIX/DePix launching soon