paybytoken
v1.2.4
Published
A TypeScript SDK for the PayByToken API
Maintainers
Readme
PayByToken SDK
A TypeScript SDK for the PayByToken API, facilitating seamless integration of cryptocurrency transactions and related features with stablecoins such as USDC and USDT.
Installation
Install the package using your preferred package manager:
- npm:
npm install paybytoken- yarn:
yarn add paybytoken- pnpm:
pnpm add paybytokenRequirements
- Node.js version 18.x or higher (due to native fetch usage).
Usage
CommonJS (require)
const PayByToken = require('paybytoken')
const paybytoken = new PayByToken('sk_test_907...de66')
async function example() {
try {
const paymentIntent = await paybytoken.paymentIntents.create({
amount: '10.0',
currency: 'USDC',
chain: 'base',
})
console.log('Created Payment Intent:', paymentIntent)
} catch (error) {
console.error('Error:', error.message)
}
}
example()ES Modules (import)
import PayByToken from 'paybytoken'
async function example() {
const paybytoken = new PayByToken('sk_test_907...de66')
try {
const paymentIntent = await paybytoken.paymentIntents.create({
amount: '10.0',
currency: 'USDC',
chain: 'base',
})
console.log('Created Payment Intent:', paymentIntent)
} catch (error) {
console.error('Error:', error.message)
}
}
example()API Overview
The SDK provides access to the following resources:
paymentIntents: Manage payment intents (create, get, list, cancel).payouts: Handle cryptocurrency payouts.webhookEndpoints: Configure webhook endpoints.checkoutSessions: Create checkout sessions.
Configuration
Initialize the SDK with your API key and optional configuration:
apiKey(required): Your PayByToken secret key (e.g., sktest...).timeout(optional): Request timeout in milliseconds (defaults to 10000).
Error Handling
The SDK throws PayByTokenError and its subclasses (e.g., AuthenticationError, ValidationError) for API errors. Catch and handle them as needed:
try {
// API call
} catch (error) {
if (error.name === 'PayByTokenError') {
console.error('PayByTokenError failed:', error.message)
}
}License
This project is licensed under the MIT License.
