DOCS

Get started

Get started with Collect

Collect duties, taxes, and fees from consignees before delivery.

How it works 

Zonos Collect integrates into your existing landed cost workflow. When you add quoteType: COLLECT to your landedCostCalculateWorkflow mutation, the request functions identically to a standard landed cost calculation; it returns all the same data, but additionally triggers the Collect workflow.

The process is simple: specify quoteType: COLLECT in your request, and the system automatically generates a payment cart, sends the cart link to the destination party's email, and converts the quote to an order once payment is completed.

Create a Collect quote 

Use the same GraphQL workflow you're already familiar with, just add one parameter. Adding quoteType: COLLECT to your landedCostCalculateWorkflow input triggers the entire Collect process while maintaining all existing functionality. The links field in the response returns the checkout session URL, which you can store and use for follow-up with the payee as needed.

1mutation CollectQuote(
2$parties: [PartyCreateWorkflowInput!]!
3$items: [ItemCreateWorkflowInput!]!
4$shipmentRating: ShipmentRatingCreateWorkflowInput!
5$landedCost: LandedCostCalculateWorkflowInput!
6) {
7 partyCreateWorkflow(input: $parties) {
8 type
9 id
10 organization
11 }
12 
13 itemCreateWorkflow(input: $items) {
14 id
15 amount
16 quantity
17 description
18 }
19 
20 cartonizeWorkflow {
21 id
22 }
23 
24 shipmentRatingCreateWorkflow(input: $shipmentRating) {
25 id
26 amount
27 }
28 
29 landedCostCalculateWorkflow(input: $landedCost) {
30 id
31 landedCostGuaranteeCode
32 links {
33 key
34 url
35 }
36 amountSubtotals {
37 duties
38 fees
39 taxes
40 landedCostTotal
41 }
42 fees {
43 amount
44 currency
45 type
46 item {
47 productId
48 }
49 }
50 }
51}

Webhooks

Configure an ORDER_CREATED webhook to get notified as soon as any quote converts to an order:

1mutation CreateOrderWebhook($input: WebhookCreateInput!) {
2 webhookCreate(input: $input) {
3 id
4 status
5 url
6 }
7}

The payload will include a type field. Check payload.type === "COLLECT" to handle only Collect orders:

javascript

if (payload.type === "COLLECT") {
}

Dashboard management 

Quotes and orders: Collect quotes and orders display with "COLLECT" badges in Dashboard. You can filter by the quote type to view and manage collect-specific quotes and monitor payment status.

Email branding: Adjust the email branding for Collect payment carts under DashboardSettingsEmail Templates

Consignee experience 

When you create a Collect quote, your customer receives an automated email with a secure payment link. The payment cart displays duties, taxes, and fees with full transparency while keeping your product pricing private.

For complete details on the payment process, supported countries and languages, and customization options, see the Consignee experience guide.

Was this page helpful?