@deliverart/sdk-js-payment
v2.5.8
Published
Deliverart JavaScript SDK for Payment Management
Downloads
4,517
Readme
@deliverart/sdk-js-payment
Payment management package for the DeliverArt JavaScript SDK.
Installation
npm install @deliverart/sdk-js-payment @deliverart/sdk-js-coreExported Types
Core Types
Payment- Payment informationPaymentDetails- Extended payment with order detailsPaymentConfig- Payment configuration for point of salePaymentMethod- Payment method typePaymentStatus- Payment status
Payment Method Types
type PaymentMethod =
| 'CASH'
| 'CREDIT_CARD'
| 'DEBIT_CARD'
| 'STRIPE'
| 'PAYPAL'
| 'SATISPAY'
| 'ONLINE'
| 'POS'Payment Status Types
type PaymentStatus =
| 'PENDING'
| 'PROCESSING'
| 'COMPLETED'
| 'FAILED'
| 'REFUNDED'
| 'CANCELLED'IRI Types
PaymentIri- Payment IRI (/payments/:id)PaymentConfigIri- Payment config IRI (/payment_configs/:id)
Available Requests
Payments
CreatePayment
import { CreatePayment } from '@deliverart/sdk-js-payment';
const payment = await sdk.call(new CreatePayment({
order: '/orders/123',
method: 'CREDIT_CARD',
amount: 2500, // In cents
status: 'PENDING'
}));Input Parameters:
order: string(required) - Order IRImethod: PaymentMethod(required) - Payment methodamount: number(required) - Amount in centsstatus?: PaymentStatus(optional) - Initial status (default: 'PENDING')transactionId?: string(optional) - External transaction IDmetadata?: object(optional) - Additional metadata
GetPayments
import { GetPayments } from '@deliverart/sdk-js-payment';
const payments = await sdk.call(new GetPayments({
query: {
order: '/orders/123',
method: 'CREDIT_CARD',
'status[]': ['COMPLETED', 'PENDING'],
page: 1
}
}));Query Parameters:
order?: string- Filter by ordermethod?: PaymentMethod- Filter by payment methodstatus[]?: PaymentStatus[]- Filter by statusescreatedAt[before]?: string- Created before datecreatedAt[after]?: string- Created after datepage?: number- Page number
GetPaymentDetails
import { GetPaymentDetails } from '@deliverart/sdk-js-payment';
const payment = await sdk.call(new GetPaymentDetails('payment-123'));UpdatePayment
import { UpdatePayment } from '@deliverart/sdk-js-payment';
const updated = await sdk.call(new UpdatePayment('payment-123', {
status: 'COMPLETED',
transactionId: 'txn_abc123'
}));Payment Configurations
CreatePaymentConfig
import { CreatePaymentConfig } from '@deliverart/sdk-js-payment';
const config = await sdk.call(new CreatePaymentConfig({
pointOfSale: '/point_of_sales/123',
method: 'STRIPE',
enabled: true,
config: {
publicKey: 'pk_test_...',
secretKey: 'sk_test_...'
}
}));Input Parameters:
pointOfSale: string(required) - Point of sale IRImethod: PaymentMethod(required) - Payment methodenabled: boolean(required) - Enable/disable payment methodconfig: object(required) - Method-specific configuration
GetPaymentConfigs
import { GetPaymentConfigs } from '@deliverart/sdk-js-payment';
const configs = await sdk.call(new GetPaymentConfigs({
query: {
pointOfSale: '/point_of_sales/123',
enabled: true
}
}));UpdatePaymentConfig
import { UpdatePaymentConfig } from '@deliverart/sdk-js-payment';
const updated = await sdk.call(new UpdatePaymentConfig('config-123', {
enabled: false
}));Complete Usage Example
import { sdk } from './lib/sdk';
import {
CreatePaymentConfig,
CreatePayment,
UpdatePayment,
GetPayments
} from '@deliverart/sdk-js-payment';
async function paymentWorkflow() {
// Setup payment methods for point of sale
await sdk.call(new CreatePaymentConfig({
pointOfSale: '/point_of_sales/123',
method: 'STRIPE',
enabled: true,
config: {
publicKey: process.env.STRIPE_PUBLIC_KEY,
secretKey: process.env.STRIPE_SECRET_KEY
}
}));
// Create payment for order
const payment = await sdk.call(new CreatePayment({
order: '/orders/456',
method: 'CREDIT_CARD',
amount: 2500,
status: 'PENDING'
}));
// Process payment (integrate with payment gateway)
// ... payment processing logic ...
// Update payment status
await sdk.call(new UpdatePayment(payment.id, {
status: 'COMPLETED',
transactionId: 'txn_abc123'
}));
// Get all completed payments
const completed = await sdk.call(new GetPayments({
query: {
'status[]': ['COMPLETED'],
'order[createdAt]': 'desc'
}
}));
console.log(`Total completed: ${completed.pagination.totalItems}`);
}License
MIT
