Xenith
Overview
Xenith is a fiat payment provider that enables businesses to process secure bank transfer transactions in multiple currencies including EUR, GBP, and USD. It provides a seamless integration for processing international bank transfers with real-time transaction tracking.

Features
- Multi-currency support (EUR, GBP, USD)
- Real-time transaction processing
- Secure bank transfer handling
- International payment support
- Instant payment notifications
- Customizable success and failure callbacks
Integration Requirements
- Banksy API Key
- Valid callback URLs for success and failure scenarios
- Customer email for transaction notifications
warning
The isKycOptional
parameter should be set to true
for Xenith payments, as it is mandatory.
Supported Currencies
Currencies
- EUR (Deposits)
- GBP (Deposits)
- USD (Withdrawals)
Transaction Limits
Currency | Minimum Amount |
---|---|
EUR | 10 EUR |
GBP | 10 GBP |
USD | 10 USD |
Implementation
Payment Payload Structure
const payload = {
amount: number, // Payment amount
currency: string, // Currency code (EUR/GBP/USD)
currencyType: "xenith", // Fixed value for fiat transactions
isKycOptional: boolean, // Whether KYC is required
customerEmail: string, // Customer's email address
successCallback: string, // URL for successful payments
failureCallback: string, // URL for failed payments
};
Example Implementation
import { Banksy } from "banksy-sdk";
// Initialize the Banksy SDK with your API key
const banksy = new Banksy("your-api-key");
async function createXenithPayment() {
try {
const paymentPayload = {
amount: 10,
currency: "EUR",
currencyType: "xenith",
isKycOptional: true,
customerEmail: "customer@example.com",
successCallback: "https://your-domain.com/success",
failureCallback: "https://your-domain.com/failure",
};
const payment = await banksy.createPayment(paymentPayload);
console.log("Payment Created:", payment);
// Redirect to payment page
window.location.href = payment.paymentLink;
} catch (error) {
console.error("Payment creation failed:", error);
}
}
Testing
- Use test API keys for development
- Test with different currency combinations
- Verify callback handling for both success and failure scenarios
- Test transaction flow with minimum amounts
API Testing with cURL
curl --location 'https://sandbox-api.banksy.id/sdk/payment/create' \
--header 'Content-Type: application/json' \
--header 'X-AUTH: ck_test_************738139' \
--data-raw '{
"amount": 10,
"currency": "EUR",
"currencyType": "xenith",
"isKycOptional": true,
"customerEmail": "customer@example.com",
"successCallback": "http://domain.com/success",
"failureCallback": "http://domain.com/failure"
}'
Security Considerations
- Always use HTTPS for API calls
- Validate all input parameters
- Store sensitive data securely
- Implement proper authentication for callback endpoints
- Monitor transactions for suspicious activity
Best Practices
-
Amount Validation
- Ensure the amount meets minimum transaction requirements
- Validate against supported currency limits
- Use proper decimal handling for different currencies
-
Currency Handling
- Verify the currency is supported for the desired operation (deposit/withdrawal)
- Handle currency-specific formatting
- Consider international banking requirements
-
Callback URLs
- Use HTTPS for callback URLs
- Implement proper validation in callback endpoints
- Handle both success and failure scenarios gracefully
-
Error Handling
- Implement comprehensive error handling
- Log all payment attempts and responses
- Provide clear error messages to users
Support
For technical support or integration assistance, please contact the Banksy support team through the official channels.