UNPKG

pcp-server-nodejs-sdk

Version:

[![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?project=PAYONE-GmbH_PCP-server-nodeJS-SDK&metric=alert_status)](https://sonarcloud.io/summary/new_code?id=PAYONE-GmbH_PCP-server-nodeJS-SDK) [![Coverage](https://sonarcloud.io/api/pr

38 lines 1.51 kB
import { Headers } from 'node-fetch'; import { CommunicatorConfiguration } from '../CommunicatorConfiguration.js'; import { BaseApiClient, MERCHANT_ID_REQUIRED_ERROR } from './BaseApiClient.js'; const PAYMENT_INTENT_ID_REQUIRED_ERROR = 'Payment Intent ID is required'; export class PaymentIntentApiClient extends BaseApiClient { constructor(config) { super(config); } async createPaymentIntent(merchantId, payload) { if (!merchantId) { throw new TypeError(MERCHANT_ID_REQUIRED_ERROR); } const url = new URL(`/v1/${merchantId}/payment-intents`, this.getConfig().getHost()); const requestInit = { method: 'POST', headers: new Headers({ 'Content-Type': 'application/json', }), body: JSON.stringify(payload), }; return this.makeApiCall(url.toString(), requestInit); } async getPaymentIntent(merchantId, paymentIntentId) { if (!merchantId) { throw new TypeError(MERCHANT_ID_REQUIRED_ERROR); } if (!paymentIntentId) { throw new TypeError(PAYMENT_INTENT_ID_REQUIRED_ERROR); } const url = new URL(`/v1/${merchantId}/payment-intents/${paymentIntentId}`, this.getConfig().getHost()); const requestInit = { method: 'GET', headers: new Headers(), }; return this.makeApiCall(url.toString(), requestInit); } } //# sourceMappingURL=PaymentIntentApiClient.js.map