Deliverart JavaScript SDK for Payment Management
npm install @deliverart/sdk-js-paymentPayment management package for the DeliverArt JavaScript SDK.
``bash`
npm install @deliverart/sdk-js-payment @deliverart/sdk-js-core
- Payment information
- PaymentDetails - Extended payment with order details
- PaymentConfig - Payment configuration for point of sale
- PaymentMethod - Payment method type
- PaymentStatus - Payment status$3
`typescript
type PaymentMethod =
| 'CASH'
| 'CREDIT_CARD'
| 'DEBIT_CARD'
| 'STRIPE'
| 'PAYPAL'
| 'SATISPAY'
| 'ONLINE'
| 'POS'
`$3
`typescript
type PaymentStatus =
| 'PENDING'
| 'PROCESSING'
| 'COMPLETED'
| 'FAILED'
| 'REFUNDED'
| 'CANCELLED'
`$3
- PaymentIri - Payment IRI (/payments/:id)
- PaymentConfigIri - Payment config IRI (/payment_configs/:id)Available Requests
$3
#### CreatePayment
`typescript
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 IRI
- method: PaymentMethod (required) - Payment method
- amount: number (required) - Amount in cents
- status?: PaymentStatus (optional) - Initial status (default: 'PENDING')
- transactionId?: string (optional) - External transaction ID
- metadata?: object (optional) - Additional metadata#### GetPayments
`typescript
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 order
- method?: PaymentMethod - Filter by payment method
- status[]?: PaymentStatus[] - Filter by statuses
- createdAt[before]?: string - Created before date
- createdAt[after]?: string - Created after date
- page?: number - Page number#### GetPaymentDetails
`typescript
import { GetPaymentDetails } from '@deliverart/sdk-js-payment';const payment = await sdk.call(new GetPaymentDetails('payment-123'));
`#### UpdatePayment
`typescript
import { UpdatePayment } from '@deliverart/sdk-js-payment';const updated = await sdk.call(new UpdatePayment('payment-123', {
status: 'COMPLETED',
transactionId: 'txn_abc123'
}));
`---
$3
#### CreatePaymentConfig
`typescript
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 IRI
- method: PaymentMethod (required) - Payment method
- enabled: boolean (required) - Enable/disable payment method
- config: object (required) - Method-specific configuration#### GetPaymentConfigs
`typescript
import { GetPaymentConfigs } from '@deliverart/sdk-js-payment';const configs = await sdk.call(new GetPaymentConfigs({
query: {
pointOfSale: '/point_of_sales/123',
enabled: true
}
}));
`#### UpdatePaymentConfig
`typescript
import { UpdatePaymentConfig } from '@deliverart/sdk-js-payment';const updated = await sdk.call(new UpdatePaymentConfig('config-123', {
enabled: false
}));
`---
Complete Usage Example
`typescript
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});
}
``MIT