Skip to main content

Perseus

Overview

Perseus is a comprehensive fiat payment provider that enables businesses to accept payments in multiple currencies worldwide. It provides a robust integration for processing fiat currency transactions with flexible KYC requirements and supports various payment methods.

Perseus Logo

Features

  • Extensive multi-currency support
  • Flexible KYC verification options
  • Advanced fraud protection
  • Real-time payment notifications

Integration Requirements

  • Banksy API Key
  • Valid callback URLs for success and failure scenarios
  • Customer email for transaction notifications
  • SSL-enabled endpoint for webhook notifications

Supported Currencies

Currencies
  • AUD - Australian Dollar
  • BRL - Brazilian Real
  • CAD - Canadian Dollar
  • CNY - Chinese Yuan
  • CZK - Czech Koruna
  • DKK - Danish Krone
  • EUR - Euro
  • HKD - Hong Kong Dollar
  • HUF - Hungarian Forint
  • ILS - Israeli New Shekel
  • JPY - Japanese Yen
  • MYR - Malaysian Ringgit
  • MXN - Mexican Peso
  • TWD - New Taiwan Dollar
  • NZD - New Zealand Dollar
  • NOK - Norwegian Krone
  • PHP - Philippine Peso
  • PLN - Polish Złoty
  • GBP - British Pound
  • SGD - Singapore Dollar
  • SEK - Swedish Krona
  • CHF - Swiss Franc
  • THB - Thai Baht
  • USD - United States Dollar

Accepted Payment Methods

  • Visa
  • Mastercard
  • American Express
  • Discover
  • Diners Club

Implementation

Payment Payload Structure

const payload = {
amount: number, // Payment amount
currency: string, // Currency code (e.g., USD, EUR, GBP)
currencyType: "perseus", // 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 createPerseusPayment() {
try {
const paymentPayload = {
amount: 10,
currency: "USD",
currencyType: "perseus",
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 sandbox API keys for development
  2. Test with various currencies and payment methods
  3. Verify webhook handling for different payment scenarios
  4. Test KYC flows when required
  5. Validate error handling and edge cases

Test Cards

For testing in the sandbox environment:

// American Express
Card Number: 371449635398431
Card Number: 376680816376961

// Diners Club
Card Number: 36259600000004

// Maestro
Card Number: 6304000000000000
Card Number: 5063516945005047

// Mastercard
Card Number: 2223000048400011

// Visa
Card Number: 4005519200000004
Card Number: 4012000033330026
Card Number: 4012000077777777
Card Number: 4012888888881881

API Testing with cURL

You can test the payment creation endpoint using the following cURL command:

curl --location 'https://sandbox-api.banksy.id/sdk/payment/create' \
--header 'Content-Type: application/json' \
--header 'X-AUTH: ck_test_************738139' \
--data-raw '{
"amount": 100,
"currency": "USD",
"currencyType": "perseus",
"isKycOptional": true,
"customerEmail": "customer@example.com",
"successCallback": "http://domain.com/success",
"failureCallback": "http://domain.com/failure"
}'

Security Best Practices

  1. Authentication & Authorization

    • Implement strong API key management
    • Use webhook signatures for verification
    • Regular key rotation
    • IP whitelisting when possible
  2. Fraud Prevention

    • Enable advanced fraud detection
    • Monitor unusual transaction patterns
    • Implement velocity checks
    • Use AVS and CVV verification
  3. Error Handling

    • Implement comprehensive logging
    • Monitor failed transactions
    • Set up alerting for suspicious activities
    • Proper error message handling

Support

For technical support or integration assistance, please contact the Banksy support team through the official channels.