Skip to main content

Setup

Required env vars:

How it works

Recurring payments are created as an initial payment with a recurrence object — subsequent charges are triggered automatically by GoPay, or on demand via GoPay’s createRecurrence API. GoPay sends webhook notifications via GET, not POST, so your route handler needs to accept GET requests. It also doesn’t support customer management.

Webhooks

GoPay payment states and their PayKit event mappings:

Subscriptions

GoPay maps PayKit billing intervals to its recurrence_cycle field: year and custom intervals fall back to ON_DEMAND — GoPay does not natively support them. You must trigger each charge manually via GoPay’s createRecurrence API.

provider_metadata

GoPay requires amount and currency in provider_metadata for checkout, and success_url for direct payments and subscriptions: