UNPKG

@unchainedshop/plugins

Version:

Official plugin collection for the Unchained Engine with payment, delivery, and pricing adapters

27 lines (26 loc) 1.73 kB
import express from 'express'; import connectCryptoToExpress from "./crypto-express.js"; import connectBaseToExpress from "./base-express.js"; import { datatransHandler } from "../payment/datatrans-v2/handler-express.js"; import { stripeHandler } from "../payment/stripe/handler-express.js"; import { postfinanceCheckoutHandler } from "../payment/postfinance-checkout/handler-express.js"; import { appleIAPHandler } from "../payment/apple-iap/handler-express.js"; import { payrexxHandler } from "../payment/payrexx/handler-express.js"; import { saferpayHandler } from "../payment/saferpay/handler-express.js"; import { configureGenerateOrderAutoscheduling } from "../worker/enrollment-order-generator.js"; const { STRIPE_WEBHOOK_PATH = '/payment/stripe', PAYREXX_WEBHOOK_PATH = '/payment/payrexx', PFCHECKOUT_WEBHOOK_PATH = '/payment/postfinance-checkout', DATATRANS_WEBHOOK_PATH = '/payment/datatrans/webhook', APPLE_IAP_WEBHOOK_PATH = '/payment/apple-iap', SAFERPAY_WEBHOOK_PATH = '/payment/saferpay/webhook', } = process.env; export default (app, { unchainedAPI }) => { connectBaseToExpress(app); connectCryptoToExpress(app, unchainedAPI); app.use(STRIPE_WEBHOOK_PATH, express.raw({ type: 'application/json' }), stripeHandler); app.use(PFCHECKOUT_WEBHOOK_PATH, express.json(), postfinanceCheckoutHandler); app.use(DATATRANS_WEBHOOK_PATH, express.text({ type: 'application/json', }), datatransHandler); app.use(APPLE_IAP_WEBHOOK_PATH, express.json({ strict: false, }), appleIAPHandler); app.use(PAYREXX_WEBHOOK_PATH, express.json({ type: 'application/json' }), payrexxHandler); app.use(SAFERPAY_WEBHOOK_PATH, saferpayHandler); configureGenerateOrderAutoscheduling(); };