@deliverart/sdk-js-payment
v2.38.0
Published
Deliverart JavaScript SDK for Payment Management
Readme
@deliverart/sdk-js-payment
Payment management package for the DeliverArt JavaScript SDK.
Installation
npm install @deliverart/sdk-js-payment @deliverart/sdk-js-coreAdditional order payments
GetPaymentInfo reads an amendment's separate Stripe payment without polling Stripe.
While its asynchronous Checkout is being prepared, sessionUrl and expiresAt
are both null. Once ready, they contain the stored link and expiration timestamp.
Only render a payment action when sessionUrl is non-null. Expired, failed, or paid
sessions return a null link; expiration alone is not evidence of a failed payment.
The amount is a decimal string for the additional balance, not the original order
payment. Creating a link does not confirm receipt of money.
The existing /orders/{id}/pay full-order flow and generic payment PATCH/DELETE
cannot replace a payment once amendment settlement accounting is active. Use the
order's settlement operations instead. The original payment stays unchanged.
Exported 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
