UNPKG

@unchainedshop/plugins

Version:

Because of a Typescript issue with upstream "postfinancecheckout", the Postfinance plugin has been disabled from transpilation, import the source ts files from src and enable node_module tsc or copy over the src/payment/postfinance-checkout to your projec

109 lines 4.31 kB
import * as pf from 'postfinancecheckout'; const { PostFinanceCheckout } = pf; const { PFCHECKOUT_SPACE_ID, PFCHECKOUT_USER_ID, PFCHECKOUT_SECRET } = process.env; const SPACE_ID = parseInt(PFCHECKOUT_SPACE_ID, 10); const USER_ID = parseInt(PFCHECKOUT_USER_ID, 10); const getConfig = () => { return { space_id: SPACE_ID, user_id: USER_ID, api_secret: PFCHECKOUT_SECRET, }; }; const getTransactionService = () => { return new PostFinanceCheckout.api.TransactionService(getConfig()); }; const getTransactionCompletionService = () => { return new PostFinanceCheckout.api.TransactionCompletionService(getConfig()); }; const getTransactionVoidService = () => { return new PostFinanceCheckout.api.TransactionVoidService(getConfig()); }; const getRefundService = () => { return new PostFinanceCheckout.api.RefundService(getConfig()); }; const getTransactionPaymentPageService = () => { return new PostFinanceCheckout.api.TransactionPaymentPageService(getConfig()); }; const getTransactionIframeService = () => { return new PostFinanceCheckout.api.TransactionIframeService(getConfig()); }; const getTransactionLightboxService = () => { return new PostFinanceCheckout.api.TransactionLightboxService(getConfig()); }; const getTokenService = () => { return new PostFinanceCheckout.api.TokenService(getConfig()); }; export const getTransaction = async (transactionId) => { const transactionService = getTransactionService(); const transaction = await transactionService.read(SPACE_ID, parseInt(transactionId, 10)); return transaction.body; }; export const getTransactionCompletion = async (entityId) => { const transactionCompletionService = getTransactionCompletionService(); const transactionCompletion = await transactionCompletionService.read(SPACE_ID, parseInt(entityId, 10)); return transactionCompletion.body; }; export const getToken = async (spaceId, tokenId) => { const tokenService = getTokenService(); const token = await tokenService.read(spaceId || SPACE_ID, tokenId); return token.body; }; export const createTransaction = async (transaction) => { const transactionService = getTransactionService(); const transactionCreateRes = await transactionService.create(SPACE_ID, transaction); const transactionCreate = transactionCreateRes.body; return transactionCreate.id || null; }; export const voidTransaction = async (transactionId) => { const transactionVoidService = getTransactionVoidService(); try { await transactionVoidService.voidOnline(SPACE_ID, parseInt(transactionId, 10)); return true; } catch { return false; } }; export const refundTransaction = async (transactionId, orderId, amount) => { const refundService = getRefundService(); const refund = { transaction: parseInt(transactionId, 10), externalId: orderId, amount, type: PostFinanceCheckout.model.RefundType.MERCHANT_INITIATED_ONLINE, }; try { await refundService.refund(SPACE_ID, refund); return true; } catch { return false; } }; export const confirmDeferredTransaction = async (transactionId) => { const transactionCompletionService = getTransactionCompletionService(); try { await transactionCompletionService.completeOnline(SPACE_ID, parseInt(transactionId, 10)); return true; } catch { return false; } }; export const getPaymentPageUrl = async (transactionId) => { const transactionPaymentPageService = getTransactionPaymentPageService(); const paymentPageUrl = await transactionPaymentPageService.paymentPageUrl(SPACE_ID, transactionId); return paymentPageUrl.body; }; export const getLightboxJavascriptUrl = async (transactionId) => { const transactionLightboxService = getTransactionLightboxService(); const javascriptUrl = await transactionLightboxService.javascriptUrl(SPACE_ID, transactionId); return javascriptUrl.body; }; export const getIframeJavascriptUrl = async (transactionId) => { const transactionIframeService = getTransactionIframeService(); const javascriptUrl = await transactionIframeService.javascriptUrl(SPACE_ID, transactionId); return javascriptUrl.body; }; //# sourceMappingURL=api.js.map