In reply to Bradley Kirby.

behavior like this where some piece of functionality that could be accomplished locally is instead put in a “service” that a user needs to sign up for separately.

Are you referring to the Simple Payments feature in Jetpack? I've received some good feedback about this on Twitter earlier today; we definitely need to improve Jetpack's documentation about this feature to better explain how it works, and why it relies on a third-party service (WordPress.com). That's on our to-do list!

In short, the WordPress.com API is used for a few things:

1. Interface with the PayPal API to process the payments made through the blocks
2. Send notifications emails and summaries about the different purchases on your site.
3. Store PCI-compliant tokens and API keys.

You could certainly build a "local" PayPal block that contacts PayPal directly (maybe one exists already!), but you wouldn't benefit from features 2 and 3 on my list above. That would be a different product.

This is why the Simple Payments feature relies on a third-party service.

If you have more questions about the feature, don't hesitate to reach out!