diff --git a/src/PaymentMethods/KlarnaKP/Models/IPay.ts b/src/PaymentMethods/KlarnaKP/Models/IPay.ts index d3a7b69..d7cdf8a 100644 --- a/src/PaymentMethods/KlarnaKP/Models/IPay.ts +++ b/src/PaymentMethods/KlarnaKP/Models/IPay.ts @@ -1,13 +1,32 @@ -import { IPaymentRequest, Person, ServiceParameter } from '../../../Models'; +import { IArticle, IPaymentRequest, Person, ServiceParameter } from '../../../Models'; +import Article, { IKlarnaKpArticle } from './Article'; export interface IPay extends IPaymentRequest { reservationNumber?: string; + articles?: Partial[]; } export class Pay extends ServiceParameter { set reservationNumber(value: string) { this.set('reservationNumber', value); } + + set articles(articles: IArticle[]) { + this.set( + 'articles', + articles.map((article) => new Article(article)) + ); + } + + protected getGroups() { + return super.getGroups({ + Articles: 'Article', + }); + } + + protected getCountable() { + return super.getCountable(['Articles']); + } } export class Customer extends Person {