SDKs & Libraries¶
Official Nivatio SDKs for popular programming languages.
Available SDKs¶
-
:fontawesome-brands:js: JavaScript/TypeScript ---
@nivatio/sdk-js- For Node.js and browser npm package -
:fontawesome-brands:python: Python ---
nivatio-python- For Python applications PyPI package -
Go ---
go-nivatio- For Go applications GitHub
JavaScript/TypeScript SDK¶
Installation¶
npm install @nivatio/sdk-js
# or
yarn add @nivatio/sdk-js
Usage¶
import { NivatioClient } from '@nivatio/sdk-js';
// Initialize with API key
const client = new NivatioClient({
apiKey: 'nv_sk_live_abc123...',
environment: 'production' // or 'sandbox'
});
// Create an order
const order = await client.orders.create({
amount: 100000, // 100.000 NUSD (6 decimals)
currency: 'NUSD',
description: 'Premium Subscription',
successUrl: 'https://yourapp.com/success',
cancelUrl: 'https://yourapp.com/cancel',
metadata: {
internalOrderId: 'order_123'
}
});
console.log('Checkout URL:', order.checkoutUrl);
// Retrieve an order
const retrieved = await client.orders.retrieve(order.id);
console.log('Order status:', retrieved.status);
// List orders
const orders = await client.orders.list({
status: 'PAID',
limit: 10
});
Python SDK¶
Installation¶
pip install nivatio-python
Usage¶
from nivatio import NivatioClient
# Initialize client
client = NivatioClient(
api_key='nv_sk_live_abc123...',
environment='production' # or 'sandbox'
)
# Create an order
order = client.orders.create(
amount=100000, # 100.000 NUSD
currency='NUSD',
description='Premium Subscription',
success_url='https://yourapp.com/success',
cancel_url='https://yourapp.com/cancel',
metadata={'internal_order_id': 'order_123'}
)
print(f"Checkout URL: {order.checkout_url}")
# Retrieve an order
retrieved = client.orders.retrieve(order.id)
print(f"Order status: {retrieved.status}")
# List orders
orders = client.orders.list(status='PAID', limit=10)
for order in orders:
print(f"Order {order.id}: {order.status}")
Go SDK¶
Installation¶
go get github.com/nivatio/go-nivatio
Usage¶
package main
import (
"fmt"
nivatio "github.com/nivatio/go-nivatio"
)
func main() {
// Initialize client
client := nivatio.NewClient("nv_sk_live_abc123...", "production")
// Create an order
order, err := client.Orders.Create(&nivatio.CreateOrderRequest{
Amount: 100000,
Currency: "NUSD",
Description: "Premium Subscription",
SuccessURL: "https://yourapp.com/success",
CancelURL: "https://yourapp.com/cancel",
Metadata: map[string]string{
"internal_order_id": "order_123",
},
})
if err != nil {
panic(err)
}
fmt.Printf("Checkout URL: %s\n", order.CheckoutURL)
// Retrieve an order
retrieved, _ := client.Orders.Retrieve(order.ID)
fmt.Printf("Order status: %s\n", retrieved.Status)
}
Community Libraries¶
| Language | Library | Maintained By |
|---|---|---|
| Ruby | nivatio-ruby |
Community |
| PHP | nivatio-php |
Community |
| Java | nivatio-java |
Community |
| C# | Nivatio.Net |
Community |
Community Libraries
These libraries are maintained by the community. Nivatio does not guarantee their reliability.
Feature Comparison¶
| Feature | JavaScript | Python | Go |
|---|---|---|---|
| Order Creation | ✅ | ✅ | ✅ |
| Order Retrieval | ✅ | ✅ | ✅ |
| Order Listing | ✅ | ✅ | ✅ |
| Webhook Validation | ✅ | ✅ | ✅ |
| TypeScript Support | ✅ | N/A | N/A |
| Sandbox Mode | ✅ | ✅ | ✅ |