Skip to main content

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.

Xenith Logo

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

CurrencyMinimum Amount
EUR10 EUR
GBP10 GBP
USD10 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

  1. Use test API keys for development
  2. Test with different currency combinations
  3. Verify callback handling for both success and failure scenarios
  4. 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

  1. Amount Validation

    • Ensure the amount meets minimum transaction requirements
    • Validate against supported currency limits
    • Use proper decimal handling for different currencies
  2. Currency Handling

    • Verify the currency is supported for the desired operation (deposit/withdrawal)
    • Handle currency-specific formatting
    • Consider international banking requirements
  3. Callback URLs

    • Use HTTPS for callback URLs
    • Implement proper validation in callback endpoints
    • Handle both success and failure scenarios gracefully
  4. 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.