UNPKG

paypal-integrations-intacct

Version:

Integration between paypal and intacct using hapi.

60 lines 2.34 kB
"use strict"; var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; Object.defineProperty(exports, "__esModule", { value: true }); const boom = require("boom"); const hapi_paypal_1 = require("hapi-paypal"); const invoicing_1 = require("./invoicing"); exports.hapiPayPal = new hapi_paypal_1.HapiPayPal(); exports.hapiPayPal.routes.get("paypal_webhooks_listen").custom = (request, reply, error, response) => __awaiter(this, void 0, void 0, function* () { if (error) { return reply(boom.notFound(error.message)); } try { yield invoicing_1.hapiPayPalIntacctInvoicing.webhookHandler(request.payload); return reply("GOT IT!"); } catch (err) { request.server.log("error", `webhookEvent: ${JSON.stringify(request.payload)} | Error:${err.message}`); return reply(boom.badRequest(err.message)); } }); exports.hapiPayPalOptions = { routes: ["paypal_webhooks_listen"], sdk: { client_id: process.env.PAYPAL_CLIENT_ID, client_secret: process.env.PAYPAL_CLIENT_SECRET, mode: process.env.PAYPAL_MODE, requestOptions: { headers: { "PayPal-Partner-Attribution-Id": "Hapi-Middleman-Intacct", }, }, }, webhook: { event_types: [ { name: "INVOICING.INVOICE.PAID", }, { name: "INVOICING.INVOICE.CANCELLED", }, ], url: `https://${process.env.HOSTNAME}${process.env.PAYPAL_WEBHOOK_ROUTE}`, }, }; exports.hapiPayPalPlugin = { options: exports.hapiPayPalOptions, register: exports.hapiPayPal.register, select: ["public"], }; exports.hapiPayPalGlueRegistration = { plugin: exports.hapiPayPalPlugin, }; //# sourceMappingURL=hapi-paypal.js.map