Klarna orders - Cancel API leaves shipping cost behind

We’ve run into a problem with Klarna payments when cancelling orders via the Cancel API.

When the payment method is Klarna, and the order is cancelled using the Cancel API, the product amount is voided/refunded correctly but the shipping cost still remains on the order. This causes mismatches in totals and problems in downstream systems.

For example, in one of our test orders (paid through Klarna), after cancellation the line item was voided, but the £4.95 shipping charge was still left on the order record.

We expected the cancel call to remove both the product and shipping charges, since Shopify normally handles refunds automatically when cancelling orders with other payment methods. But with Klarna, this isn’t happening.

Questions for the community:

  • Has anyone else seen shipping amounts remain after cancelling Klarna orders?

  • Is this a limitation with Klarna’s integration on Shopify, or is there a specific flag/parameter we need to include in the Cancel API call?

  • What’s the recommended workflow to ensure shipping is refunded as part of cancellation for Klarna orders?

Any guidance or confirmation from others experiencing the same would be really helpful.

Hey @Shubham_Vats :waving_hand: thanks for reporting this.

What you’re seeing with Klarna is might expected behavior: orderCancel doesn’t let you specify shipping, so I think this could be what’s happening here, especially if the payment itself was only authorized and not fully captured. Are you also fully capturing the shipping lines for payment? You can specifically request shipping refunds with the refundCreate mutation though. though.

If you’re open to sharing a sample order ID and the cancel/refund payloads you’re sending, I’d be happy to take a closer look though, especially if payment was fully captured since that would be odd.