Clients

SDKs

Eight languages, one API surface. Automatic idempotency, webhook signature verification, sensible errors.

Official clients with automatic idempotency, webhook signature verification and sensible errors. All SDKs talk to the same REST API, so features ship to all of them at the same time.

LanguageInstallImport
Node.js / TSnpm install @nerezpay/sdkimport { NerezpayClient } from '@nerezpay/sdk'
Pythonpip install nerezpayfrom nerezpay import NerezpayClient
PHPcomposer require nerezpay/sdkuse Nerezpay\NerezpayClient;
Rubygem install nerezpayrequire 'nerezpay'
Javaru.nerezpay:nerezpay-sdk:0.1.0import ru.nerezpay.sdk.NerezpayClient;
.NETdotnet add package Nerezpay.Sdkusing Nerezpay;
Gogo get github.com/nerezpay/sdk-goimport "github.com/nerezpay/sdk-go/nerezpay"
Dart / Flutterflutter pub add nerezpayimport 'package:nerezpay/nerezpay.dart';

API comparison

The surface is identical; the idioms are native to each language:

import { NerezpayClient } from '@nerezpay/sdk'

const client = new NerezpayClient({ apiKey: process.env.PSP_API_KEY })
const { payment, payment_url } = await client.createPayment({
  amount: 150_000, currency: 'RUB', method: 'sbp',
  order_id: 'ORDER-1042',
  return_url: 'https://shop.example/orders/1042/done',
})

Your language isn’t listed

Generate a client from the OpenAPI spec via openapi-generator (50+ targets: Rust, Kotlin, Swift, Elixir, Crystal, Clojure, Scala, …):

openapi-generator-cli generate \
  -i https://api.nerezpay.ru/openapi.yaml \
  -g rust \
  -o ./nerezpay-rust