Community libraries
Developers in the Pesepay community have built libraries for platforms the official SDKs and plugins don’t cover. These are community projects we know about that met our listing criteria when they were added.
Stelele.PesePay targets .NET 8, 9 and 10, and switches between the sandbox and production.
dotnet add package Stelele.PesePayIt registers a single shared client through dependency injection, reading your keys from configuration rather than code:
builder.Services.AddPesePay(builder.Configuration.GetSection("PesePay"));Keep the keys in user secrets or environment variables, not in a committed
appsettings.json. The project ships unit tests and a sandbox integration
suite. MIT licensed.
ERPNext / Frappe
Section titled “ERPNext / Frappe”frappe-pesepay adds Pesepay as
a payment gateway to a Frappe site. With ERPNext installed it also creates
the Mode of Payment and gateway accounts, and records a Payment Entry when a
payment settles. It needs Frappe’s payments app.
bench get-app https://github.com/Stelele/frappe-pesepay --branch version-16bench --site <site_name> install-app pesepayIt settles payments by checking their status with Pesepay from a background job, not by acting on the result callback — the safe way round, but it means a payment shows as paid on the scheduler’s next run, typically within a few minutes, rather than the instant the customer finishes. MIT licensed.
The pesepay package on pub.dev is a plain Dart client covering both the redirect and seamless flows.
dart pub add pesepayIt calls production only — there’s no sandbox setting — so do your sandbox testing over raw HTTP or another SDK before switching it on. MIT licensed.
Listing criteria
Section titled “Listing criteria”To be listed, a library must:
- Encrypt and decrypt as the encryption guide specifies, and call the current endpoints
- Talk to Pesepay over HTTPS with certificate verification left on
- Keep both keys on the server — nothing that runs in a browser or a mobile app
- Confirm payment outcomes with Check Payment Status rather than trusting a callback body, if it handles callbacks at all (why)
- Have public source, an open-source license, a release on its language’s package registry, and activity in the last 12 months
Meeting these criteria when a library is added isn’t a guarantee about that version or any later one. A library may be removed if it stops meeting them or goes unmaintained.
Getting your library listed
Section titled “Getting your library listed”Built something for Pesepay? Email the repository link and the published package name to merchantservices@pesepay.com, and say how it meets the criteria above.