Skip to content

Logo

PayDo

Supports in this guide: Payments

Provider website: paydo.com


What you need to do for start processing transactions (brief summary)

  1. Choose account type
  2. Get your credentials (from PayDo)
  3. Connect in Dashboard
  4. Send an API request

Choose account type

PayDo can be connected in different ways (depending on your needs):

  • If you do redirect payments (customer redirected to a hosted payment page) -> choose Provider account

If you are not sure which one to use, confirm with your Corefy account manager.


Prerequisites: get from PayDo

Get the following values for your PayDo project/account:

  • Public Key -> Corefy field public_key -> example: pk_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx -> where to find: PayDo backoffice / issued by PayDo manager
  • Secret Key -> Corefy field secret_key -> example: sk_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx -> where to find: PayDo backoffice / issued by PayDo manager. Used to sign invoice creation requests; never transmitted in the request body.
  • Application Identifier -> Corefy field application_identifier -> example: app_123456789 -> where to find: PayDo backoffice / issued by PayDo manager. Identifies your PayDo application; used to fetch available payment methods and auto-provision payment routes on connect.
  • JWT Token -> Corefy field jwt_token -> example: eyJhbGciOiJSUzI1NiJ9.eyJzdWIiOiJ... -> where to find: generated in the PayDo dashboard. Required for route provisioning — when generating the token, whitelist the Corefy IP addresses in PayDo so the token has the necessary permissions. The token has a mandatory expiry; regenerate it when you need to reconnect the account or re-sync routes.

Payments processing (connect Provider account, create payment-invoice)

Connect Provider account in Corefy Dashboard

Step 1 - Open connection form

Open PayDo in the provider directory and press Connect at PayDo Provider Overview page in the New connection section. Choose Provider account.

Step 2 - Fill in fields and select settings

  • Public Key -> public_key — your PayDo public key, included in invoice creation requests
  • Secret Key -> secret_key — used to generate the request signature; never sent in the request body
  • Application Identifier -> application_identifier — your PayDo application ID; used to query available payment methods and auto-provision payment routes on connect
  • JWT Token -> jwt_token — Bearer token for the payment methods API; when generating it, whitelist Corefy IP addresses in PayDo. Payment routes (Apple Pay, Google Pay) are provisioned automatically when the account is connected
  • API URL -> api_url (optional) — custom API base URL override; leave blank to use the default (https://api.paydo.com for production, https://account-acqint.qa.paydo.com for test). This field changes only the API host; the checkout host is still selected by test_mode. If you set it, make sure it points to the same environment as test_mode, otherwise the invoice is created in one environment and the customer is redirected to the checkout of the other
  • Test Mode -> test_mode — enable for the PayDo QA environment; disable for production
  • Currency / Features -> choose values available for your account

Success

You have connected PayDo Provider account!


First request to Corefy API

What it does: creates a payment-invoice and redirects the customer to PayDo's hosted checkout page, where they complete the payment using Apple Pay or Google Pay.

Available service codes: applepay_eur_hpp, applepay_usd_hpp, applepay_gbp_hpp, googlepay_eur_hpp, googlepay_usd_hpp, googlepay_gbp_hpp.

Payment - MIN

POST /api/payment-invoices

{
  "data": {
    "type": "payment-invoice",
    "attributes": {
      "reference_id": "d290f1ee-6c54-4b01-90e6-d701748f0851",
      "service": "applepay_eur_hpp",
      "currency": "EUR",
      "amount": 100,
      "customer": {
        "reference_id": "cust-ref-001",
        "email": "john.doe@example.com"
      }
    }
  }
}

Important

PayDo requires a payer email for every payment. Supply it as customer.email in the request or by configuring the email route constant on the connection. If neither is provided, Corefy rejects the request with INVALID_REQUEST before calling PayDo.

Payment - MAX

POST /api/payment-invoices

{
  "data": {
    "type": "payment-invoice",
    "attributes": {
      "reference_id": "d290f1ee-6c54-4b01-90e6-d701748f0851",
      "service": "applepay_eur_hpp",
      "currency": "EUR",
      "amount": 100,
      "customer": {
        "reference_id": "cust-ref-001",
        "email": "john.doe@example.com",
        "name": "John Doe",
        "phone": "+44123456789"
      }
    }
  }
}


Extended request (MAX)

Why add extra fields (typical reasons): - Provide additional customer details for compliance/reconciliation - Positively influence conversion rate - Include optional fields required by your specific flow


Constants (fallback fields)

Constants are static values that Corefy can send to the provider instead of dynamic data from your API request, when those fields are missing in the request.

Priority (predictable rule): 1. If a value is present in the request -> Corefy uses the request value 2. Else if the constant is set -> Corefy uses the constant 3. Else -> provider may reject the request or apply its defaults (depends on provider)

Currently available constants (constant -> Corefy API field)

  • email -> attributes.customer.email — fallback payer email sent to PayDo when customer.email is not provided in the request
  • language -> language of PayDo's hosted checkout page, as a 2-letter lowercase code (for example, en, de). If the constant is not set, en is used by default

Refunds

PayDo does not support refunds in this integration.


Additional info

  1. IPN callbacks — PayDo sends payment status notifications from IP addresses 54.76.199.219 and 34.250.152.204. Corefy accepts callbacks only from these addresses; callbacks from other IPs are ignored and do not change the payment status. The callback endpoint must return HTTP 200 OK; otherwise PayDo retries delivery for up to 24 hours. Callbacks fire only on terminal payment states — do not rely on them for intermediate statuses.

  2. Callback URL configuration — The IPN callback URL is configured in the PayDo dashboard, not passed in the payment request. Before going live, set /paydo/callback as the callback endpoint in your PayDo account.

  3. Route auto-provisioning — When a Provider account is connected, Corefy automatically calls GET /v3/instrument-settings/payment-methods/available-for-application/{applicationIdentifier} using the JWT token and provisions payment routes for the available Apple Pay and Google Pay methods. Each route's external identifier (the PayDo method ID) is set automatically and must not be modified manually.

  4. JWT token expiry and route re-sync — The JWT token has a mandatory expiry. It is used only for account connection and route provisioning: payment creation, reconciliation, and IPN callbacks do not use it, so payments through already provisioned routes keep working after the token expires. An expired token blocks only reconnecting the Provider account, re-syncing routes, and connecting a new merchant account. If the application identifier changes or PayDo's available payment methods change, generate a new token and reconnect the Provider account to re-provision the routes. Payments will fail with INVALID_METHOD if a route's external identifier is missing or is not a numeric value.


FAQ / Troubleshooting

  • Payment rejected with INVALID_METHOD / route has no external ID -> The payment route's PayDo method ID is not set. Reconnect the merchant account to trigger route re-provisioning.
  • JWT token expired -> Payments through already connected routes are not affected — payment creation, reconciliation, and callbacks do not use the JWT token. A valid token is needed only to reconnect the account, re-sync routes, or connect a new merchant account. When you need to do any of these, generate a new JWT token (with Corefy IP addresses whitelisted in PayDo) and reconnect the account.
  • Route provisioning failed on connect -> Make sure the JWT token is valid and was generated with Corefy IP addresses whitelisted in PayDo, then reconnect the account.
  • Payer email is missing -> Supply customer.email in the request or configure the email route constant on the connection.
  • Invalid credentials / auth error at payment time -> Verify that public_key and secret_key match the selected environment (test/production). These credentials are not validated during account connection — only at payment time.
  • Currency or service is not supported -> Confirm allowed currencies and payment methods in your PayDo account settings and in Corefy.
  • Not sure which account type to use? -> ask your Corefy account manager.

Question

Still looking for help connecting your PayDo account? Please contact our support team!