UNPKG

@rsc-labs/medusa-square-payment

Version:
85 lines 6.68 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const utils_1 = require("@medusajs/framework/utils"); const square_1 = require("square"); const crypto_1 = require("crypto"); class SquarePaymentProviderService extends utils_1.AbstractPaymentProvider { constructor(container, options) { super(container, options); this.logger_ = container.logger; this.options_ = options; this.eventBusService_ = container.event_bus; this.square_ = new square_1.SquareClient({ token: this.options_.token, environment: this.options_.environment === 'sandbox' ? square_1.SquareEnvironment.Sandbox : square_1.SquareEnvironment.Production }); } static validateOptions(options) { if (!options.token) { throw new utils_1.MedusaError(utils_1.MedusaError.Types.INVALID_DATA, "token is required in the provider's options."); } if (options.environment) { if (options.environment !== 'production' && options.environment !== "sandbox") { throw new utils_1.MedusaError(utils_1.MedusaError.Types.INVALID_DATA, "environment needs to be either production or sandbox"); } } } async capturePayment(paymentData) { return { data: paymentData, }; } async authorizePayment(paymentData) { return { ...paymentData, status: paymentData.data && paymentData.data.status === 'COMPLETED' ? 'captured' : 'pending', }; } async cancelPayment(paymentData) { throw new Error("cancelPayment Method not implemented."); } async initiatePayment(paymentData) { const result = await this.square_.payments.create({ idempotencyKey: (0, crypto_1.randomUUID)(), sourceId: paymentData.data.token, amountMoney: { currency: paymentData.currency_code.toUpperCase(), // currency: "USD", amount: BigInt(paymentData.amount * 100) } }); if (result.payment && result.payment.id) { return { id: result.payment.id, data: { ...paymentData, status: result.payment.status, } }; } throw new Error("initpayment no context provided"); } async deletePayment(paymentSessionData) { throw new Error("deletePayment Method not implemented."); } async getPaymentStatus(paymentData) { throw new Error("getPaymentStatus Method not implemented."); } async refundPayment(paymentData) { throw new Error("refundPayment Method not implemented."); } async retrievePayment(paymentSessionData) { throw new Error("retrievePayment Method not implemented."); } async updatePayment(context) { throw new Error("updatePayment Method not implemented."); } async getWebhookActionAndData(data) { return { action: utils_1.PaymentActions.NOT_SUPPORTED }; } } SquarePaymentProviderService.identifier = "square-payment"; exports.default = SquarePaymentProviderService; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9wcm92aWRlcnMvc3F1YXJlLXBheW1lbnQvc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLHFEQUFnRztBQUdoRyxtQ0FBaUU7QUFDakUsbUNBQW9DO0FBWXBDLE1BQU0sNEJBQTZCLFNBQVEsK0JBRTFDO0lBUUMsWUFDRSxTQUErQixFQUMvQixPQUFnQjtRQUVoQixLQUFLLENBQUMsU0FBUyxFQUFFLE9BQU8sQ0FBQyxDQUFBO1FBRXpCLElBQUksQ0FBQyxPQUFPLEdBQUcsU0FBUyxDQUFDLE1BQU0sQ0FBQTtRQUMvQixJQUFJLENBQUMsUUFBUSxHQUFHLE9BQU8sQ0FBQTtRQUN2QixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsU0FBUyxDQUFDLFNBQVMsQ0FBQTtRQUUzQyxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUkscUJBQVksQ0FBQztZQUM5QixLQUFLLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLO1lBQzFCLFdBQVcsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLDBCQUFpQixDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsMEJBQWlCLENBQUMsVUFBVTtTQUNoSCxDQUFDLENBQUE7SUFDSixDQUFDO0lBRUQsTUFBTSxDQUFDLGVBQWUsQ0FBQyxPQUF5QjtRQUM5QyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ25CLE1BQU0sSUFBSSxtQkFBVyxDQUNuQixtQkFBVyxDQUFDLEtBQUssQ0FBQyxZQUFZLEVBQzlCLDhDQUE4QyxDQUMvQyxDQUFBO1FBQ0gsQ0FBQztRQUNELElBQUksT0FBTyxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ3hCLElBQUksT0FBTyxDQUFDLFdBQVcsS0FBSyxZQUFZLElBQUksT0FBTyxDQUFDLFdBQVcsS0FBSyxTQUFTLEVBQUUs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