Payments

Connect PayPal

Your application calls one EchoRelay URL. When PayPal changes its API, you update the mapping, not your application.

How PayPal signs requests

OAuth 2.0 client credentials: the client ID and secret go as basic auth to the PayPal token endpoint, which exchanges them for an access token. Every REST call carries that token.

Can you connect it today?

Yes. Add an OAuth client-credentials credential with the PayPal token URL, sending the client ID and secret as basic auth.

A sample mapping

Your application sends the first request below. The mapping turns it into the body of POST /v2/checkout/orders, shown second.

Your request

{
    "units": [
        {
            "ref": "1042",
            "total": "24.95",
            "currency": "EUR"
        }
    ]
}

What PayPal receives

{
    "intent": "CAPTURE",
    "purchase_units": [
        {
            "reference_id": "1042",
            "amount": {
                "currency_code": "EUR",
                "value": "24.95"
            }
        }
    ]
}

The mapping

{
    "$schema": "https://schemas.echorelay.dev/transform/mapping/v1.json",
    "root": {
        "type": "object",
        "id": "root",
        "properties": {
            "intent": {
                "type": "constant",
                "id": "intent",
                "value": "CAPTURE"
            },
            "purchase_units": {
                "type": "arrayMap",
                "id": "units",
                "source": {
                    "type": "field",
                    "id": "unit-list",
                    "path": "units"
                },
                "element": {
                    "type": "object",
                    "id": "unit",
                    "properties": {
                        "reference_id": {
                            "type": "field",
                            "id": "ref",
                            "path": "ref"
                        },
                        "amount": {
                            "type": "object",
                            "id": "amount",
                            "properties": {
                                "currency_code": {
                                    "type": "field",
                                    "id": "currency",
                                    "path": "currency"
                                },
                                "value": {
                                    "type": "field",
                                    "id": "value",
                                    "path": "total"
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}

The grammar, the answer mapping and the dry run are in the mapping docs.

What you bring

This is not a ready-made connector. You bring a sample request or PayPal’s OpenAPI document, you or your agent write the mapping, and we run the integration you define.

PayPal facts on this page were read 2026-10-29 from PayPal REST API authentication, PayPal Orders v2 API reference. Another service? Check it here.

Connect everything. Deploy nothing.

No credit card required.