@hipay/hipay-enterprise-sdk-nodejs
Version:
The HiPay Enterprise SDK for NodeJS is a library for developers who want to integrate HiPay Enterprise payment methods to any NodeJS platform.
49 lines (40 loc) • 1.89 kB
JavaScript
;
const AbstractPaymentMethod = require('./AbstractPaymentMethod');
const InvalidArgumentException = require('../../../Error/InvalidArgumentException');
class OneyCarteCadeauPaymentMethod extends AbstractPaymentMethod {
/**
* Creates an Oney Carte Cadeau Payment Method Object
*
* @param {Object} values
* @param {Object} values.payment_product_parameters Carte cadeau parameters
* @param {Number} values.payment_product_parameters.prepaid_card_number Carte cadeau number
* @param {Number} values.payment_product_parameters.prepaid_card_security_code Carte cadeau security code
*/
constructor(values) {
super();
if (typeof values !== 'object') {
values = {};
}
if (Object.hasOwn(values, 'payment_product_parameters')) {
if (typeof values.payment_product_parameters === 'object') {
if (!Object.hasOwn(values.payment_product_parameters, 'prepaid_card_number')) {
throw new InvalidArgumentException('Card Number must be present');
}
if (!Object.hasOwn(values.payment_product_parameters, 'prepaid_card_security_code')) {
throw new InvalidArgumentException('Card Security Code must be present');
}
this.payment_product_parameters = JSON.stringify({
prepaid_card_number: values.payment_product_parameters.prepaid_card_number,
prepaid_card_security_code: values.payment_product_parameters.prepaid_card_security_code
});
} else {
this.payment_product_parameters = values.payment_product_parameters;
}
}
}
initValues() {
super.initValues();
this.payment_product_parameters = null;
}
}
module.exports = OneyCarteCadeauPaymentMethod;