@nest25/banksy-sdk
v1.0.32
Published
The Banksy Payment SDK is a unified payment gateway solution designed to simplify the integration of multiple payment methods into applications. It offers developers a comprehensive set of tools and APIs for seamless payment processing while ensuring secu
Downloads
250
Readme
BANKSY PAYMENT SDK
The Banksy Payment SDK is a unified payment gateway solution designed to simplify the integration of multiple payment methods into applications. It offers developers a comprehensive set of tools and APIs for seamless payment processing while ensuring security, compliance, and scalability.
[[TOC]]
FEATURES
- Unified Integration: Easily incorporate multiple payment methods into applications using a single set of APIs and tools.
- Multi-Payment Method Support: Accept payments through various methods including credit/debit cards, PayPal, cryptocurrencies, digital wallets, and bank transfers.
- Country-Specific Configuration: Dynamically enable/disable payment methods based on the user's country to comply with regional regulations and optimize the payment experience.
- Security and Compliance: Adheres to industry-standard encryption protocols and compliance requirements (such as PCI-DSS) to ensure secure transactions and safeguard sensitive payment data.
- Developer-Friendly: Clear documentation, code samples, and resources to streamline the integration process for developers of all skill levels.
- Customization Options: Customize the payment flow, user interface, and error handling mechanisms to meet specific application requirements.
CONFIGURATION
To use the SDK, you need:
- CLIENT_KEY
- CLIENT_SECRET
Follow these steps:
i. Go to the BANKSY-DASHBOARD portal to generate an API Key.
ii. Install the SDK in your frontend application:
npm install @nest25/banksy-sdk --save
iii. Initialize the SDK with your CLIENT_KEY:
import { Banksy } from "@nest25/banksy-sdk";
const banksy = new Banksy("YOUR_CLIENT_KEY");
export default banksy;
(Note: To prevent multiple initializations, create a separate helper file.)
DATA FLOW
The SDK provides useful methods for processing payments across multiple providers. The diagram below illustrates the data flow:
- Select the product/service user want to purchase with proper
amount: number
andcurrency: string
- Then let the user choose the payment provider they want to pay with.
const providersData = await banksy.getProviders();
- This payment providers selection step can be skipped and can be hard coded.
- Create a payment
const paymentData = await banksy.createPayment( "PROVIDER_NAME", // Can be hardcoded here in order to skip step 2 "AMOUNT_TO_CHARGE", "CURRENCY", "SUCCESS_CALLBACK_URL", "FAILURE_CALLBACK_URL", "EXTERNAL_CLIENT_ID", "CONTEXT", // Can be set any valid JSON object, will receive on banksy.getPayment "WALLET_ADDRESS" );
- Will return a payment link, open it to perform the payment.
- After successful payment the SUCCESS_CALLBACK_URL will be redirected automatically with
paymentId: string
on query parameter - Same thing will happen on failure.
- After receiving the
paymentId
validate the statusconst paymentData = await banksy.getPayment(paymentId);
WEBHOOK
Configure your webhook urls on the Dashboard/API keys Webhooks will be triggered automatically once any transaction happens using the API key.
Webhooks will accepts only POST
methods
And body will be
{
"paymentId": string,
"payment": string // Encrypted payment object
}
Decrypt Payment To decrypt the payment data received on webhook use this method
import { Banksy } from "@nest25/banksy-sdk";
const banksy = new Banksy("YOUR_SECRET_KEY");
const paymentData = banksy.decryptPayment("PAYMENT_STRING_RECEIVED_ON_WEBHOOK");
NB: This method only works with client secret key